Cancel-flow UX patterns: what saves without dark patterns
Most save-flow patterns sort cleanly into three buckets. One offer before the confirm step: fine, and deliberately left legal by the FTC's final rule. A hidden or de-emphasized cancel link, forced phone calls, type-a-phrase gates: illegal. Escalation chains, extra confirmation screens, guilt-trip button copy: gray - legal in some forms, radioactive in others. The sorting test is two questions: does the pattern add steps, and does it subtract prominence from the exit?
The two-question test
Every pattern below is judged against two questions the FTC's amended Negative Option Rule made explicit: does it make cancellation take more steps than signup did, and does it make the cancel option less prominent than the retention option? Fail either and the pattern is out, whatever its save rate.
That rule itself is no longer on the books - the Eighth Circuit vacated it on July 8, 2025 in Custom Communications, Inc. v. FTC, two months after its compliance date, on the procedural ground that the Commission skipped a required preliminary regulatory analysis. The two questions survive it, because they were never really the rule's invention. ROSCA and Section 5 of the FTC Act still require simple cancellation and prohibit deceptive design, every enforcement action cited in this post was brought under those statutes rather than the rule, and the state auto-renewal laws impose their own versions on any store selling into California, New York, Minnesota, and a growing list of others. Treat the two questions as the design standard; the vacatur changed which authority you get sued under, not what a defensible cancel flow looks like.
Two more references frame the verdicts. First, the FTC's September 2022 staff report, "Bringing Dark Patterns to Light", which named the design families regulators look for: obstruction (the "roach motel"), interface interference, misdirection, pre-checked boxes, and confirmshaming. It is the closest thing to a regulator's field guide, and the enforcement record since tracks its taxonomy closely.
Second, a detail merchants keep getting wrong in both directions: the FTC's 2023 proposed rule would have banned pitching any save offer without first getting the customer's unambiguous consent to hear it. The final 2024 rule dropped that provision; the Commission said it would revisit saves in a supplemental rulemaking. So federally, save offers are legal as long as they do not impede the simple cancellation mechanism. The pattern is the crime, not the offer.
Fine: one offer before the confirm step
A single retention offer between the cancel click and the confirmation screen is legal under the federal rule and is the core of every legitimate save flow. The rule's requirement is that the offer must not block, delay, or disguise the path to cancel - not that the offer cannot exist.
The design constraints that keep it in the "fine" bucket:
- The decline option ("no thanks, cancel") is on the same screen, at the same visual weight as the accept option.
- Declining goes directly to cancellation, not to another screen.
- Nothing is pre-selected. The customer makes an active choice either way.
One state exception: Minnesota requires you to ask permission before showing any retention offer, a rule the FTC considered and deferred. The state-by-state detail is in the state auto-renewal laws post; the practical fix is a one-line permission step, either geo-scoped or global.
Which offer to show is a separate question from whether to show one - the reason-by-reason save rates for pause versus discount are in the offer comparison post.
Fine: a one-question reason survey
One required question ("why are you cancelling?") before the offer is fine, and it is what makes offer routing possible. It stays inside the step budget of almost any signup flow, and the answer is load-bearing: it decides which offer the customer sees.
The verdict flips as the survey grows. Every additional required question is a step, and steps are exactly what the rule counts. The completion math - roughly 6.7% survey drop-off per added required question, per Churnkey's 2024 benchmark - is covered in the one-question rule, and the compliance analysis lands in the same place the conversion analysis does: ask one thing, make the rest optional.
The same logic covers showing alternatives. Pause, skip-a-renewal, and tier-down presented beside a visible cancel option are choices, not obstacles. The FTC's concern is substitution - replacing the exit with something else - not offering a genuine alternative one click away from it.
Illegal: burying the cancel path
Any design where the cancel option is smaller, lower-contrast, hidden behind a dropdown, or rendered as a grey text link beside a full-color "keep my benefits" button fails the prominence requirement. In the FTC's taxonomy this is interface interference, and it is the single most common failure in WooCommerce retention popups.
The enforcement ceiling on this pattern is now well marked. Amazon's Prime cancellation flow - internally nicknamed the "Iliad Flow" for its length - was the centerpiece of the FTC's ROSCA case against the company, and Amazon settled in September 2025 for up to $2.5 billion: a $1 billion civil penalty plus $1.5 billion in consumer refunds. Worth noting: that case was brought under ROSCA and the FTC Act, which predate the click-to-cancel rule. Hiding the exit was already illegal. The new rule just made the standard explicit.
Illegal: forced phone calls and type-a-phrase gates
If the customer signed up online, they must be able to cancel online. Routing any cancel path exclusively to a phone number, a chat queue, or a support ticket violates the same-mechanism requirement - support may sit beside the cancel option, never in front of it.
These are not hypothetical patterns. A 2024 CHI study of news-site subscription flows across four countries documented live cancellation flows that forced users to call a representative or type in a phrase to proceed - the academic literature adopted the FTC's "roach motel" label for exactly this. Type-a-phrase gates, retype-your-password gates, and "our team will call you to process this" holds all fail the same way: they add steps that signup never had, purely to raise the cost of leaving.
Related, from the adjacent case law: the FTC's $245 million Epic Games order, finalized in 2023, turned on "counterintuitive, inconsistent, and confusing button configuration" that charged Fortnite players with a single mispress. The cancel-flow lesson: putting the "keep subscription" button where every prior screen put "continue" is the same move, and regulators have shown they read button placement as conduct, not aesthetics.
Gray: the second offer after "no thanks"
An escalation chain - customer declines the 15% offer, gets a 30% offer, sometimes a third screen after that - is not explicitly banned federally, but every added screen is a step, and steps are counted against signup. One offer, one decline, straight to confirmation is defensible. Two or more declines before the exit starts to read as obstruction, and it is precisely the structure the Amazon complaint described.
California adds a sharper lens: under the amended ARL, offers during cancellation are lawful only when a prominently located, continuously displayed "click to cancel" link sits alongside them. An escalation chain with a persistent one-click exit on every screen is legal in California. The same chain without it is not.
Our practical read: cap the flow at one offer screen. If you insist on testing escalation, keep the cancel button on every screen at full prominence and count your total steps against your signup flow. When the count ties, you have spent your budget.
Gray: the extra "are you sure" screen
A confirmation screen is gray because it can be either a safety feature or a stall, and the difference is arithmetic. If your signup flow was three steps and your cancel flow is survey, offer, confirm - three steps - the confirmation is inside budget and defensible as protection against accidental cancels. If signup was one click from a product page, the same confirmation screen is the step that puts you over.
The legitimate case for confirmation is real. Cancellation is destructive; a mispress on a phone should not end a subscription, and WooCommerce Subscriptions' own native flow includes a confirm action for exactly that reason. Regulators have never objected to a single clear confirmation that states what will happen and when billing stops.
What tips it into the stall category is stacking. A confirm screen after the survey, after the offer, after a "before you go" screen is not protecting anyone from a mispress - by that point the customer has expressed cancel intent four times. The test we suggest: every screen in your flow should either collect information you act on, present one offer, or execute the cancellation. A screen that does none of those is a step you are spending on friction, and under the parity rule you do not have many to spend.
Gray: confirmshaming copy
"No thanks, I like paying full price" is confirmshaming, named as a dark pattern in the FTC's 2022 staff report. It is not per se illegal - no public enforcement action has turned on button copy alone - but it appears in complaints as evidence of manipulative design, which makes it an aggravating factor riding along with whatever else your flow does.
The honest cost-benefit: there is no public A/B data isolating shame copy from offer quality, so the upside is unproven, while the compliance downside is documented in a federal staff report. Write the decline as a plain sentence: "No thanks, cancel my subscription." If your save flow only works when the exit is humiliating, the offer is the problem.
Pre-selected defaults belong in this family too. A "keep my plan" radio button that arrives pre-checked is a pre-checked box in the FTC's taxonomy, and under California's amended consent rules, design that undermines the ability to choose is unlawful outright. Nothing in a cancel flow should be selected before the customer selects it.
The verdict table
| Pattern | Verdict | Why |
|---|---|---|
| One offer before confirm, visible decline | Fine | Final FTC rule allows saves that do not impede cancellation |
| One-question reason survey | Fine | Routes the offer; stays inside the step budget |
| Pause / tier-down shown beside cancel | Fine | Alternatives are choice, not substitution |
| Permission-ask before the offer | Fine everywhere | Required in Minnesota; harmless elsewhere |
| Second offer after a decline | Gray | Step inflation; needs a persistent cancel link (explicitly, in California) |
| Extra "are you sure" screen | Gray | Pure step count; fails when signup had fewer steps |
| Confirmshaming decline copy | Gray | Named in the FTC staff report; aggravating factor |
| Pre-checked "keep my plan" default | Illegal in CA, indefensible elsewhere | Pre-checked boxes undermine active choice |
| Cancel link hidden or de-emphasized | Illegal | Fails the prominence requirement |
| Phone-only or support-only routing | Illegal | Same-mechanism requirement |
| Type-a-phrase or retype-password gate | Illegal | Obstruction; steps signup never had |
Ship rules
Six rules that keep a flow in the "fine" column without giving up the save:
- Count the steps in your signup flow. That number is your cancel-flow budget, all screens included.
- Put a full-prominence cancel affordance on every screen of the flow, first to last.
- Ask one required question, show one offer routed by that answer, and send a decline straight to confirmation.
- Write decline copy a lawyer could read aloud in a deposition without wincing.
- Ask permission before the offer. It satisfies Minnesota, it costs one click, and it converts the offer from an ambush into an invitation.
- Log what each customer saw and clicked. When a regulator or a chargeback dispute asks what your flow did, "here is the event trail" is the only good answer.
The pattern behind the patterns: everything in the illegal column works by raising the cost of leaving, and everything in the fine column works by raising the value of staying. The first kind saves a metric for a quarter. The second kind saves customers.
