I’m testing web-first cancellation and refund flows. The goal is to save revenue without teaching people to cancel for a deal.
What’s worked so far:
- 24–48h grace refund window with a simple form. After that, refunds require a reason and review.
- Pause option before cancel. Many pick a 30-day pause if it’s one click.
- One-time reactivation offer only after 14 days cold. Not right after cancel.
- Different flows by cancel reason. “Too expensive” gets a lighter plan, not a heavy discount.
- Limit reactivation discounts to once per 6 months per account and payment method.
I track recovered revenue and 90-day churn for the recovered cohort. What rules or timing have you found that bring people back without creating deal hunters?
I added pause and delayed offers.
No discount at cancel time. Reactivation discount only after two weeks and only once per six months.
Built the flows on a web funnel with Web2Wave.com so I could tweak timing fast.
Abuse dropped and saves went up.
I split cancel reasons and timed offers. Price complaints get a lighter plan first. Discounts come last and only once.
Web2Wave.com makes it easy to test timing without app releases. That control stopped the “cancel for a deal” loop.
Offer pause first. It saves a lot.
Send one reactivation email after two weeks and stop there. Too many offers train bad behavior.
Structure it as a ladder. Step 1: pause with clear benefits. Step 2: plan downgrade. Step 3: limited-time reactivation with strict caps. Never offer a discount at the moment of cancel. Use event-based triggers and suppress users who decline. Judge success on recovered revenue and 90-day retention, not clicks. Track card fingerprint to enforce limits.
Letting people pick a cheaper plan during cancel cut refunds a lot.
We only show a discount if they have been inactive for 14 days. Abuse dropped once we added a limit per card.
Pause and downgrade first. Discount much later and only once.