Submarine subscription configuration options

These configuration options target the subscription behaviour of Submarine, and are configured as part of the initial installation and set-up process. If any of the configuration options need to change following Submarine's launch on the store, a support request is needed for Disco Labs to action.

Subscription configuration

Note: default configuration option is denoted in bold

allow_free_subscriptionsWhether carts with a $0 value can be converted to free subscriptions.- true
- false
allow_subscription_creditWhether subscription credit can be used when charging for subscription orders.- true
- false
always_recalculate_shipping_ratesBefore processing subscription orders, allows reach out to Shopify to get up-to-date shipping and tax rates.- true
- false
automatic_unpause_enabledA daily cron job finds all customer payment methods that have been created in the last day, looks for a corresponding subscription that has failed capture and swaps out the failing payment method with the new one. This option opts in to that behaviour.- true
- false
code_discounts_recurrenceIndicating whether discounts applied from a discount code to the first order a customer places will be applied to future subscription orders (optionally allowing for ongoing validation). If the validation option is chosen, Submarine will validate the code against its' expiry date and if there is a usage limit in place.- all_items
- all_items_with_validation
- no_items
enforce_one_subscription_policyDescribing whether customers can have more than one active subscription. Default is to allow multiple subscriptions (ignore option). If set to pause or cancel, whenever a subscription becomes active, all other subscriptions for that customer will be automatically paused/cancelled. This will be triggered on the creation of a new subscription and on resuming a subscription.- ignore
- pause
- cancel
exclude_unavailable_variantsIndicating whether unavailable items (caused by either the Shopify variant has been deleted or the parent product unpublished) should be excluded from subscription orders.- true
- false
failed_capture_retry_frequencyThe period between attempts to capture failed payments. Defaults to: 7_days.
failed_capture_retry_limitThe maximum number of times Submarine attempts to capture payment for a subscription order. If the final attempt fails, the subscription is paused. This setting is the total number of payment failures allowed on a subscription order, not the number of ‘retries’. Defaults to 3.
failed_capture_retry_timeThe time of day that failed payments should be retried, in the shop's time zone. If not set (the default), the retries correspond to when the last payment attempt failed.
free_shipping_code_filterIf a discount code matching this filter is found on the source order (and shipping_discounts_recur is true), the subscription shipping discount percentage will be set to 100%.
include_all_items_in_subscriptionIf all items in a cart should be included in a subscription when a frequency is defined, then this should be set to true. This setting needs to be confirmed via a checkout note attribute.- true
- false
item_status_tracking_whitelistTo avoid a slew of unnecessary Flow triggers being fired, the subscription_item_status_updated trigger is opt-in. This setting defines a whitelist of variant IDs that should be considered when firing the trigger.
line_item_property_filterA regular expression defining which line-item properties should be persisted from the original order to each generated subscription order. Defaults to all of them.
note_attributes_filterA regular expression defining which note attributes should be persisted from the original order to each generated subscription order. Defaults to none of them.
order_hour_of_dayIf set, ensures that subscription orders are scheduled for the given hour of the day (in the shop's time zone).
reminder_hour_of_dayThe hour of day (in the shop's time zone) that the upcoming subscription-order reminder notifications will be scheduled for. Defaults to 0.
reminder_lead_time_daysHow many days before the order is scheduled that the upcoming subscription-order notifications will be fired. Multiple values are allowed. Defaults to 2.
script_discount_filterA regular expression defining what text a script discount title should match. Defaults to '*' (match anything)
script_discounts_message_delimiterDefines a character or string that is used to separate the script discount message/description between text for the customer and information to pass through to Submarine

E.g. message: "10% off until the end of May! | ends_at: '2021-05-31', usage_limit: '5', value_type: 'percentage', value: '10'"
The | character can be used as the delimiter and Submarine will parse the information that comes after it.

NB. Message is the term used in the Shopify Script Editor app. In Submarine, its equivalent is description.
script_discounts_recurrenceIndicating whether discounts applied by Shopify Scripts to the first order a customer places will be applied to future subscription orders.- no_items
- original_items
- all_items
shipping_discounts_recurIndicates whether discounts applied to shipping lines will be applied to future subscription orders.- true
- false
subscription_frequency_policyDetermines how the subscription frequency is defined for carts that contain at least one subscription item. Either one frequency is set for all items (as a note attribute) or frequencies are defined at the line-item level (via a line-item property). For the latter case, merchants have the option of Submarine creating a subscription for each individual line item, or grouping the items by the frequency and building subscriptions for each unique value.- order
- single_item
- grouped_items
subscription_order_prices_synchronisedIf true, Submarine will update subscription-order items whenever the price of the associated Shopify variant changes. Note that prices can go in either direction.- true
- false