How to Add Subscription Options to Shopify Products
A step-by-step guide to adding subscriptions to Shopify products: eligibility, selling plans, frequency, customer portal, and what to test first.
Table of Contents
Subscriptions are not a switch you flip in Shopify settings. Shopify provides the underlying framework, but the offer itself, the billing schedule, the customer portal, and the recovery logic when a payment fails all come from a subscription app connected to your store. That is good news, because it means you can start small. You do not need to rebuild your catalog or convert your whole store to a subscription model. You can add a subscription option to a handful of products where repeat purchase already happens naturally, see how customers respond, and expand from there.
This tutorial walks through the whole path: confirming your store is even eligible, choosing the right model for the product, building the selling plan, attaching it to products, setting up self-service, and what to test before you let real customers subscribe.
Step 1: Confirm Your Store Is Eligible
This is the step most merchants skip, and it is the one that can stop a launch before it begins. Shopify sets requirements that apply across all subscription apps, so no app can work around them.
Payment gateway. Your store must use a payment gateway that supports subscriptions. Shopify Payments is the most straightforward option, and it comes with a practical advantage: automatic card updates, which reduce failed payments when a customer's card is reissued. Customers can also pay through accelerated checkouts such as Shop Pay, Apple Pay, Google Pay, or PayPal, although Shopify notes that Apple Pay support for subscriptions is limited to Visa and Mastercard. Gateway availability varies by region, so check what is actually enabled on your store rather than assuming.
Sales channels. Subscription products work on the online store, Shopify POS, Shop, and custom storefront channels. If your plan depends on selling subscriptions through another channel, verify support before building the offer.
Known limitations worth knowing up front:
- Subscriptions cannot be used with draft orders.
- Gift cards used to pay for a subscription apply only to the first payment.
- Shopify Scripts that discount subscription costs or shipping rates also apply only to the first payment.
- Automatic discounts created in the Discounts section of your admin can apply to subscription orders on an ongoing basis.
That last pair matters more than it might seem. If you plan to give subscribers a standing discount, the mechanism you choose determines whether it survives past the first order.
Step 2: Choose the Model Before You Build Anything
Shopify's framework is built around selling plans, which define the pricing, billing frequency, and delivery schedule for a subscription offer. Two models cover most stores:
Subscribe and save, also called pay per delivery. The customer is charged each time a delivery goes out. This is the default choice for consumables and the easiest for customers to understand, because the commitment feels small: they can stop at any point and they have only paid for what they received.
Prepaid. The customer makes a single payment upfront and receives deliveries on a schedule until the order is fulfilled. Cash flow arrives sooner and cancellation risk drops, but the initial price is higher, which usually means fewer people start.
There is no universally better option. A useful rule: if you are trying to convert first-time buyers into repeat customers, subscribe and save lowers the barrier. If you already have loyal customers who buy the same thing repeatedly, a prepaid option can reward them and improve cash flow at the same time.
Step 3: Set Frequency to Match Actual Consumption
This step deserves its own attention, because getting it wrong is the most common reason subscriptions get paused or cancelled in the first three months. For consumable products, the frequency should follow how long one unit actually lasts, not what looks tidy in a dropdown. If a bag of coffee lasts a heavy user two weeks and a light user six, a single 30-day option will be wrong for both.
Practical approach:
- Work out the realistic consumption window for the product, ideally from repeat purchase data you already have rather than a guess.
- Offer two or three frequencies around that window, not eight. Too many options push the decision back onto the customer at exactly the moment you want them to commit.
- Make the most common frequency the default, and label it plainly ("every 4 weeks") rather than in abstract units.
- For products where usage varies a lot between customers, prioritize making frequency easy to change later over getting the initial guess perfect.
For non-consumables, the logic is different: frequency follows a replenishment or seasonal cycle (filters, blades, pet supplies, seasonal skincare) rather than daily use.
Step 4: Build the Selling Plan
With the model and frequency decided, create the selling plan in your subscription app. A selling plan brings together three policies: delivery (how often the product ships), pricing (what the customer pays, including any subscriber discount), and billing (when and how often the charge happens).
Decisions to make deliberately here:
- Discount size. A subscriber discount is a permanent margin decision, not a promotion. Model what it costs across a full subscription lifetime before choosing a number, and if your app also charges a usage fee on top of its monthly price, include that too. Both a subscriber discount and any usage fee are permanent deductions from the same recurring revenue, and it is easier to price the offer correctly once than to raise it later on existing subscribers.
- Discount mechanism. Given the caveats in Step 1, confirm your discount applies on every renewal rather than only the first payment.
- Shipping. Recurring orders need shipping rates that work every cycle, not just the first one.
- Minimum commitment. If you require a minimum number of cycles, say so clearly on the product page. Discovering a commitment after checkout is one of the fastest ways to generate a support ticket and a chargeback.
Step 5: Attach the Plan to Products and Variants
Once the plan exists, attach it to the products it applies to. Two decisions here shape the customer experience more than any styling choice:
Subscription-only or both options? Offering both a one-time purchase and a subscription on the same product page is the safer default for most stores: customers who are not ready to commit still convert, and the subscription option does its work on the customers who are. Subscription-only makes sense when the product genuinely does not work as a single purchase.
Which variants? If you sell multiple sizes, be deliberate about which ones carry a subscription option. Subscribing to a trial size rarely makes sense; subscribing to the size a regular customer actually reorders does.
A note on bundles: subscription support for bundles can vary by app and setup, so if bundled subscriptions are part of the plan, check what your specific app supports before designing the offer around them.
Step 6: Set Up the Customer Portal
Once a subscription exists, the customer needs somewhere to manage it: skip a delivery, swap a product, change frequency, update payment details, or cancel. This is not a nice-to-have. Every action a customer cannot take themselves becomes an email to your support inbox, and a customer who cannot find how to pause will often cancel instead.
There is also a compliance dimension with a deadline attached. Subscription experiences with buyer-facing self-service need to authenticate through Shopify's Customer Account API, and stores that miss this risk losing Built for Shopify status. We cover what that means in detail in our guide to the Customer Account API deadline - worth reading before you finalize your portal setup, not after.
Setting This Up in Progus Subscriptions
Now that the main setup decisions are clear, here is how the same workflow maps to Progus Subscriptions before you test the full subscription flow.
The app opens on a four-task setup guide that follows roughly the order used in this tutorial: add subscription plans, add the subscription widget, let customers manage subscriptions, and preview the result in your store. Above it, the dashboard shows MRR, new subscriptions and cancellations over the last 30 days, and upcoming orders for the next 7 days.
Check the plan tiers first, because they gate a few of the steps below, though fewer than you might expect. The app has four plans, differentiated mainly by a subscription-revenue ceiling, with no usage fee on any of them:
- Free ($0): up to $500/month in subscription revenue. Free is more generous than it sounds: it includes recurring and prepaid plans with every discount type, the full customer portal (swap, reschedule, address, frequency), failed-payment recovery with your own retry rules, full analytics plus the monthly report email, editable email templates and widget translations, local EU payments via Mollie (iDEAL and Bancontact), and CSV import/export with free migration. Most of what this tutorial describes is available here.
- Growth ($29/month): up to $10,000/month in subscription revenue, adding retention offers at cancellation (skip, discount, swap), add-on groups, product swap rules, tag automations, Clubs and curated editions, Klaviyo integration with profile sync, and premium widget layouts with cancellation insights.
- Pro ($99/month): up to $100,000/month in subscription revenue, with all Growth features included.
- Business ($399/month): unlimited subscription revenue, with every Pro feature included. This is the plan for subscription businesses operating at full scale, where the revenue cap on Pro would otherwise be the constraint.
The practical takeaway: retry rules, the full customer portal, analytics, and Mollie are all on Free, so a store can launch a complete subscription program without paying, and moves up to Growth mainly for retention offers, add-ons, swap rules, and Clubs once revenue or the need for those features grows.
Creating the plan
Under Plans, you can either generate plans with AI or create them manually. A plan contains:
- Products, selected at variant level. A plan can cover all variants of a product or only the sizes customers actually reorder, which is the practical version of the decision in Step 5.
- A "sell selected products only as subscriptions" checkbox. Read this one twice before ticking it: the app states that it updates the selected products in Shopify, not only within this plan, so the one-time purchase option disappears everywhere those products appear.
- One or more options per plan. Each option carries its own delivery frequency (a number plus days, weeks, or months), an optional discount, optional free shipping, an optional custom plan name, and a prepaid toggle. One option can be marked as the default, which is how you implement the "make the most common frequency the default" advice from Step 3.
- A discount type. Percentage off, fixed amount off, or a fixed price. There is also a setting to change the discount after a defined number of orders or payments, which is exactly the mechanism for running a higher first-order incentive alongside a lower ongoing rate.
A live widget preview sits beside the form, so you can see the customer-facing result while configuring rather than after publishing.
Choosing the widget layout
Under Subscription widget, six layouts are available - they differ mainly in how the one-time and subscription options are compared.
Letting customers manage subscriptions
This task has a prerequisite that is easy to miss: three customer-account blocks must be added in the theme editor, namely a subscription management page, an order-menu action, and a thank-you-page block. The app checks every few seconds and marks the task complete only once all three are active.
Permissions then live in Settings → Customer portal as individual toggles across three groups: subscription actions (pause, resume, cancel, edit delivery frequency, edit delivery method, edit shipping option, edit payment information, add a new subscription), product actions (swap, add, remove products, plus an option to block product edits until a minimum number of payments), and upcoming-order actions (order now, skip, reschedule, add or remove one-time products, edit shipping address, plus the same minimum-payments gate for skipping).
Not everything is on by default, so review the portal permissions deliberately instead of assuming the defaults match your retention strategy. Skip and pause are usually worth enabling early, since they are the two options that most reliably prevent cancellations. Frequency editing deserves a deliberate decision rather than being left off by accident, because it is the fix for the consumption mismatch described in Step 3.
Retry rules
Settings → Retry rules separates retry logic into two different failure reasons: payment method errors and insufficient inventory. That distinction matters because the store should not respond to both problems in the same way.
A payment method error usually means the customer needs to update or retry payment, so the retry flow is about recovery and communication. Insufficient inventory is different: the customer has not done anything wrong, and the better response may be to skip, or notify rather than treat the subscription as failed. Separating those two reasons helps the store handle failed renewals more accurately instead of applying one generic retry rule to every problem.
Integrations
Settings → Integrations lists the available connections for extending subscription data beyond the app itself. In Progus Subscriptions, the available integrations include Klaviyo, Shopify Flow, and Mollie.
Day-to-day views
Once subscriptions exist, four views carry the operational work. Subscriptions shows subscription contracts, Orders shows upcoming and processed subscription orders, Subscribers groups subscription activity by customer, and Analytics helps track performance across subscriptions, orders, payments, and retention.
Step 7: Test Before Real Customers Arrive
A subscription is a recurring commitment, so a broken flow repeats itself every cycle. Test these before launch:
- A complete subscription purchase, end to end, with a real payment method.
- Confirm the subscription contract is created in your admin after checkout.
- A mixed cart containing both a subscription product and a one-time product. This combination is where checkout rules and validation logic often surprise merchants, so it is worth confirming the cart behaves correctly before launch rather than after a customer hits the edge case.
- Every action in the customer portal: skip, swap, frequency change, payment update, cancel.
- The renewal itself, or a simulated renewal if your app supports it.
- What happens when a payment fails: retries, notification timing, and how the customer is told.
- The subscription option on mobile, including how frequency is displayed and selected on a small screen.
- Notification emails, read as a customer rather than as the person who wrote them.
Track results in plain language: did the rule work, did the customer see a clear message, did the order appear correctly, would support know how to explain what happened.
Step 8: Watch the Right Numbers After Launch
Adding subscriptions is the easy part. Keeping subscribers is where the revenue actually is, and the early signals are worth watching closely:
- Subscription conversion rate on product pages that offer both options
- Cancellation rate and, more usefully, cancellation reasons
- Pause and skip rate, which often signals a frequency mismatch rather than dissatisfaction
- Failed payment rate and how much of it recovery flows actually recover
- Average subscription lifetime, once you have enough cycles to measure it
- Support tickets about subscriptions, grouped by what customers could not do themselves
If pauses and frequency changes cluster in the first two cycles, the frequency options from Step 3 are probably wrong, and that is a fixable problem. For the full picture of keeping subscribers active once they have signed up, see our guide to subscription retention, and for the cancellation moment specifically, how to build a save flow that beats a discount.
Pre-Launch Subscription Checklist
Your subscription setup is ready when:
- gateway eligibility is confirmed on your actual store, not assumed
- the model (subscribe and save or prepaid) matches how customers really buy the product
- frequency options are based on consumption data, with a sensible default
- the subscriber discount has been verified to apply on renewals, not only the first payment
- both one-time and subscription options are available, unless there is a clear reason not to
- the customer portal supports skip, swap, frequency change, payment update, and cancel
- portal authentication meets the Customer Account API requirement
- a full purchase, a mixed cart, a renewal, and a failed payment have all been tested
- someone owns the post-launch review of cancellation and pause data
Final Thoughts
Adding subscriptions to Shopify products is less a technical project than a series of small decisions that compound: which products, which model, which frequencies, how much self-service, and what happens when a payment fails.
The stores that get this right rarely launch with the most options. They launch with a small, well-chosen offer on products customers already rebuy, make it easy to change or pause, and then let real cancellation and pause data tell them what to adjust. If recurring revenue is part of your plan for this store, Progus Subscriptions can handle the selling plans, customer portal, and payment recovery side of that setup.
Frequently Asked Questions
Can I sell subscriptions on Shopify without an app?
No. Shopify provides the underlying framework, including selling plans and subscription contracts, but the merchant-facing configuration, customer portal, and failed-payment recovery come from a subscription app connected to your store.
What payment gateway do I need for Shopify subscriptions?
You need a gateway that supports subscriptions; Shopify Payments is the most common choice and includes automatic card updates, which reduce failed payments when cards are reissued. Availability varies by region, so check what is enabled on your store. Some local payment methods cannot be used for subscription purchases.
What is the difference between subscribe and save and prepaid?
With subscribe and save, also called pay per delivery, the customer is charged for each delivery as it ships. With prepaid, the customer pays once upfront and receives deliveries on a schedule. Subscribe and save lowers the barrier to starting; prepaid improves cash flow and reduces cancellation risk but converts fewer first-time buyers.
Should I offer a subscription on every product?
Usually not. Start with products where repeat purchase already happens naturally, such as consumables and replenishables. A subscription option on a product nobody rebuys adds clutter to the page without adding revenue.
Can I test subscriptions before paying for an app?
Usually yes, and it is worth doing. Progus Subscriptions includes a free plan covering up to $500/month in subscription revenue, with the subscription widget, full self-service portal, recurring and prepaid models, failed-payment recovery, analytics, Mollie for local EU payments, and CSV import/export included. Paid plans become relevant as revenue grows or when you need retention offers, add-ons, swap rules, Clubs, deeper integrations, or higher revenue limits.
Will my subscriber discount apply to every order?
That depends on how you configure it. Automatic discounts created in your admin's Discounts section can apply to subscription orders on an ongoing basis, while gift cards and Shopify Scripts apply only to the first payment. Verify this on a test renewal rather than assuming.