Designing subscription cancellation: the honest flow

In short

Designing subscription cancellation means building the screens where users end their membership. In an honest flow, the cancel button sits visibly in the account settings and the task is done in a few steps. There is at most one offer to stay, and it can be skipped with one click. The last screen clearly states the date of the cancellation, whether anything more will be charged and what happens to the data.

In short

The cancellation flow is the screen where a user last talks to your product. How you behave there also decides whether they come back. My rule is simple: cancelling should take about as many steps as signing up.

  • The cancel button is in the account settings, in a readable size and with the word “cancel”.
  • The flow ends after two or three screens. There is no required survey and no requirement to call.
  • There is at most one offer to stay, and “No” is as visible as the offer.
  • The decline copy is neutral. No sentence blames or frightens the user.
  • The last screen states the date the cancellation takes effect and whether anything more will be charged.
  • It says how long the data stays saved and how to download it.

In the US, federal law requires simple mechanisms to stop recurring charges for subscriptions sold online. In the EU, the Digital Services Act names harder termination as an example of manipulative design. More on both below.

Why hard cancellation seems to work

The website deceptive.design, which collects examples of deceptive design, calls this pattern “hard to cancel”. The definition is short: subscribing is easy, cancelling is very hard. The site also gives another name for the pattern: “roach motel”.

The site also lists the typical tactics: hiding the cancellation option or making a call to customer service a condition. In the end the user may give up and pay for longer. In one example on the site, cancelling meant talking to an agent for about 8 minutes, while a new subscription could be taken out in seconds.

The same site has a related pattern: obstruction. Here an obstacle is deliberately put in the user’s way. By the site’s definition, the aim is to tire and dissuade the user when their goal conflicts with the company’s revenue or growth goal.

The page points out one more thing: an annoyed or tired user is easier to steer. That is why I don’t call a user who accepts the offer to stay at the end of a five-screen flow convinced. Maybe they are just tired.

Maria Rosala of the Nielsen Norman Group describes obstruction in her December 2023 article in terms of interaction cost. Finding information about a choice that doesn’t benefit the company, or making that choice, is deliberately made laborious. For me, every extra screen and every hidden link counts towards that cost.

The principles of an honest cancellation flow

1. The cancel button can be found

Users look for cancellation first in the account settings, under subscription or membership. Show the button there, right next to the plan. The label says “cancel”. A label like “More options” or “Manage plan” forces the user to guess.

Putting the link small and pale grey at the bottom of the page is also hiding. Readable size and enough contrast are needed for accessibility too. The rules on visual weight I describe on the CTA button page apply to cancellation as well.

Offer cancellation where the subscription was taken out. Sending users to a phone line to cancel a subscription that starts with two clicks on the web is one of the typical examples of hard cancellation that deceptive.design gives.

2. Few steps

An honest cancellation fits on two screens: the cancel button and a confirmation page that clearly states the result. If you need a third screen, make sure it gives the user information.

If you want to ask for the reason, make the question optional. A required survey puts one more screen in the user’s way and, in my opinion, doesn’t change their decision.

I usually recommend moving the survey to the result screen. Answers given after cancelling are more useful than ones given in a hurry.

3. A single, skippable offer to stay

An offer to stay is not a dark pattern in itself. If the user is leaving because of the price, a cheaper plan can help; if they rarely use the product, a one-month pause.

The problem lies in the number and form of the offers. Show a single offer on the same screen as the confirmation, with the option to decline as visible as the offer. Showing a second offer after a “No” falls under the nagging pattern from Rosala’s article, where the user is asked the same thing again and again even though they declined.

Don’t build false urgency on the offer screen either. If it says “This offer will never come back”, it really must not come back.

4. No shaming

On deceptive.design this pattern is called “confirmshaming”. It steers the user with unpleasant feelings such as guilt or shame. In the site’s examples, the decline button copy is written in a belittling or disparaging way.

“No, I don’t like saving money” is a typical example. Rosala’s article has almost the same sentence as an example. The decline copy only says what happens: “No, continue cancelling.”

For me, frightening belongs here too. Instead of a vague warning like “You’ll lose everything”, write what is deleted and when.

5. A clear confirmation with a date after cancelling

The last screen answers three questions. Is the subscription over? Until which day does access last? Will anything more be charged?

“Your request has been received, we’ll get back to you” answers none of these questions. The user leaves the screen without knowing whether their card will be charged next month. Send the same information by confirmation email too, so the user has something in hand.

If you already gave the payment date and renewal on the pricing page, this screen won’t surprise anyone. The date on the cancellation screen continues the promise you made at purchase.

6. It says what happens to the data

If the user left something in the product they put work into, that is what they think of first when cancelling: their lists or notes. Write how long they stay saved and what happens if they come back.

If there is a way to download the data, it belongs on the result screen. Holding data hostage is, for me, also a form of obstruction. The user should stay because they like the product.

Obstructed and honest cancellation compared

Below are two cancellation flows of the same app. The plan, price and date are the same. One is built to tire the user out, the other so that they can finish their task.

Go through both until you have cancelled. It also works with the keyboard: Tab to the button, then Enter. On every new screen the focus jumps to the heading, and the counter gives the step and clicks.

Try both cancellation flows

Obstructed cancellation

Hidden link, required survey, two offers to stay and shaming copy.

5 steps. At least 6 clicks.

  1. 1. Account settings

    Reading Club Premium$8.99 / month

    Next payment: December 14, 2026.

    On this screen: a large “Upgrade plan” button and, at the very bottom, a small grey “More options” link.

  2. 2. Why are you leaving?

    To continue, you must choose a reason.

    On this screen: three required reason buttons and a “Continue” button that stays off until a reason is chosen.

  3. 3. A discount just for you

    50% off for three months. This offer will never come back!

    On this screen: a large “Take the discount” button and below it a link “No, I don’t like saving money”.

  4. 4. Wait a moment!

    Instead of leaving, you can pause your subscription. Your reading list is waiting for you.

    On this screen: a large “Pause subscription” button and below it a link “No, I want to lose my reading list”.

  5. 5. Are you sure?

    If you cancel, you lose everything.

    On this screen: a large “Stay after all” button and next to it a small “Send cancellation request” button.

  6. Result

    Your request has been received. We’ll get back to you as soon as possible.

    Is the subscription over, when does it end, will you be charged on December 14? The screen doesn’t say. It doesn’t say what happens to the reading list either.

Honest cancellation

Visible button, a single skippable offer, confirmation with a date.

2 steps. At least 2 clicks.

  1. 1. Account settings

    Reading Club Premium$8.99 / month

    Next payment: December 14, 2026.

    On this screen: two buttons of the same size: “Change plan” and “Cancel subscription”.

  2. 2. Confirm cancellation

    If you cancel, you keep using Premium until December 14, 2026. After that, nothing more is charged.

    Your reading list and notes stay saved until March 14, 2027. If you come back, everything is still there.

    If you like, you can pause for a month instead of cancelling. If not, confirm directly.

    On this screen: a “Cancel now” button and a button of the same size, “Pause for a month instead”.

  3. Result

    Your subscription is cancelled. You can use Premium until December 14, 2026, and nothing more will be charged.

    Your reading list stays saved until March 14, 2027. A confirmation with date and time went to your email address.

Two cancellation flows of an example reading app. The app, price and dates are made up. Go through both flows until you have cancelled. The counter above each flow shows which step you are on and how many times you have clicked. At the end, a comparison of both flows appears.

CriterionObstructed cancellationHonest cancellation
Steps52
Minimum clicks62
Cancel linkSmall, grey, “More options”Button of the same size, “Cancel subscription”
Offer to stayTwo offers, shaming decline copyOne offer, neutral and on the same screen
Result screen“We’ll get back to you”Last day of access, charges and data

What bothers me most about the obstructed flow is the last screen. After six clicks the user still doesn’t know whether the cancellation took effect. In the honest flow they have a date in hand after two clicks.

What the law says in the US and the EU

I describe the legal framework and other types of deceptive design in the dark patterns guide; here is the short version for cancellation.

United States. The Restore Online Shoppers’ Confidence Act (ROSCA, 15 U.S.C. § 8403) covers goods or services sold online through a negative option feature, which includes automatic renewal. Among other things, the seller must clearly and conspicuously disclose the material terms before taking billing information, get the consumer’s express informed consent before charging, and provide simple mechanisms for the consumer to stop recurring charges.

European Union. Article 25 of the Digital Services Act, Regulation (EU) 2022/2065, prohibits providers of online platforms from designing their interfaces in a way that deceives or manipulates users. Article 25(3)(c) names making the procedure for terminating a service more difficult than subscribing to it as one of the practices the Commission’s guidelines may cover. Article 25 applies to online platforms, not to every company that sells a subscription.

The honest flow in the demo follows the same logic: a visible cancel button, a confirmation page and a confirmation with a date. Individual US states and EU member states can have their own, stricter rules on automatic renewal and cancellation; check the ones that apply to you.

Note: This section is not legal advice. For your case, read the legal text and ask a lawyer.

My note

When I review the cancellation flow of SaaS products, I always hear the same objection: “If we make cancelling easier, we’ll lose subscribers.” In the short term that may be true. But a subscriber kept by hard cancellation is often someone who doesn’t use the product and can’t find the exit.

That is why I advise teams to track refund requests and “I can’t cancel” complaints to support alongside the cancellation rate. Rosala also writes that mildly deceptive patterns often go unnoticed. A pattern nobody notices doesn’t show up on the team’s dashboard either.

The test I suggest is easy: hand the phone to someone who has never seen the cancellation flow and say “Cancel the subscription.” If they can’t do it in a minute, the flow is too long.

Checklist

  • The cancel button is in the account settings, with the word “cancel” and in a readable size.
  • If the subscription is taken out on the web, it can be cancelled on the web too, without a call.
  • The flow ends after two or three screens.
  • The question about the reason is optional.
  • There is at most one offer to stay, and the option to decline has the same weight.
  • The decline copy is neutral, with no shaming and no vague threat.
  • The last screen states the day access ends and whether anything more will be charged.
  • The same information also goes out by email with the date and time.
  • How long the data is kept and how to download it are stated.

If you want your cancellation flow checked by someone from outside: the UX audit goes through one flow from start to finish. That can be cancellation or sign-up.

Questions

How many steps should subscription cancellation have?

There is no fixed number. My rule: cancelling takes as long as signing up. In most products two screens are enough: the cancel button and a confirmation page with a date.

Is a discount on the cancellation screen a dark pattern?

Not in itself. A single offer on the same screen as the confirmation, with an equally weighted option to decline, gives the user a real choice. When offers follow one another or the decline copy shames the user, it becomes a dark pattern.

Can I make the question about the reason for cancelling required?

I advise against it. A required survey adds a step to cancellation, and answers given in a hurry aren’t reliable. Make the question optional or ask it after cancelling.

Does US law require an easy way to cancel?

For subscriptions sold online with automatic renewal, ROSCA (15 U.S.C. § 8403) requires simple mechanisms for the consumer to stop recurring charges, alongside clear disclosure and express consent. States can add their own rules. This is not legal advice.

Sources (6)
  1. deceptive.design, Hard to cancel. accessed 2026-11-04; definition, hidden cancellation and required call, example of about 8 minutes
  2. deceptive.design, Obstruction. accessed 2026-11-04; definition, tiring and dissuading users, tired users easier to steer
  3. deceptive.design, Confirmshaming. accessed 2026-11-04; guilt and shame, belittling decline copy
  4. Maria Rosala, Deceptive Patterns in UX: How to Recognize and Avoid Them, Nielsen Norman Group. December 1, 2023; obstruction and interaction cost, nagging, shaming example, unnoticed mild patterns
  5. 15 U.S.C. § 8403, Negative option marketing on the Internet (ROSCA), Legal Information Institute. accessed 2026-11-04; clear disclosure, express informed consent, simple mechanisms to stop recurring charges
  6. Regulation (EU) 2022/2065 (Digital Services Act), EUR-Lex. accessed 2026-11-04; Article 25, including 25(3)(c) on termination harder than subscribing