Cancellation Flow Analysis — What Churning Customers Do Before They Leave
Customers rarely cancel on impulse. Learn how to analyse the weeks before a cancellation, design an honest cancellation flow that captures the real reason, and act on the patterns without resorting to dark patterns.
Short answer: by the time a customer clicks "cancel", the decision was made weeks earlier. The useful analysis is of the period before: falling usage, a failed attempt at something, an unresolved error. In the cancellation flow itself, ask one honest question about why, offer a genuine alternative such as a pause or a cheaper plan, and make leaving easy. Obstructing cancellation damages trust and is restricted by consumer law in many places.
Table of Contents
- Churn Starts Before the Cancel Button
- Signals in the Weeks Before
- Watching the Last Sessions
- Designing the Cancellation Flow
- Acting on the Reasons
- Key Takeaways
Churn Starts Before the Cancel Button
Two kinds of churn need different analysis.
| Voluntary | Involuntary | |
|---|---|---|
| What | The customer chooses to cancel | A payment fails and the subscription lapses |
| Cause | Value, fit, price, a bad experience | Expired cards, bank declines |
| Fix | Product and customer success | Payment retries, reminders, card updates |
Involuntary churn is often a meaningful share and is the easier one to reduce. Check it first.
Signals in the Weeks Before
Look at accounts that cancelled and trace back.
- Declining logins. Weekly to monthly to nothing.
- Fewer active users in a team account.
- Core action stops. They log in and no longer do the main thing.
- A support ticket left unresolved or answered slowly.
- An error hit repeatedly.
- Visits to the billing or plans page.
- A data export. Often preparation to leave.
- The champion left. The user who set it up is no longer active.
- Downgrade before cancelling.
Track the visible ones:
deepsync("track", "billing_page_viewed");
deepsync("track", "data_exported");
deepsync("track", "cancellation_started");A customer who views billing, exports data, and has not used the core feature in two weeks is telling you something while there is still time to respond.
Watching the Last Sessions
Identify users, then watch the final few sessions of accounts that cancelled.
- What were they trying to do the last time?
- Did they succeed?
- Did they meet an error or a limit?
- Did they look for a feature that does not exist?
- Was the last session only a visit to settings and billing?
Then go further back, to their first month. Many churned accounts never got properly set up. That is an onboarding failure that surfaced as churn months later (onboarding).
Remember the retention window. Recordings older than your plan's retention period are purged, so review churned accounts promptly (retention limits).
Designing the Cancellation Flow
Do
- Make the cancel option findable in account settings.
- Ask one question: "What is the main reason you are leaving?" with five or six options and an optional comment.
- Offer a relevant alternative, once:
- Too expensive → a cheaper plan or a discount - Not using it enough → a pause - Missing a feature → say whether it exists or is planned - Technical problem → immediate help
- Confirm clearly what happens to their data and when access ends.
- Make it possible to return.
- Send a confirmation.
Do not
- Hide the option or require a phone call.
- Add repeated "are you sure?" screens.
- Use guilt-laden button text.
- Make the "stay" button prominent and the "cancel" link nearly invisible.
Obstructive cancellation is treated as a dark pattern, and regulators in several jurisdictions have rules requiring cancellation to be as easy as signing up. It also turns a departing customer into a critic.
Measure the flow as a funnel: started, reason given, alternative accepted, completed. The share accepting an alternative is your save rate.
Acting on the Reasons
| Stated reason | Check in the data | Possible action |
|---|---|---|
| Too expensive | Did they use the features of their plan? | Better plan fit, usage-based option |
| Not using it | When did usage drop, and after what? | Onboarding, re-engagement |
| Missing feature | Did they look for it? | Roadmap, or clearer communication if it exists |
| Too complicated | Where did they struggle? | Simplify that flow |
| Switched to a competitor | What did they do just before? | Lost-deal analysis |
| Project ended | Nothing wrong | Make returning easy |
| Bugs | Which errors did they hit? | Fix and tell them |
Compare the stated reason with the behavior. "Too expensive" from an account that never activated is really "never got value". Stated reasons are the polite version (feedback and behavior).
Read cancellations weekly
Reasons and last sessions together, every week, for every cancellation while you are small. Nothing else tells you as directly what to fix.
Key Takeaways
- The decision to leave is made before the cancel click.
- Separate voluntary from involuntary churn.
- Ask one honest question and offer one relevant alternative.
- Compare the stated reason with what the account actually did.
Conclusion
A cancellation is the last and clearest piece of feedback a customer gives. Make it easy to give, and read every one.
Frequently Asked Questions
Related articles
Stay in the loop
Get the latest insights on product analytics and user behavior delivered to your inbox.



