Selling subscriptions on Shopify isn't hard once you understand the moving parts: a subscription app, a selling plan attached to your products, a widget on the product page, and Shopify's native checkout doing the recurring billing. The order matters. Skip a step and you'll either show prices that don't match the cart, take orders you can't actually charge next month, or wake up to a chargeback because California's auto-renewal law says your sign-up flow had to disclose the renewal price in a specific way and it didn't. This guide covers every step in the order you should do them, plus the operational questions (tax, stockouts, legal disclosure) that most first-month guides skip and that show up in month two anyway.
What you need before you install anything
Get your fulfillment story straight first. Decide the cadence (weekly, every 2 weeks, monthly), whether you'll discount the subscription vs one-time purchase, and how you'll handle stockouts on a renewal day. You also need Shopify Payments or another gateway that supports vaulted cards — most third-party gateways don't, and you'll find out the hard way on the first billing cycle when the renewal can't charge because no payment method is stored.
Think about the operational side too. Subscriptions concentrate fulfillment on specific dates (most stores see a renewal-day spike on the 1st and 15th). If you ship from a 3PL with same-day cutoffs, talk to them before you launch — a 200-order spike on a Monday morning is great revenue and a fulfillment nightmare if your warehouse is set up for steady-state volume.
- A list of products that actually make sense as subscriptions — consumables, not one-off items
- Shopify Payments enabled, or a gateway with stored payment-method support (Shopify's docs list which gateways qualify)
- A clear discount policy: percentage off, free shipping, or first-order incentive
- A plan for stockouts on renewal days — skip, substitute, or notify?
- A 3PL or in-house fulfillment that can absorb a renewal-day spike (typically 1st of month)
- A starter cancellation policy you can legally point to (most US states require it)
Customers get confused when a one-time gift item shows a "Subscribe & Save" option. Only attach selling plans to products that genuinely renew — consumables (coffee, supplements, pet food), refills, and curated boxes. A clean catalog where 30-40% of SKUs have subscriptions outperforms a messy catalog where 100% do.
Pick a subscription app and install it
The app is what creates selling plans, runs the cron jobs that bill customers, and gives shoppers a portal to manage their subscriptions. Loop and Recharge are the well-known options; SimpleSubscription is the leaner, flat-fee alternative if you don't need the enterprise feature bloat. Whatever you pick, make sure it uses Shopify's native subscription contracts API (introduced in 2021 and now the only supported way) and not deprecated legacy billing.
The pricing model matters more than most merchants realize at install time. Apps that charge a percentage of subscription revenue (Recharge: 1.49% + 19¢, Loop: 1%, Skio: 1% + 20¢) feel cheap at $5k MRR and brutal at $50k MRR. At $50k MRR Recharge is taking $745+/mo on top of their monthly subscription. A flat-fee app at $79–299/mo is significantly cheaper past about $8k MRR. Do the math on your year-2 trajectory, not your week-1 cost.
- Uses Shopify's native Subscription Contract API (not a parallel billing system)
- Native customer portal (subscribers shouldn't bounce to a third-party domain)
- Transparent flat pricing — transaction fees compound fast at $20k+ MRR
- Free migration if you're switching from another app
- Active product development (check changelog/release notes — abandoned apps are a known risk in this category)
Pricing your subscription: the math that actually matters
Most first-time merchants pick a discount by gut feel — "10% sounds right." That works only if your margin can absorb it. The real question is whether the lifetime margin from a subscriber exceeds the lifetime margin from a one-time buyer after the discount.
A rough heuristic: if your gross margin is 60% and you offer a 10% subscription discount, you're giving up 10/60 = 16.7% of your margin per order in exchange for predictable recurring revenue. That trade is worth it if subscribers stay 4+ orders on average (typical median: 5-8 orders for consumables, 12+ for coffee/supplements). If they churn at 2 orders, you've subsidized a customer who would have repurchased anyway.
Conversion-rate testing across consumer-goods stores consistently shows the same pattern: 5% feels stingy and converts poorly, 15-20% converts well but kills margin, and 10% is the goldilocks zone for most consumables. Free shipping on subscription orders often outperforms a percentage discount because shipping is the unbundled cost customers hate most.
Run the numbers before you launch. For a $30 product at 60% margin, a 10% subscription discount means each subscription order makes $15 instead of $18. If the subscriber stays 6 months, you've earned $90 in margin vs maybe $54 from a customer who would have bought twice as a one-time purchase. That's the math that justifies the discount — and the math that tells you when 20% is too much.
Create selling plans and attach them to products
A selling plan is Shopify's term for "this product can be bought on a recurring schedule." In the app you'll define the interval, the discount, and which products it applies to. Selling plans are the primitive every subscription app builds on — understanding them helps you reason about every weird edge case later (price overrides, mixed-cart behavior, gift card eligibility, B2B discounts stacking).
- Group products by cadence — one selling plan per group (monthly coffee, weekly produce, etc.)
- Set the discount percentage (10% is a common starting point for consumables)
- Decide whether customers can switch between one-time and subscription on the same product
- Test the discount math against your margin before going live
- Decide if the first order gets an extra incentive (e.g. "20% off first order, 10% off ongoing") — common pattern, slightly more complex to set up
Add the widget and test the full checkout
Most apps drop a theme app extension block on the product page. Add it, preview it, and actually click through to checkout with a real (test mode) card. The two things that break most often: the widget price not matching the cart price, and the selling plan not being passed to checkout so the order looks like a one-off. Test both before going live.
Don't skip mobile testing. ~70% of Shopify storefront traffic is mobile, and widgets often get cramped on small screens — pricing pills wrap to two lines, the frequency picker becomes a vertical stack, the "Subscribe & Save" radio becomes hard to tap. A widget that looks polished on desktop and broken on mobile costs you the majority of your subscription conversions.
If the widget shows $18 but the cart shows $20, customers abandon. Always read the displayed price from Shopify's selling-plan allocation (perDeliveryPrice) — never calculate it independently in JavaScript. This is the #1 reason apps' widget prices drift out of sync with what Shopify actually charges.
What happens when a subscription product goes out of stock
This is the operational question almost every first-month launch fumbles. A subscriber's renewal date hits, your app tries to charge the card and create the order — but the product is out of stock. What should happen?
There are three viable strategies and you need to pick one (and configure your app to follow it) before launch. "We'll deal with it later" turns into a manual support nightmare around month 2.
- Skip the renewal — don't charge, don't create an order, push the next renewal date forward. Lowest-friction for the merchant. Subscriber gets an email saying "we skipped your order because product X is restocking — your next delivery is 2026-06-15."
- Substitute the product — charge the card, ship a different SKU (the next flavor in the rotation, the next-closest variant). Common for boxes. Requires an explicit policy disclosed at signup.
- Notify and pause — pause the subscription, email the subscriber, ask them to confirm what they want. Highest churn risk because pause + email = high abandonment.
Charging the renewal and then telling the customer "sorry, backorder, ETA 6 weeks" is the fastest way to get a chargeback. Most chargebacks in subscription commerce come from this exact scenario. Configure your app to skip the renewal if inventory is zero — payment processors treat this as the merchant's fault.
Renewal date concentration is the other half of this problem. If every subscriber signs up on the 1st, you have a single renewal day where your inventory and fulfillment both peak. Two operational fixes: offer multiple cadences (weekly + biweekly + monthly spreads the load) and consider charging on signup-date anniversary instead of calendar-date — most apps support this.
Auto-renewal disclosure, tax, and the legal side
Most subscription guides ignore this section because the answer is "talk to a lawyer" — but there are concrete requirements your widget and signup flow have to meet, and most subscription apps either help or hurt you here.
Auto-renewal disclosure (US): Multiple states (California's AB-390, New York, Illinois, Vermont) require that any auto-renewing subscription clearly disclose at signup: (1) the recurring price, (2) the renewal frequency, (3) how to cancel, and (4) a one-click cancel mechanism for online signups. The disclosure must be visible BEFORE the customer clicks "subscribe" and must be present in the confirmation email. Failure to comply has triggered multi-million-dollar settlements (Hims, Adobe, Amazon Prime).
EU Consumer Rights Directive (CRD): EU buyers must receive a confirmation summarising the subscription terms before checkout completes, and have a 14-day cooling-off period for the first order (consumables shipped are typically exempt once delivered, but the disclosure requirement isn't).
- Recurring price shown next to the subscribe button (not just total today)
- Frequency stated ("every 4 weeks" not "recurring")
- Cancellation instructions stated at signup AND in the order-confirmation email
- One-click cancel from the customer portal (CA AB-390 mandates this)
- Email reminders before each renewal for annual subscriptions (CA requires 15-45 days advance notice for renewals over $200)
VAT and sales tax: Shopify Tax handles US state tax and EU VAT automatically for subscription orders the same way it does for one-time orders — you don't need a separate tax setup. The wrinkle is that subscription renewals are taxed at the renewal date's rate and rules, not the signup date's. If a customer signs up in Texas, moves to California, and updates their address in the portal — the next renewal is taxed at California rates. Make sure your app passes the up-to-date shipping address to Shopify on every renewal (most native-integration apps do this automatically).
Refunds and disputes: Decide your refund policy upfront — most subscription stores allow a full refund on the first order if requested within 14 days, and prorated refunds for cancelled-mid-cycle annual plans. Document it in your terms and make it easy to find in the portal. Disputes that go to the payment processor without clear cancellation/refund evidence in your records usually lose.
The pre-launch checklist that catches month-two problems
Merchants get the first order working and assume the rest is automatic. It isn't. Renewals fail when cards expire, customers want to skip a delivery, someone will inevitably email asking to change their address, and a stockout will hit a renewal day in month 2. Run through this checklist before you flip the switch.
- Verify dunning emails actually send (check spam folder, check sender domain SPF/DKIM)
- Click through the customer portal as a real customer would — skip, pause, swap, update card, cancel
- Set up at least one test subscription and let it renew once before launching
- Confirm the cancel flow presents a pause or discount offer (not instant termination)
- Set up MRR + churn analytics so you have a baseline from day one
- Test that the widget price matches the cart price on desktop AND mobile
- Disclose auto-renewal terms in the cart, checkout, and order confirmation email
- Test a stockout scenario in dev: mark a product out of stock and trigger a renewal — verify your configured behaviour runs
- Confirm Shopify Tax is applied correctly to a subscription renewal (run a $0.01 test renewal if needed)
- Write a one-page subscription FAQ in your help center (covers "how do I cancel?", "when am I charged?", "what if I'm out of town?")
Retention is step 2 — set it up at launch, not month 6
Most new merchants skip the cancel flow and regret it. Intercept cancellations early with a pause or discount offer — it costs nothing to set up and saves real revenue from week one. The number one reason subscribers cancel is lack of flexibility, so a self-service portal with one-click skip/pause is your highest-ROI retention investment.
- Pause offer shown on every cancel attempt — low-friction save, typically recovers 12-18% of cancels
- Discount offer for subscribers who cite price as the reason — recovers another 8-12%
- Cancel reason capture (required) — feeds your churn analysis with structured data instead of one-line guesses
- Win-back campaign for cancelled subscribers (30/60/90-day email cadence) — typically recovers 3-5% within 6 months
Cancel-reason dropdowns capture coarse signal. A 5-minute personal email to each of your first 20 cancellers (asking what they'd change) captures specific signal you can actually act on. Most reasons cluster around 3-4 themes you can fix.
When subscriptions are the wrong answer
Subscription apps make money when you add them. They don't make money telling you not to. So here's the unbiased view: subscriptions are a great fit for some categories and a terrible fit for others.
Good fit: consumables with predictable repurchase cycles (coffee, supplements, pet food, household), curated discovery boxes (the experience is the product), refills of any kind (razor blades, contact lenses, ink), and any product where the customer knows they'll want it again at a known interval.
Bad fit: products with long replacement cycles (cookware, electronics, furniture), apparel where size/style preference shifts, gift items, anything where the customer is buying "for the experience" of choosing it (artisan goods, novelty), and any product where the unit cost is high enough that the recurring charge will trigger a credit card alert. If your customer thinks twice every month about whether to keep the subscription, the flow is wrong for the product.
If you add Subscribe & Save to a product where typical repurchase is every 6 months, customers will sign up because it's offered, accumulate stock, and cancel — sometimes with a chargeback. A subscription frequency that's faster than natural consumption rate trains customers to distrust the option entirely. Match cadence to actual consumption, not what maximises MRR on paper.
Common first-90-day mistakes that kill the launch
Stores that launch subscriptions successfully tend to make the same set of decisions early. Stores that struggle tend to make the same set of mistakes. Here's the recurring list, ordered by how painful each one is to fix later.
- No customer portal at launch — every "can you skip my next delivery" email is a 5-minute support touch that compounds into a part-time job by month 3
- No cancel-save flow — you process every cancel immediately when 12-18% could have been a pause that subscribers come back from
- Too many cadence options — "weekly, biweekly, every 3 weeks, monthly, every 6 weeks, quarterly" overwhelms; pick 2-3 max
- Subscription discount stacking with site-wide sales — your 10% subscription discount plus a Black Friday 20% off = subscriber locked in at 30% off forever; either disable subscription discounts during sales or auto-revert after the first cycle
- Skipping the auto-renewal disclosure — you'll get away with it until you don't, and when you don't it's expensive
- Ignoring dunning — about 5-10% of renewals fail (expired/lost cards); without smart retries you're losing 5-10% of MRR every month
- Setting up renewals on the 1st only — fulfillment, inventory, and customer support all peak on the same day; spread renewals across the month
- No analytics from day one — by the time you realise churn is at 8% monthly you've already lost the cohort data that would tell you why
First-timer questions
How long does it take to launch?
Most first-time merchants go live within a week. The technical setup is under an hour; the rest is decisions — pricing, cadence, discount policy, retention flow, refund policy, and auto-renewal disclosure copy.
Do I need a developer?
No. Modern subscription apps install via the Shopify App Store and drop their widget on the product page through the theme editor. No code changes. You'll only need a developer if you want a deeply custom widget UI or storefront integration.
Which products work best as subscriptions?
Consumables that customers repurchase on a predictable cadence: coffee, supplements, pet food, household goods, beauty refills. Avoid one-time gift items, apparel where size shifts, and high-ticket durable goods.
What discount should I offer?
10% off plus free shipping is the most reliable starting point for consumables. Test against your margin — the discount should be enough to nudge first-time buyers to subscribe, but not so deep it kills repeat-customer economics. Less than 5% feels stingy, more than 20% is usually unsustainable.
How are subscription orders billed?
Shopify's native checkout vaults the customer's card on the first order. Your subscription app then triggers a recurring charge on each renewal date using the stored payment method — no customer action required. The charge appears on the customer's statement just like any other Shopify order.
Do I need to disclose auto-renewal terms by law?
Yes, in most US states (especially California, New York, Illinois, Vermont) and across the EU. Disclose recurring price, renewal frequency, and how to cancel BEFORE the customer clicks subscribe AND in the confirmation email. California also mandates a one-click cancel mechanism in the customer portal for online signups. Non-compliance has resulted in multi-million-dollar settlements.
How do I handle VAT and sales tax on subscriptions?
Shopify Tax handles US state tax and EU VAT for subscriptions the same way it does for one-time orders — no separate setup. Renewals are taxed at the renewal-date jurisdiction. If a subscriber updates their address in the portal, the next renewal recalculates tax based on the new shipping location.
What happens when a subscription product goes out of stock?
Pick a policy and configure your app to enforce it: skip the renewal (don't charge, push the next renewal date forward), substitute (charge and ship a different SKU — requires disclosure), or notify-and-pause (highest churn). Never charge for something you can't ship — that's the #1 source of subscription chargebacks.
Can I migrate existing subscribers from Recharge or Loop?
Yes. Most subscription apps offer free migration via CSV or direct API. The subscription contracts, payment methods, and billing dates transfer intact, so subscribers don't notice the switch. <a href="/subscription-migration">Read our migration guide</a> for the step-by-step.
What's the difference between a subscription and a membership?
A subscription delivers a physical product on a schedule (subscribe & save, boxes). A membership charges a recurring fee for ongoing access (perks, exclusive content, member discounts) without a physical shipment. Many stores run both — physical subscriptions for revenue, memberships for retention and AOV uplift.
Can I sell digital subscriptions on Shopify, not just physical products?
Yes. Digital products attached to a selling plan work the same way at billing time — the recurring charge happens, no physical fulfillment is triggered. You'll handle the digital delivery (download link, access provisioning) via an app or fulfillment service that supports digital orders.
How do I handle customer service tickets for subscriptions?
Most subscription support volume falls into 5 categories: skip next delivery, update payment method, change shipping address, pause, cancel. A self-service portal handles all 5 without a ticket. Stores that launch with a portal typically run 40-60% lower support volume than stores that launch without one.