
Dribbble Alternative for Product Teams: Why Real Flows Beat Pretty Shots
Jul 31, 2026
What does a ‘cancel subscription’ button say about a product? Turns out, it says a lot! I studied cancellation flow experience of 4 well-known SaaS apps, and that taught me far more than any theoretical framework.
In this article, I will breakdown four distinct approaches by these products (Fireflies.ai, ElevenLabs, Miro & Chatgpt), and what each product gets right, where it introduces unnecessary friction, and what product and CX teams can borrow from each.
How the flow works
When a user clicks to cancel, Fireflies doesn’t move straight to a confirmation screen. Instead, it interrupts the flow with a short question asking why the user is leaving. Only after this input does the cancellation proceed. Once the account is cancelled, Fireflies continues to surface upgrade prompts within the billing area rather than closing the relationship entirely.

What this gets right
The core strength of this approach is that it treats the cancellation moment primarily as a research opportunity rather than a conversion opportunity. Fireflies isn’t trying hard to change the user’s mind in the moment; it’s trying to understand the underlying cause.
That data is valuable in aggregate: if “missing feature” or “too expensive” starts trending as the dominant reason, product and pricing teams get a clear signal without needing to run a separate survey.
The post-cancellation upgrade prompts are also a smart, low-pressure way to keep the account reachable. Rather than treating the cancelled state as a dead end, Fireflies keeps a light thread open for reactivation.
Where it introduces friction
The single question before cancellation is a mild but real obstacle. It’s defensible as long as it’s skippable and doesn’t block the exit, but if a user feels forced to justify their decision before they’re allowed to leave, the “light nudge” starts to feel like a toll booth. The distinction between a thoughtful pause and a mandatory hurdle comes down entirely to whether the question can be bypassed.
The takeaway
Fireflies demonstrates that the simplest possible retention mechanism, asking one honest question, can be nearly as valuable for the business as an aggressive incentive, without carrying the same risk of feeling manipulative.
Explore the full cancellation flow by Firefly in Watobu.
ElevenLabs’ cancellation flow opens by highlighting the specific features the user will lose. It then asks for a reason for cancelling, and responds with a one-time discount offer. The flow closes by keeping resumption simple, so a cancelled account can be reactivated with minimal effort.

Showing concrete feature loss instead of a generic “Are you sure?” prompt is a strong application of loss aversion. Telling a user exactly what disappears gives them the information needed to make an informed choice, which is good UX regardless of whether it changes their decision.
Sequencing the discount after the reason for cancelling is also a meaningful design choice. It allows the incentive to be somewhat targeted rather than blanket; a discount is a much more relevant response to “too expensive” than it is to “I don’t need this anymore.”
The risk with any discount-led flow is irrelevance. If a user’s stated reason has nothing to do with price, offering money off doesn’t solve their actual problem; it just adds a step before they reach the exit they were already looking for. ElevenLabs’ flow is only as strong as how well its offer logic maps discount visibility to price-related cancellation reasons. Applied indiscriminately, the same mechanism becomes noise.
ElevenLabs shows that financial incentives can be a legitimate retention tool, but only when they’re triggered by a matching reason. A one-size-fits-all discount is a weaker version of the same idea.
Miro’s cancellation path is the most elaborate of the four, moving users through several distinct stages: an emotionally framed value reminder (“We’re sorry to see you go”), a pre-selected downgrade offer to a cheaper plan, a repeated cancellation action, and a final confirmation.

The progressive structure is genuinely well-reasoned in concept. It separates users by underlying motivation: those who forgot what they’d lose get a value reminder; those who are price-sensitive get a cheaper plan; those still determined to leave get a straightforward exit. This kind of segmentation, done well, can address several different churn causes within a single flow instead of applying one generic message to everyone.
The downgrade offer in particular is a stronger lever than a simple discount, because it changes the actual product commitment rather than just the price; it gives genuinely price-sensitive users a sustainable long-term home instead of a temporary reprieve.
Two issues stand out. First, the downgrade option arrives pre-selected while cancellation is positioned as the secondary path, a choice-architecture decision that nudges outcomes in the company’s favor and edges toward manipulation rather than assistance. Second, requiring a second, separate “cancel” action after a user has already reviewed the loss reminder, declined the downgrade, and selected cancellation adds a step that provides no new information, only repetition.
The emotional framing in the opening screen is also worth flagging. Language like “we’re sorry to see you go” isn’t inherently harmful, but it shifts what should be a neutral account decision into an emotionally loaded one, and teams should use that kind of copy deliberately rather than by default.
Miro illustrates both the ceiling and the risk of a multi-stage retention ladder: done with restraint, it can serve several churn motivations well; stacked without restraint, each additional stage compounds friction rather than clarity.
ChatGPT’s flow begins with a prominent retention offer, extending Plus benefits for another month, presented alongside a much less visually prominent “No thanks.” Declining the offer doesn’t immediately cancel the subscription; instead, it triggers a warning that access will end immediately, followed by a second, separate cancellation action.

The offer itself is well-conceived: rather than pushing users toward a different plan, it simply extends what they already have, which is a low-effort, low-risk way to test whether more time would change the decision. The immediate-access-loss warning is also genuinely useful information; a user should know before confirming whether cancellation ends access right away or only at the end of a billing period.
The visual imbalance between the offer and the decline option is the first issue, emphasis is understandable from a business standpoint, but it shouldn’t come at the cost of making the “leave” path harder to locate or read. The bigger issue is the sequence after decline: the user has already communicated intent to cancel once, declined an offer, and is then asked to cancel a second time after a warning. Each individual step is reasonable in isolation, but the cumulative effect asks the user to restate the same decision multiple times.
ChatGPT demonstrates that even a single, well-targeted retention offer can end up feeling repetitive if it’s followed by additional confirmation steps that don’t add new information after the user has already made their decision clear.
Despite different mechanisms- feedback collection, discounts, downgrades, and time-based offers- all four products share the same underlying tension: a business incentive to retain revenue competing with a user’s right to a fast, clear exit. The products that handle this tension best share three traits: they personalize the nudge to the user’s actual reason for leaving, they limit themselves to one meaningful intervention rather than several, and they make the final confirmation step unambiguous rather than another opportunity to persuade.
The products that struggle share the opposite pattern: generic messaging applied to every user regardless of reason, multiple retention attempts stacked in sequence, and confirmation steps that repeat rather than clarify. The lesson for any team building this flow isn’t to avoid retention design altogether; it’s to stop the moment the user’s intent is clear and let the exit be as respectful as the onboarding was welcoming.
Looking across Fireflies, ElevenLabs, Miro, and ChatGPT, there isn’t one “correct” cancellation flow. Each product is solving a slightly different business problem: Fireflies prioritizes learning why users leave, ElevenLabs tests whether price is the blocker, Miro tries to save users through a downgrade, and ChatGPT uses a time-based incentive to delay churn.
What matters is not copying any one of these patterns, but understanding why each intervention exists and when it makes sense.
The strongest cancellation flows follow a simple principle: identify the reason, make one relevant attempt to address it, then respect the decision.
If you’re designing your own cancellation experience, start by asking what problem you’re actually trying to solve. If you need better churn insight, a lightweight reason question like Fireflies may be enough. If price is a major churn driver, a targeted discount or downgrade like ElevenLabs or Miro can make sense. If users may simply need more time to experience the product’s value, a temporary extension like ChatGPT can be worth testing.
The key is to make the intervention conditional rather than universal. Someone leaving because the product is too expensive should not receive the same message as someone leaving because they no longer need the product. The cancellation reason should determine what, if anything, happens next.
Just as importantly, treat friction as a limited resource. One meaningful intervention can help; stacking a survey, value reminder, discount, downgrade, and multiple confirmations quickly turns retention into resistance. Once the user has clearly declined the relevant alternative, the product should stop persuading and let them leave.
So the practical framework is simple:
Understand → Respond → Respect.
Understand why the user is leaving. Respond with one relevant intervention that could genuinely solve that problem. And if the user still wants to leave, respect the decision and make the exit clear.
That is the real lesson from these products. A good cancellation flow isn’t the one that makes it hardest to leave. It’s the one that gives the business a meaningful chance to prevent avoidable churn without making the user fight their way out.
……………………….
The four cancellation flows in this article are just a small sample of how SaaS companies handle the moment a customer decides to leave.
On Watobu, you can explore cancellation flows and other real product experiences across a growing library of SaaS and CX apps. Instead of signing up for every product and clicking through the experience yourself, you can browse the actual flows screen by screen and see how different companies approach the same problem.
Explore SaaS cancellation flows and thousands of other product flows on Watobu