Building a subscription store on Shopify
Selling plans and the Subscription APIs make recurring revenue native. The difficulty is entirely in the edge cases.
8 min read · Store setup ·
Subscriptions on Shopify are native in the sense that the platform provides the machinery — selling plans and the Subscription APIs — but you reach them through an app rather than a settings page. The build is straightforward. The edge cases are where recurring revenue either works or turns into a support queue.
How the model works
A selling plan describes a recurring purchase: what's delivered, how often, at what price, with what discount. A product can have several — weekly, monthly, quarterly — alongside a one-off purchase option.
When a customer subscribes, Shopify creates a subscription contract holding the schedule, the payment method and the line items. Billing attempts create orders on schedule, and each one behaves like a normal Shopify order for fulfilment and reporting.
App or custom
Start with an app. The subscription apps handle selling plans, the customer portal, billing retries and dunning — a substantial amount of unglamorous work you'd otherwise rebuild.
Custom becomes worthwhile when:
- Your box contents change per cycle in a way the app can't express.
- Pricing depends on customer-specific rules — Functions territory.
- You need subscription data flowing into an ERP or fulfilment system with your own logic.
- The customer portal needs to do things the app's version won't.
The usual answer is an app plus a small amount of custom work — the same shape as most build-versus-buy decisions. Subscription development covers the technical detail.
The edge cases that decide everything
This is the real content of any subscription project. Decide each one deliberately:
Failed payments. How many retries, over how many days, and what does the customer see? Dunning is the single largest lever on involuntary churn — more than pricing, more than product.
Expired cards. Prompt before expiry, not after the failure.
Skipping a cycle. Customers who can skip stay subscribed. Customers who can only cancel, cancel.
Pausing. Same logic, longer horizon.
Changing the address or the payment method mid-subscription.
Out of stock at billing time. Substitute, skip, or delay — pick one and make it consistent.
Prorating a plan change. Upgrades mid-cycle need a rule.
Refunding one cycle without cancelling the contract.
What happens on the final cycle of a fixed-term subscription.
Stores that skip this list discover each item individually, in production, through an angry email.
Customer self-service is the churn control
Every action a customer can't perform themselves becomes an email to you, and a meaningful proportion of those emails become cancellations because emailing is more effort than clicking cancel.
At minimum, let them: skip a cycle, change the next delivery date, change quantity or products, update the payment method and address, pause, and yes — cancel. Making cancellation hard doesn't retain people; it produces chargebacks and bad reviews.
Fulfilment
Subscription fulfilment is different from one-off fulfilment in one important way: it's predictable. You know what's shipping next month, which is a genuine operational advantage — if the data reaches your warehouse in a useful form.
That usually means a scheduled export or an integration that produces the upcoming cycle's picking list in advance rather than order by order.
The numbers to watch
- Involuntary churn — subscriptions lost to failed payments. Usually fixable with better dunning, and usually larger than people expect.
- Voluntary churn, and at which cycle. A spike at cycle two means the product didn't meet the promise; a spike at cycle six is normal fatigue.
- Skip rate. High skipping is a good sign, not a bad one — those customers are still subscribers.
- Cohort revenue rather than monthly totals, which mask what's happening.
What the product page needs
- The price per delivery and the total commitment, unambiguously.
- How to cancel, stated plainly on the page. Counterintuitively this raises sign-ups.
- What arrives and when, for the first delivery specifically.
- A one-off purchase option alongside the subscription for people who won't commit yet.
Building the subscription takes a fortnight. Deciding what happens on a failed payment, a skipped cycle and an out-of-stock item is the actual project, and it's a conversation with the business rather than a technical task.
Is this the problem you’re looking at?
Send me the link to your store and a line about what is going wrong. You get a straight answer within one business day — no pitch, no obligation.
mario@clicksandcarts.coOr see what I do around Shopify: services, work beyond the theme, selected work.