Most DTC subscribers who cancel are not leaving over price. Across Email Kong’s Loop brands, the top reason is having too much product, so a cancel flow saves more people when it offers a slower frequency, skip, swap or pause first and keeps one discount for price.
A discount does nothing for someone with a cupboard full of product. If anything, it sends them more of it, cheaper.
Most subscription brands we take on have the same cancel flow. The subscriber clicks cancel, picks a reason, and whatever reason they pick, they get offered money off the next order.
The trouble is that it barely works. On the three cancel flows we have published results for, the save rates before we started were 4.3%, 6% and 9%. So more than 9 in 10 people who reached the cancel screen left anyway.
The reason becomes clear once you look at the data. Across the subscription brands we run on Loop Subscriptions, there were more than 20,000 cancel flow events in the last 90 days, and the number one reason was “I have enough or too much product”, at about 23% of cancel attempts. For a newer subscription program, this is the first number worth pulling from your own app. For a scaling brand, it is often the number that explains a stalled save rate.
Subscribers most often cancel because product is piling up faster than they use it, and price sits lower on the list than most founders expect. Here is how the reasons break down by niche on the brands we run.
The two supplement rows come from two different brands in supplements and women’s health, and one skincare brand also sees about 10% of cancels pick “I just wanted the discount”. At the pet brand, “my pet doesn’t use it” adds another 10 to 15%.
So in every niche, having too much product is at or near the top. That tells you the subscription is shipping faster than people use it, which is a frequency problem, and you fix a frequency problem with frequency. Coffee and oral care follow the same logic. A coffee subscriber with unopened bags has the same problem as a skincare subscriber with spare bottles, and when the reason is flavour, a swap fixes it where a discount on the coffee they dislike won’t.
One measurement warning before you compare your numbers to ours. About 1 in 5 people who start cancelling give no reason at all and simply close the page. If your app counts those closed sessions as saves, your save rate looks better than it is. So measure saves per reason.
Give each cancel reason the one option that actually solves it, and offer those options before any discount. Skip, swap, pause and a change of frequency keep the subscriber at no cost to your margin, so they go first, and each one fits a different reason. For too much product, that usually means the next slower frequency, such as every 6 weeks instead of every 4.
Two details make the difference between a matched offer and one that still fails. For too much product, show the new date on screen: “Your next order moves to March 14” lands better than “Skip next order”, because the subscriber can see the problem going away. For didn’t mean to subscribe, the honest move is also the cheaper one. Let them cancel easily, then fix the subscribe option on your product page or checkout, because some of these customers will dispute the charge with their bank if you make cancelling hard.
Keep the reason list to five to seven options written in your customers’ own words, most common first, with an “Other” box that someone on your team reads every week. The “Other” answers are where new reasons show up before they become a trend. One reason deserves extra care in supplements, where “didn’t work for me” comes up a lot: a discount on a product someone thinks does nothing will not change their mind, but help on how to use it might. A smaller program can start with its top three reasons and add branches as cancel volume makes them readable.
A discount belongs in a cancel flow for price related reasons and “Other”, offered once, as one clear number. “40% off your next order” is easy to accept, and a tiered offer with conditions is not.
We set the same rules on every retention offer: one use per subscriber, a cool off of a few orders before the same person can see an offer again, and only factual urgency, like a real expiry time. Without those guardrails a cancel discount teaches subscribers that clicking cancel is how you get a deal, a risk eCommerce Fastlane’s guide to churn management for Shopify subscriptions also flags when it recommends suppressing repeat incentives.
KittySpout, a pet water fountain brand, is a good example of the discount done well. We put video on their cancel page and swapped a three month discount for one simple 40% last chance offer. By October 2026 the cancel flow was saving 43% of subscribers who reached it, up from 6%.
The other two results came from the page itself rather than the offer. For Kaori, we changed the cancel page to explain how the soap works and tested a video against the text, and the save rate went from 4.3% to 60%. For Penrose Skin, we rewrote the cancel page in customers’ own words and tested it against the old one inside Loop, and saves went from 9% to 38%.
The pattern across all three is worth noticing. Two of the three wins came from helping the subscriber understand the product they already had, and the third paired video on the cancel page with one simpler offer in place of a multi month discount.
Many subscribers cancel after their second order because, for products that work over months, the second charge lands before they have seen much of a result. The cancel screen is where you see churn, but a lot of it is decided earlier.
At Ritual Labs, a supplement brand, the biggest drop off comes right after a subscriber’s second order. Over the summer, more than half of the subscribers who paid for a second order cancelled before a third. That matches the wider pattern: subscription platform data published in eCommerce Fastlane’s breakdown of front loaded subscription churn puts about 61% of voluntary cancellations at the first two renewals, and supplements show the leakiest first reorder of the consumable categories it measured.
So the emails for orders 1 to 3 matter more than most brands treat them. Three of them do most of the work. The first is a subscriber welcome that sets honest expectations about how long the product takes to work; Ritual Labs runs a campaign called “Wait… it takes 3 months?” that says it plainly. The second is a clear reminder before the first renewal, so the charge never surprises anyone. The third is how to use content timed so the product actually gets used before the second charge.
At Ritual Labs, before our subscriber emails went live, there were 64 cancels for every 100 renewal orders. Three months later the figure was 47. Part of that fall is the subscriber base maturing, but the drop began when the new emails went live. We are now testing a free gift at exactly the point between order 2 and order 3.
You stop failed payments from becoming churn by fixing the retry setup and the card update path before you touch the cancel flow. Most brands spend their time on the cancel screen and leave payment retries on default settings, even though every failed payment is a subscriber who did not decide to leave.
In the same 90 days we saw at least 50,000 failed billing attempts across our Loop brands. Plenty of those subscribers will be gone if the card never gets updated, which is why this is the first thing we fix on a new subscription account. Four changes cover most of it.
Split the retry ladder by failure reason. An expired card, a declined retry and a revoked payment method are different problems, so they should not share one default schedule. Loop’s payment recovery settings let you control retries, act on hard decline reasons and fall back to a backup payment method, and we run different timing for each failure type.
Send a one click card update link by SMS and email. If updating a card means logging in and finding a settings page, most people won’t do it.
Warn them before the card fails. Loop sends a “Loop Payment Method Expiring” event to Klaviyo, so you can send a reminder while the card still works. A backup card helps too, but as eCommerce Fastlane’s look at backup payment methods and involuntary churn shows, newer subscribers rarely have one on file, which is exactly when a failure costs you most.
End on a pause where you can. When every retry has failed, a pause means the subscription restarts on its own on the set date instead of needing a winback campaign to bring the customer back.
The cancel flow and payment recovery belong in Loop, and the emails before and after them belong in Klaviyo. Most subscribers are lost at two points that email can’t fix on its own, the cancel screen and the failed renewal, and both live in the subscription app.
A few build notes sit behind that table. The instant winback in Loop is a one time offer shown after the cancel is confirmed, with a real time limit. The failed renewal messages in Klaviyo trigger once at the start of the retry ladder, not on every retry. The winback flow runs on the “Loop Subscription Cancelled” event and exits if the subscriber resubscribes, and we often write these as plain text from a real person at the brand. Each winback email carries a button that restarts the subscription in one click. When we added this for Ritual Labs, cancelled subscribers restarted at about nine times the rate of a normal day in the days around each send.
Before you build any of it, check live event volume to confirm Loop events are actually arriving in Klaviyo, since an integration can show as connected long after events stopped. Loop’s Klaviyo integration guide shows where the event log lives. We have written up the full setup, reason by reason, in our guide to subscription cancel flows if you want the detail.
Test a cancel flow the way you would test a landing page: two versions, a 50/50 split, long enough for a full billing cycle, judged on saved subscriptions. Loop experiments let you split subscribers between two versions of the benefits page or an offer.
We run tests for about 30 days so at least one full billing cycle passes, because a subscriber saved on Monday who cancels again at the next renewal is not a save. Judge the test on saved subscriptions that are still active, not on clicks on the offer button. Tests we have run include a short video from someone at the brand against the text version of the same page, and reason copy rewritten in the customer’s own language against the original wording. Both of those came out ahead in the results above.
One caution when the test involves a slower frequency or a longer gap between orders: a saved subscriber on a slower schedule brings in less revenue per month than before. Track revenue retained alongside subscriptions saved, so a frequency offer is judged on both. Running one test at a time also keeps the result readable, since overlapping experiments split already small cancel volumes.
Start by pulling your cancel reasons for the last 90 days, because the answer to most churn is already in them, and it usually isn’t price. The full sequence we run looks like this.
Earlier subscription programs get the most from steps 1, 2 and 5, which take the least time. Scaling brands with the basics in place will usually find the next gains in the orders 1 to 3 emails and in testing.
Bogdan Mihalache is the Founder and CEO of Email Kong, a London Klaviyo agency (Klaviyo Master Platinum Partner, top 2.5% worldwide, and Loop Platinum Partner) that has worked with 140+ DTC brands and driven $59M+ attributed to Klaviyo. He is one of 35 members of the Klaviyo Partner Advisory Council, and you can find more of his subscription retention work at emailkong.com.
The most common reason subscribers cancel is that product is building up faster than they use it, not price. Across the Loop subscription brands Email Kong runs, “I have enough or too much product” was the top reason, at about 23% of cancel attempts across more than 20,000 cancel flow events in 90 days. Pet, supplement and skincare brands all showed the same pattern, with too much product at or near the top and “too expensive” lower down at roughly 15 to 16% where it was reported. That points to a shipping frequency problem, so the fix is a slower frequency, a skip with the new date shown, or a pause, offered before any discount appears on the cancel screen.
Offer a discount only when the subscriber picks a price related reason or “Other”, and make it one clear number used once. A discount does nothing for someone with too much product, and it can send them more of it. For every other reason, offer the option that solves it first: skip, swap, pause or a change of frequency, which keep the subscriber at no cost to your margin. Set guardrails on any discount, including one use per subscriber, a cool off of a few orders before the same person sees an offer again, and only real urgency such as a genuine expiry time, so cancelling never becomes the way to get a deal.
There is no universal benchmark, so measure your save rate per cancel reason and compare it to your own starting point. On three published Email Kong cancel flows, save rates started at 4.3%, 6% and 9%. After the changes they reached 60% at Kaori, 43% at KittySpout and 38% at Penrose Skin, mostly from explaining the product better and simplifying the offer. Watch one trap: about 1 in 5 people who start cancelling give no reason and close the page. If your app counts those sessions as saves, your rate looks better than it really is.
Reduce involuntary churn by setting up payment recovery before you work on the cancel flow, because these subscribers never chose to leave. Split your retry schedule by failure reason instead of using one default ladder for expired cards, declines and revoked payment methods. Send a one click card update link by SMS and email, since a login and a settings page stops most people. Use your subscription app’s payment method expiring event to remind subscribers while the card still works, and end the retry ladder on a pause where you can, so the subscription restarts on its own date rather than needing a winback.
Build the cancel flow itself in your subscription app, such as Loop, and use Klaviyo for the emails before and after it. The cancel screen and the failed renewal are the two points where most subscribers are lost, and both happen inside the subscription app, so the benefits page, reason screen, offers, instant winback and retry ladder belong there. Klaviyo handles the orders 1 to 3 emails, the pre renewal reminder, failed renewal messages and a short winback flow with a one click restart button. Before building, confirm Loop events are actually arriving in Klaviyo by checking live event volume.