Skip to content
Back to Monetization & Revenue

Churn Recovery

How to win back churned customers with a structured win-back campaign: timing, offer, channel, and re-onboarding.

Why

Winning back a churned customer is 5-10x cheaper than acquiring a new one: the customer already knows your product, you already have their email, and the churn reason tells you what to fix. The win-back economics work because 20-30% of churn is circumstantial — the customer's budget was frozen, their champion left the company, or they switched projects — and when the circumstance changes, they will come back if you ask. The key is timing: the win-back email at month 1 (when the churn is fresh) gets 5-10% reactivation; at month 3 (when they have settled into the alternative) it gets 1-2%; at month 6 it gets < 0.5%. The offer matters: a 50% discount for 3 months is the standard win-back offer (enough to overcome the switching cost back to you, not so much that it trains them to churn-and-return). The channel matters: email is the primary channel, but for high-value churned customers, a personal email from the founder or a LinkedIn message has 3x the response rate. The most common mistake is not running win-back at all — the churned customer is written off, and the 20-30% who would have returned are gone forever.

When

Set up the win-back sequence at launch. Trigger it automatically when a customer churns — do not wait to do it manually.

How

1. Trigger the win-back sequence automatically when a customer cancels: email at day 3, day 14, day 45, and day 90 — each with a different angle
2. Day 3 email: 'we are sorry to see you go — what could we have done better?' (1-question survey) — this captures the churn reason and shows you care; some customers re-activate from this alone
3. Day 14 email: 'we have added [feature released since you left] — here is what is new' — this re-engages with product momentum; if you have not shipped anything, skip this email
4. Day 45 email: 'we would love to have you back — 50% off for 3 months if you re-activate by [date]' — this is the offer email; the deadline creates urgency
5. Day 90 email: 'last chance — 50% off for 3 months expires [date]' — final attempt; after this, move them to a cold list and stop emailing
6. For high-value churned customers (LTV > $500), send a personal email from the founder or a LinkedIn message — this has 3x the response rate of the automated sequence
7. Track win-back rate by cohort and churn reason: which reasons have the highest reactivation rate? (circumstantial churn recovers 30-40%, product-fit churn recovers < 5%)
8. When a customer re-activates, re-onboard them: show what is new since they left, restore their projects (do not delete data on churn — keep it for 12 months so re-activation is seamless)

Example

# Win-back sequence (triggered on cancellation)
const winBackEmails = [
  { day: 3,  subject: "Sorry to see you go — what could we have done better?",
    body: "We noticed you cancelled. Reply with one thing we could have improved." },
  { day: 14, subject: "We have added [new feature] since you left",
    body: "Here is what is new: [features]. Log in to try them." },
  { day: 45, subject: "We would love to have you back — 50% off for 3 months",
    body: "Re-activate by Nov 30 for 50% off for 3 months. [Re-activate]" },
  { day: 90, subject: "Last chance — 50% off expires Nov 30",
    body: "This is your last chance to re-activate at 50% off. [Re-activate]" },
];

# High-value churn (personal email from founder)
// If customer.ltv > 500:
//   [email protected] sends personal email:
//   "Hi [name], I noticed you cancelled. I am the founder —
//    what could we have done better? Reply directly."

# Win-back tracking
# Churned: 100 customers
# Reactivated: 18 (18% win-back rate)
# By reason:
#   circumstantial (budget, champion left): 30% reactivation
#   product-fit (did not need it): 3% reactivation
#   price (too expensive): 15% reactivation (with 50% off)

# Re-activation flow
// 1. Customer clicks re-activate link
// 2. Stripe re-activates the subscription with 50% coupon for 3 months
// 3. App shows: "Welcome back! Here is what is new since you left: [features]"
// 4. Projects restored (data was kept for 12 months)

Common Problems

  • ⚠Not running win-back at all — the 20-30% of churned customers who would have returned are gone forever. Set up the automated sequence at launch.
  • ⚠Sending the win-back email at month 6 — by then the customer has settled into the alternative and reactivation is < 0.5%. Send at day 3, 14, 45, 90.
  • ⚠Deleting customer data on churn — when they re-activate, their projects are gone and the re-onboarding is a cold start. Keep data for 12 months so re-activation is seamless.

Best Practices

  • ✓Run an automated 4-email win-back sequence (day 3, 14, 45, 90) triggered on cancellation — this captures the 20-30% of circumstantial churn that would have returned.
  • ✓Send a personal email from the founder for high-value churned customers (LTV > $500) — this has 3x the response rate of the automated sequence.
  • ✓Keep customer data for 12 months after churn so re-activation is seamless — restoring their projects and settings makes the win-back a continuation, not a cold start.