Subscriptions is supported in your catalog by a set of product attributes. These attributes must be applied to a product type before the subscription configuration options are available for any individual product. Once products are enabled for subscriptions, you can set their subscription pricing.
In order for any individual product to be enabled for subscriptions and/or trial periods, the relevant attributes must be enabled on its product type first. These are all property attributes viewable at System > Schema > Product Attributes.
- Subscription Mode: Allows a product to be enabled for either subscription-only purchase or both subscription and one-time purchase. If enabled, the Subscription Frequency is required to be set up as well.
- Subscription Frequency: Determines the frequency options for the subscription. There are many possible values included by default, from weekly to annual, and any number of these values can be enabled on an individual subscription product. These default options are the only ones currently supported, as custom frequencies cannot be added without additional development.
- Trial Days: A number attribute that allows you to configure how many days a particular product is offered for a trial period, between 1 and 365.
- Trial Product Code: A text attribute that allows you to specify a product code being offered for trial. This can be any product in the catalog.
- Trial Product Variation Code: A text attribute that allows you to specify a variation product code being offered for trial. This can be any product in the catalog, but if a variant product code is selected then a Trial Product Code is also required.
These attributes are included out-of-the-box and do not have to be set up from scratch. But for more information about attributes in general, see the Product Attributes guides.
Configurable Bundle Attributes
Additional attributes are also required for subscriptions to support configurable bundles, which are sets of products that are ordered together as a single item.
While there is a "Bundle" product usage type, configurable bundles for subscriptions are instead made by creating a "Standard" parent product with the bundled items as extras. Text or Boolean extras will remain associated to the parent product in a shipment, but product extras can be split into additional line items. Then, the following property attributes should be toggled to determine the behavior of the product extras in a subscription.
- Distribute Pricing to Extras on Shipment Creation: Splits the price of the bundle between all product extras at the shipment level. These extras carry over to a shipment as individual line items, but are still displayed as one bundled item in the subscription and order details. This can only be enabled if the product's subscription mode is selected and the product has a nonzero price.
- Separate Product Extras During Subscription Creation: "Flattens" the bundle into separate line items when creating the subscription. Each product extra will be displayed and treated as individual line items on the subscription and order details (causing discounts, tax, and shipping refreshes to consider them separately). This can only be enabled if Distribute Pricing to Extras on Shipment Creation is also active.
- It is recommended for a flattened extra to be a single product instead of a product with multiple variations (such as a shirt with red and blue variations).
You must assign extras to the parent product in order to create configurable bundles.
Each product extra must be enabled for subscriptions in its product settings and have an individual price of $0 (because the total bundle price is set on the parent product and then distributed).
Enable Product Types for Subscriptions
Using those product attributes, you have to enable product types for subscriptions before configuring subscription options for the individual products. At System > Schema > Product Types, you can apply these property attributes to any existing or new product type.
For example, the below ProductWithSubscriptionAttribute product type includes all five attributes. This means that any product belonging to the ProductWithSubscriptionAttribute type is able to be configured for subscription-only, subscription and one-time purchase, a trial period, and any of the default frequencies.
The difference between "1 Month" and "30 Days" frequencies is that the 1 Month option preserves the date so that orders are placed on the same day every month (such as July 15, August 15, September 15, and so forth). Meanwhile, a 30 Day frequency counts exactly 30 days between orders.
Similar differences apply between other similar options, such as "4 Weeks" and "1 Month." A week counts as exactly 7 days.
Configure Products for Subscriptions
Once the product type supports subscriptions, you can enable subscriptions at the product level and select the subscription, frequency, and trial options that are offered for each product. This also applies to bundled products, which are treated as one product and can be subscribed to as one.
- Go to Main > Catalog > Products.
- Select the product you want to offer subscriptions for.
- Go to the Properties configuration tab.
- Set the Subscription Mode to enable the product as either a subscription-only product (if this is selected, then one-time purchases will not be allowed for this item) or allow both subscription and one-time purchases.
- If a subscription mode is enabled, then you are required to set available frequencies. Use the Subscription Frequency drop-down to select one or more frequencies for the product. The customer will be able to choose between these options when signing up for the subscription.
- If you want to enable trials for the product, enter the trial period length in Trial Days and the alternate Trial Product Code to be used for the trial version of the product. You cannot set a product code without configuring Trial Days.
- If applicable, you can also enter the Trial Product Variation Code if you are offering a variation of the base product for trial. If you select a variation code, then you are required to have also selected a Trial Product Code and Trial Days.
- Click Save.
This example shows a product that is enabled for both one-time purchases and subscriptions at a frequency of 1 Month, 3 Months, or 6 Months, and also offers a week-long trial period. If you do not want to offer a trial period on that particular product, you can simply leave those attributes blank.
Configure Subscription Pricing
You must use price lists to manage subscription product pricing at Main > Catalog > Price Lists . Price lists are stored on a subscription at creation, meaning that the price of a product in a subscription will remain the same until the price list is updated. This ensures that product pricing remains consistent with what the shopper originally subscribed for, even if the default product price is changed in the catalog.
Price lists for configuring subscription pricing should always be made under an empty parent price list. This allows you to tie subscription discounts to the parent price list, so that all price lists will inherit that discount and you won't have to link the discount to every individual price list.
The below "FlashSale" price list contains the Facewash subscription product:
After clicking one of the products, there are separate configuration fields for the one-time purchase Price and Sale Price as well as the Subscription Price and Subscription Sale Price. These settings will override the default catalog pricing and allow you to offer the product at a reduced rate if purchased as part of a subscription rather than a one-time purchase.
You must select the checkbox next to the field in order for your entered value to be used as the override, and if you select either the one-time or subscription Price checkbox then it cannot be left blank. However, if you select the checkbox for one-time or subscription Sale Price and don't enter a value, then the catalog sale price will not be used either - this product will effectively have no sale price. If a checkbox is not selected, then the item will use the catalog price or sale price.
You do not have to enter a value in the Price field if you want the one-time purchase price to default to the price set in the product catalog. In the above example, the catalog price is $10.00 and the price list's one-time purchase price is $9.00. If you left the Price field blank, then one-time purchases would default to the base catalog price of $10.00.
For more details about using price lists, see the Price Lists guide.
Other Site Settings
Optional configurations are also available under the Subscriptions tab on System > Settings > General.
- If you enable Order Now Resets Next Order Date, the next order date will be reset based on the current date and frequency whenever the Order Now action is performed on a subscription. If disabled, the next order date that already exists will remain unchanged. This is enabled by default.
- If you enter a number for Create Continuity Order _ Days Before Next Order Date, continuity orders will be created that many days before the next order date. If left blank, continuity orders will be created on the next order date.
- If you enter a number for Update Next Order Date Up to _ Days From Existing Next Order Date, the next order cannot be set any further out than this limit when the date is manually updated. For example, if the date is August 24 and the next order date is September 2, and this configuration is set to 7 days, the next order cannot be changed to any date later than September 9. You will not be able to extend the next order date again until the next continuity order is placed, though it can be moved closer.
- If you enter a number for Pause Subscription for _ Continuity Orders, a paused subscription will be automatically reactivated after that many continuity orders have passed and cannot be paused again until the next continuity order is placed. It can still be manually reactivated at any point before this limit is reached. If left blank, the subscription will remain paused indefinitely until manually reactivated.
- If you enter a number for Skip Subscription _ Times, the ability to skip a continuity order will be disabled once that amount of skips has been made in a row. When this happens, a continuity order must be placed before the subscription can be skipped again.
- If you enter a number for Send Subscription Reminder _ Days Before Next Order, the subscription order reminder email will be sent to customers this many days before their next order. This email template must also be enabled in the Email section of the site settings.
- If you enter a number for Send Email _ Days Before Paused Subscription is Re-Activated, the subscription pause limit reached email will be sent to customers this many days before their paused subscription is automatically re-activated.
- If you enter a number for Send Email Reminder Every _ Days for Paused Subscriptions, the recurring subscription paused reminder email will be sent to customers at this interval until the subscription is reactivated.