Subscriptions
Sell products by subscription with the selling plans of a Shopify subscription app, show plan prices, and know what works with boxes and add-ons.
A subscription lets the customer receive a product again and again: coffee every two weeks, supplements every month. The plans come from a subscription app on Shopify. Smootify shows them on the product, sells them, and lets customers manage their subscriptions from their account. This page covers the plan picker, prices with plans, and what you can and cannot do with boxes.
Note
The store needs a subscription app installed on Shopify. The app creates the selling plans (such as “Every 2 weeks, 10% off”) and attaches them to products. Smootify shows and sells the plans; it does not create them.
How it fits together
In Shopify, plans come in groups: a group such as “Subscribe and save” holds one or more plans, such as “Every 2 weeks” and “Every month”.
- On the product page,
subscription-swatcheslets the customer choose between a one-time purchase and a plan. It is built on a Webflow Tabs element: one tab for the one-time purchase, one tab per group, one Radio button per plan. - The prices on the page follow the chosen plan.
- The chosen plan goes to the cart with the line, and the customer pays at the usual Shopify checkout.
- In the account, the customer sees, pauses, resumes and cancels subscriptions: see subscriptions in the account.
1. The plan picker
Inside smootify-product, usually in the add-to-cart Form, add a Custom element with the tag subscription-swatches and put a Webflow Tabs element inside it.
What Smootify does with the Tabs:
- The first tab and pane are the one-time purchase. Clicking the tab removes the plan.
- The second tab and pane are the template of a group: Smootify copies them once per group and removes any other tab you designed.
- In the template pane, the first Radio button is the template of each plan. Its label takes the plan’s name. Use Webflow’s Radio Button element (
w-radio, with its Field Label): a radio you build from a Div and a custom input is not repeated, and its plan never reaches the cart. - Clicking a group’s tab chooses that group’s first plan, so the price changes at once; the radios then change the plan. When one of the group’s plans is already chosen, the tab keeps it.
- Prices inside the tabs and radios. A
smootify-priceinsidesubscription-swatchesshows the price of its own option, whatever plan is chosen: in the one-time tab or radio the price without a plan, in a group’s tab the price of the group’s first plan, with the full price struck through. The product’s main price follows the choice. subscription-group="name"in the tab shows the group’s name.
The picker shows only the plans the selected variant can use, and changes with them. Design these four cases:
A group with several plans
- Tab
- The group's name, from
subscription-group="name". - Pane
- One Radio button per plan.
- Class
more-optionson the tab and pane. Elements withgroup-condition="more-options"on or inside them show.
A group with one plan
- Tab
- The plan's name instead of the group's. A click on the tab chooses the plan.
- Class
one-optionon the tab and pane. Elements withgroup-condition="one-option"on or inside them show.
A product sold only by subscription
- One-time tab
- Removed, with its pane.
- Starts on
- The first plan.
No plan for the selected variant
- Picker
subscription-swatchesis removed, when the product or the selected variant has no plan.- Groups
- A group without a plan for the selected variant is dropped.
Start on a plan. auto-select-plan with a group’s name chooses that group’s first plan when the page opens. Add auto-select-index to choose another plan of the group: 1 is the second. See subscription-swatches.
What is up to you: the look of the tabs and radios, the texts, and whether you show the group names at all.
2. Prices with plans
Every smootify-price of the product follows the chosen plan, except one with data-ignore="subscription-swatches", which keeps the one-time price. Here, a coffee costs $20.00, and its plans take 10% off every 2 weeks and 5% off every month:
One-time purchase
- Prices
- The one-time price: $20.00.
- Shows
condition="no-subscription"
A plan chosen
- Prices
- The plan's price, $18.00. With a discount,
data-prop="compareAtPrice"shows the one-time price. - Radio buttons
- Each shows its own plan's price.
- Kept
- A
smootify-pricewithdata-ignorestays at $20.00. - Shows
condition="subscription", andsmootify-productgetshas-subscription.
The prices and the line under them, as in the second card:
When a plan changes its price after some deliveries, the page shows the first price.
To show the store’s subscription policy, add policy="subscription" to a Rich text element: see policies.
3. Cart, checkout and account
- In the cart, a subscription line gets the class
is-subscription, and the plan’s name is listed with the line’s options (cart-item="options"). - The customer pays at the usual Shopify checkout.
- The customer manages subscriptions in the account: see subscriptions in the account.
- The buy-again button of the order pages adds subscription products back as one-time purchases.
Warning
A cart with a price set by name your price or the product configurator checks out through a Shopify draft order. Subscription lines do not go into that order, and the cart is emptied when the customer leaves for the invoice. Keep subscriptions and custom prices in separate orders.
4. Boxes and subscriptions
A box built with Magic Box cannot be sold as a subscription: it becomes one line at checkout through a Shopify function that merges cart lines. Two other ways to sell a box take plans, the second with fields such as dynamic properties:
A Magic Box
- Plans
- No. Shopify does not merge lines that have a selling plan, and the box needs that merge to be one line.
- Same for
- A product with add-ons sent as one line: it uses the same merge.
Ready-made boxes
- In Shopify
- Each box is a product of its own, with selling plans.
- Plans
- Yes, like any product.
- The free choice
- Stays a one-time Magic Box.
One box product, choices as fields
- In Shopify
- One product with selling plans. The customer writes or picks the contents in fields of its form, which travel with the line.
- Price
- One price for the box: every product the customer can choose must cost the same.
- Stock
- Shopify sells the box: the chosen products' stock does not go down. The merchant needs a Shopify Flow workflow, or another tool, to lower it.
Add-ons. A product with plans and add-ons sells the add-ons only with the one-time purchase. While a plan is picked, the add-on pickers take is-disabled and the add-ons stay out of the cart.
Before you publish
Check these first
- The subscription tab changes nothing, and only one plan shows. The plan template is not a Webflow Radio Button. Replace it with one, keep its classes, and put the plan’s name in its Field Label.
- The plan picker disappears. The product, or the selected variant, has no selling plan. Plans come from the subscription app on Shopify.
- The one-time tab disappears. The product can only be bought by subscription.
- A tab shows a plan’s name instead of the group’s. The group has only one plan: the tab shows that plan and chooses it. Use
group-conditionto design that case. - A box sold with plans does not reach checkout as one line. Shopify does not merge lines that have a selling plan. Use ready-made box products instead.
- The add-ons are not added with a plan. Add-ons go only with the one-time purchase: style the pickers’
is-disabledclass so the customer sees it. - A subscription is missing from the order. The cart also had a custom price and went through a draft order, which leaves subscription lines out.