Back to Blog Listing

What Click-to-Cancel Actually Breaks in Your Retention Data

What Click-to-Cancel Actually Breaks in Your Retention Data
Nicole Ogonowska Aug 29, 2026 4 min read

Written by: Nicole Ogonowska, IT Growth Manager, Digital Colliers

NYC just adopted a Click-to-Cancel rule that forces one-click subscription exits. If your retention numbers looked healthy last quarter, some portion of that health came from friction. Phone trees, hidden cancel links, mandatory chat sessions. All of it is now a compliance risk, and most retention dashboards can't tell you what churn looks like without it.

The operators who move first here get a real pricing advantage. Everyone else is guessing at churn drivers while their save-offer budgets bleed. Here's the shape of what actually needs rebuilding.

The joins your retention model probably doesn't have

Most subscription eCommerce stacks store retention data in four places that don't talk to each other. Billing lives in Stripe or Recharge. Save offers live in the cancel flow tool. Support contacts live in Gorgias or Zendesk. LTV lives in whatever BI layer someone built in 2022. Under friction-based retention, you didn't need these joined. The friction did the work.

Under one-click cancel, you need all four joined at the customer level, with timestamps you can trust:

  • Billing events: cancel initiated, cancel confirmed, pause taken, plan downgraded, reactivation.
  • Save-offer outcomes: what was shown, what was accepted, what the discount cost you, and what the customer did in the 90 days after.
  • Support contact reason codes: not just the ticket, the reason. "Shipping late" and "product didn't fit" produce completely different retention math.
  • Downstream LTV: 30, 90, 180 day revenue post-save, net of the offer cost and net of returns.

If your team runs any of these joins by hand for a monthly deck, you don't have a retention program. You have a retention story.

A worked example

Imagine a UK skincare brand doing £8M in subscription revenue. Pre-ruling, their cancel flow required a phone call. Churn read at 4% monthly. Post-ruling, they ship one-click cancel. Churn jumps to 7% in month one. Panic.

The instinct is to blanket everyone with a 30% save offer. That's the wrong move, and the joined data proves it. When you segment the 7% by support contact reason in the 60 days before cancel, you might see something like:

  • 40% had a delivery complaint. A discount doesn't fix logistics. Offer a free replacement or a shipping upgrade.
  • 25% cited price. This group actually responds to the discount, and 180-day LTV net of offer is still positive.
  • 20% product fit or efficacy. Send them to a different SKU with a sample, not a discount.
  • 15% no signal at all. These are the ones you were retaining purely on friction. They're gone. Accept it and stop spending on them.

Without the joins, you offer 30% to everyone and destroy margin on the 40% who were going to leave anyway. With the joins, save-offer spend drops and net LTV holds.

Why the first movers out-price everyone else

CAC across DTC brands has climbed roughly 40% since 2023, and Meta CPMs kept rising through 2024 and 2025. UK eCommerce grew about 3% in 2024, so you're not going to grow your way out of a broken retention model. Roughly 30% of SKUs at a typical multi-channel brand already lose money per order once you net out returns and ad spend. Subscription was supposed to be the profitable channel that subsidised the rest.

Operators who rebuild the retention data model in the next two quarters get to price aggressively. They know which cohorts pay back at 90 days and which don't. They can run a lower headline price on the SKUs that actually retain, and they can walk away from the ones that don't. Competitors still averaging churn across the whole book will either overspend on save offers or underprice their acquisition math to compensate.

What to actually build first

Don't start with the cancel flow. Start with the joins. In order:

  1. Get billing events, support reason codes and save-offer outcomes into one warehouse table keyed on customer ID.
  2. Attach 30, 90 and 180 day net revenue to every save event, net of offer cost and returns.
  3. Segment churn by reason code before you touch the offer engine.
  4. Then, and only then, redesign the save flow.

The brands who do this in the order above will look, six months from now, like they figured out retention. They didn't. They just built the data model that friction used to hide.

Related Posts