How to reduce subscription cancellations with a cancel flow
A lot of subscription cancellations aren't really a verdict on your product. The customer has too much in the cupboard, money is tight this month, or they're away for the summer. Each of those has a better answer than "goodbye", but only if you find out which one it is before the subscription ends.
That's what a cancel flow is for: a short step between "Cancel subscription" and the confirmation, where you ask why and, when it fits, offer something that solves the actual problem. Done well, it keeps a real share of the customers who started to leave. Done badly, it's a maze that earns you chargebacks and angry reviews. Here's how to build the good kind.
Start by making cancelling easy
It sounds backwards, but it's the foundation. A cancel flow only works if customers trust it, and they only trust it if leaving is clearly possible. Make the confirmation reachable in one tap from every step. Never require a phone call or an email to cancel something they signed up for online. Keep the button labels plain: "Cancel subscription", not "I don't want to save money".
It's also increasingly the law. California, among other places, requires that a subscription bought online can be cancelled online, and the FTC began new rulemaking on cancellation in 2026 after its first "click to cancel" rule was struck down. A flow that asks politely and lets people go is on the right side of all of it.
And customers who know they can leave easily are more willing to subscribe in the first place. There's more on that in how to get more Shopify customers to subscribe.
Ask one question
The heart of the flow is a single question: why are you leaving? Keep it to one screen of choices, with an optional follow-up if you want more detail, and never make answering required. Every extra screen is another chance for a frustrated customer to give up on the flow, and you lose the answer and the save together.
Use reasons that fit a physical product, not the generic list from a software tool. For most replenishment stores, something like this covers nearly everyone:
- I have too much right now
- It's too expensive
- I'm travelling or moving
- I didn't like the product, or want to try something different
- There was a problem with a delivery
- Something else, with a box to explain
Watch the "something else" answers closely in the first few months. If the same thing keeps coming up, it deserves its own reason.
Match the offer to the reason
This is where most cancel flows go wrong. They show everyone the same discount, whatever they said. But a customer drowning in product doesn't want 20% off more of it. They want fewer deliveries. Matching the offer to the reason is what makes it feel like help rather than a sales tactic.
| They said | Offer | Why it works |
|---|---|---|
| I have too much | Delay the next order by a few weeks, or deliver less often | It solves the real problem and keeps the habit going. |
| It's too expensive | A discount on the next few orders | It eases a short squeeze without lowering your price for good. |
| Travelling or moving | Pause, and resume whenever they're ready | Nothing is sent or charged while they're away, and they don't have to sign up again. |
| Didn't like it | Swap to another flavour, size or product | They may like your brand but not this item. |
| Want something different | A different product added at a discount | It gives them something new without leaving. |
| Delivery problem | No offer. Apologise and fix it. | An offer here reads as dodging the complaint. |
Notice that only one of these is a discount. It's tempting to lead with a discount everywhere, because it's the easiest offer to say yes to. But a discount costs you on every order it applies to, while a delay, a pause or a swap costs you nothing. Save the discount for the customers who told you price is the problem, and put a limit on how many orders it lasts.
Show one offer, then let them go
Show each customer at most one offer, with a clear way to decline it, and treat declining as final. A customer who says no to a pause doesn't need to be shown a discount, then a swap, then a free gift. Every extra hurdle turns a customer who was leaving politely into one who is leaving angry and will tell people why.
Also skip an offer when it can't work. If the swap would offer products that are all out of stock, or the product you'd add at a discount is sold out, go straight to the confirmation rather than offering something you can't deliver.
Decide when the cancellation takes effect
There are two reasonable options, and the choice matters more than it looks:
- Immediately. The subscription ends now. Simple, and right for products where the customer hasn't paid for anything still to come.
- At the end of the paid cycle. If they've paid for this cycle, the subscription runs until then and stops. This feels fair to the customer, and it leaves a window where they can change their mind with one tap ("Keep my subscription") without signing up again.
Either way, the confirmation should say exactly what happens and when, in a sentence: "Your subscription ends on March 14. You won't be charged again."
Treat the reasons as research
Your cancel flow is the most honest survey you'll ever run, because people answer it at the exact moment they're deciding. Read it every month:
- Lots of "too much" means your default frequency is too short. Fix it on the product page and you prevent cancellations rather than saving them.
- "Didn't like it" concentrated on one product points to that product, not your subscription.
- "Too expensive" rising across the board might mean your subscribe-and-save discount is too thin to notice.
- "Delivery problem" belongs to your fulfilment team.
Measure saves, and what happens after
Track four numbers: how many customers started the flow, how many accepted an offer, how many changed their mind at the confirmation, and how many cancelled. Then follow the saved customers forward. A discount that keeps someone for exactly as long as it lasts has postponed the cancellation, not prevented it. If saved customers on one offer keep leaving a month later, try a different offer for that reason.
And remember that not every lost subscriber chose to leave. A good share of churn is a card that failed and was never fixed, and that needs a different playbook: how to recover failed subscription payments.
The short version
- Make cancelling easy and plain. One tap to the confirmation from anywhere.
- Ask one question, with reasons that fit a physical product.
- Match the offer to the reason. Most fixes aren't discounts.
- Show one offer, then let them go.
- Let a paid cycle run out where it's fair, and say exactly when it ends.
- Read the reasons every month and fix what causes them.
- Follow saved customers forward, not just the save rate.
Sources
- Jones Day, FTC Revives Click-to-Cancel Rule: New Risks for Subscription Businesses (2026).
- Steptoe, FTC's "Click-to-Cancel" Rule Vacated by Eighth Circuit (2025).