Loom cancel flow · 2023

Graceful goodbyes

I redesigned Loom’s cancel flow on the principle that being straight with people about what they were giving up, and offering them a smaller plan instead of fully leaving, would retain customers better than any dark patterns would.

Role
Senior Product Designer, Billing and Monetization
Timeline
January–March 2023
Scope
Cancellation, downgrade offer, content design
Partners
Product, Engineering, Data, Content

What happened

Praised publicly
users posted about the cancel flow, which essentially never happens to a cancel flow
+35% MRR
retained from the same cohort, A/B tested against the old flow
Adopted twice
the cards became the pattern for Loom’s other retention surfaces, and a year later Atlassian Commerce rebuilt their own cancel flow from the designs and docs I handed over

What it replaced

The old flow was standard. It listed what you would lose, but did not offer any alternatives. The survey arrived after the decision had been made, so it collected data for Loom and changed nothing for the customer. The exit was a text link sitting underneath the main button to keep your plan.

The bet

Three principles drove the design changes:

  • Warmer language. Written to sound like a person rather than a policy.
  • Show what they lose, in their own numbers. Specific figures that feel personal, instead of a giant feature matrix.
  • No dark patterns. The mandate was retention and the scope was mine, and the first thing I did with that scope was narrow it: no buried cancel button, no guilt copy, no discount that makes leaving feel expensive. Which meant hitting a retention number with my hands tied.

    The constraint is why we found the seat-reduction offer. Banning discounts forced us to ask why people were actually leaving, and a chunk of them weren’t leaving over value at all — they were paying for seats nobody used. The save offer became “pay us less,” not “here’s a discount if you stay.”

What it took to ship

  • Taking a hypothesis to data science rather than waiting for a report — the seat-waste finding came out of a question I asked them to test, not a deck they handed me
  • A/B testing the whole flow against the old one, so the retention claim is measured rather than argued
  • Three full content passes on four cards, because they had to tell someone their team was about to lose things without frightening them into a decision or burying the news so politely they missed it
  • Handing the designs and the documentation to Atlassian Commerce after the acquisition, who rebuilt their own cancel flow from them a year later

The same card, three ways

Three passes went into four cards. They had to tell someone their team was about to lose things, with real numbers attached, without either frightening them into a decision or burying the news so politely that they missed it.

Early version public/images/case-study/cancel-card-v1.webp one card
First pass
Middle version public/images/case-study/cancel-card-v2.webp one card
Second pass
Shipped public/images/case-study/cancel-card-final.webp one card
Shipped

The first pass states the policy and leaves the reader to work out what it means for them. The second adds their own numbers and a red header, which raises the alarm. What shipped is calmer to look at but much harder to ignore: it leads with the thing you would have to do, then sets your own number against the new limit, 28 against 25, with the limit in red.

The full exploration board public/images/case-study/cancel-explorations-board.webp tall · the whole contact sheet
Every version Scroll inside the frame for a look into the content design iterations.