Who this is for: Founders and operators of subscription-based SaaS or AI products who are losing revenue to failed payments and cancellations without a systematic recovery process.
The problem
Churn has two flavors, and most businesses only fight one of them.
Voluntary churn (customers who actively cancel) gets all the attention. But involuntary churn, revenue lost to failed credit card charges, gets treated as a billing problem and handed to Stripe. That's a costly mistake. Stripe's default dunning (the automatic retry logic built into every account) recovers about 38% of failed charges. Dedicated dunning tools recover 60 to 80% of the same failed charges. That gap, 22 to 42 percentage points of recoverable revenue, is sitting on the table for every subscription business relying on default settings.
The second problem is what happens after a customer cancels. Most businesses send one "sorry to see you go" email and move on. Win-back campaigns (sequences sent 30 to 90 days after a cancellation) reactivate 12 to 18% of churned customers at 5 to 7x lower cost than acquiring a replacement customer from scratch. The economics are compelling: the churned customer already knows your product, already had a reason to try it, and can be reached without paying for new acquisition.
This playbook covers both levers.
The Dunning + Win-Back Framework
Part 1: Dunning. Recovering Failed Payments Before They Become Cancellations
Failed payments are not the same as cancellations. A customer whose card expires or hits a temporary limit hasn't decided to leave. But if you don't recover the charge quickly, they will.
Step 1: Audit your current dunning setup.
If you're on Stripe's default settings, you're running the out-of-the-box retry logic with a 38% recovery rate. Check your Stripe settings under Billing, Subscriptions, Smart Retries. "Smart retries" sounds like enough. It isn't. It retries on a schedule optimized for aggregate recovery, not for your customer segment.
Step 2: Layer in a pre-dunning flow.
Pre-dunning is proactive: before a charge fails, reach out to customers whose payment methods are expiring in the next 30 to 60 days. A simple "your card on file expires soon, update it here" email, sent 30 days before expiry, prevents the failure entirely. This is lower-friction than any recovery campaign.
Step 3: Deploy dedicated dunning software or a custom sequence.
Purpose-built dunning tools run retry logic at higher-conversion intervals, split-test email copy, and handle the "charge failed but customer didn't cancel" state cleanly. They bring recovery rates to 60 to 80%. If you can't justify a dedicated tool today, a three-email manual sequence (Day 1: polite notice, Day 4: direct request, Day 8: final notice before pause) will still outperform doing nothing.
When to use: When setting up or improving your failed-payment recovery flow. Replace [product type] with your specifics. The output gives you a ready-to-use dunning sequence.
Step 4: Match the message to the charge status.
- First failed charge: friendly, benefit-of-the-doubt tone. "Something went wrong on our end. Update your payment details here."
- Second failed charge: more direct. "We weren't able to process your payment. Your access will pause in X days."
- Third failed charge (or final): clear, calm statement of outcome. No guilt, no pressure. Just facts and a link.
Part 2: Win-Back. Reactivating Churned Customers
A customer who canceled 45 days ago is not the same as a net-new stranger. They know your product, they experienced some value (even if not enough to stay), and the reason they left is often fixable.
Step 1: Segment churned customers by exit reason.
This requires a pre-cancellation survey. If you don't have one, add it immediately. Four multiple-choice options plus an optional text field, shown before the cancellation is processed:
- Too expensive
- Didn't use it enough
- Missing a feature I need
- Switching to another product
- Business situation changed
Each segment gets a different win-back message. A customer who left because of price gets a different offer than a customer who left because of a missing feature you've since shipped.
Step 2: Launch the win-back sequence at day 30 to 45.
Don't reach out the week they canceled. That reads as desperate and won't land. Wait 30 to 45 days. This is enough time for the friction of switching to have surfaced, but not so long that they've fully committed to an alternative.
The sequence has three messages:
- Day 30 to 45: Re-introduction. What's changed since they left (new feature, improvement, case study). No offer yet.
- Day 50 to 55: Direct offer matched to their stated exit reason. If they left for price, offer a discount or downgrade path. If they left for a missing feature, show them it's been shipped.
- Day 60 to 70: Final message. "Last time we'll ask" framing. Sometimes the cleanest message performs best here.
When to use: When building win-back campaigns segmented by exit reason. Run this prompt once per exit-reason segment for tailored messaging.
Step 3: Measure reactivation rate by segment.
A 12 to 18% reactivation rate is the aggregate benchmark. High-fit customers who left for fixable reasons (price, feature gap) will outperform that. Customers who left because the product genuinely wasn't right for them will underperform. Knowing which is which helps you triage future churn earlier.
How to apply it
- This week: Check your Stripe dunning settings. If you're on defaults, identify the gap between your current recovery rate and 60 to 80%. That number is the revenue case for a better setup.
- This week: Add a pre-cancellation survey if you don't have one. Four radio buttons plus an optional text field, shown before any cancellation is processed.
- This month: Add a pre-dunning email to customers with cards expiring in the next 30 to 60 days.
- This month: Build a three-email dunning sequence for failed charges (Day 1, Day 4, Day 8).
- This month: Segment your last 90 days of churned customers by exit reason. Build a win-back sequence for your largest segment first.
- This quarter: Measure reactivation rate by exit-reason segment. Use that data to identify which exit reasons are most recoverable, and address those root causes in the product.
When to use: When analyzing your churn data to prioritize which segments to build win-back campaigns for first. The output gives you a prioritized action plan.
The one decision
Dunning and win-back both force the same judgment: how much friction do you introduce in the recovery process? Aggressive dunning copy and heavy-handed win-back discounting can damage the relationship with customers who are only temporarily lapsed. The data supports a low-pressure, benefit-of-the-doubt tone in dunning and a value-first (not discount-first) approach in win-back. Discounts should be the last message in the win-back sequence, not the first.