failed payment recoverydunning emailsSaaS billingchurn prevention

Dunning Email Templates for Failed Payment Recovery (With Real Copy)

Copy-paste dunning email templates for SaaS failed payment recovery. Includes Day 1, Day 3, Day 7, and Day 14 sequences — plus the subject lines, timing, and tone that actually get cards updated.

N
Naj
Founder, ChurnGuard
June 17, 2026
10 min read

Table of Contents

  1. Why Failed Payment Recovery Matters
  2. The Dunning Sequence: Timing and Structure
  3. Email Templates: Day 1 Through Day 14
  4. Subject Line Best Practices
  5. Beyond Email: SMS, In-App, and Card Updaters
  6. What Not to Do
  7. Measuring Success
  8. FAQ

Failed payments are the most under-addressed churn driver in SaaS.

On average, 20–40% of monthly SaaS churn is involuntary — customers who didn't choose to cancel but simply had a card decline. A Visa expiry, a bank fraud flag, an insufficient funds error on a tight month. These customers wanted to stay. They just didn't notice the payment failed.

A well-designed dunning sequence recovers 30–60% of these customers before their subscription lapses. That's typically a 10–25% reduction in total monthly churn without any product changes, without any CS effort, and without acquiring a single new customer.

Here's the exact sequence — and the actual email copy — to build it.


Why Failed Payment Recovery Matters

Before diving into templates, let's anchor on the numbers.

Say you're at $100K MRR with 3% monthly churn. That's $3,000 in lost MRR each month. If 30% of that ($900/mo) is involuntary churn from failed payments, and a dunning sequence recovers 50% of those customers, you're saving $450/mo — $5,400/year — with zero incremental acquisition cost.

At $1M MRR, the same math produces $54,000/year in recovered revenue from a handful of automated emails.

This is why "fix your dunning first" is the universal recommendation for early-stage SaaS: it's the highest-ROI retention initiative available.


The Dunning Sequence: Timing and Structure

The optimal dunning sequence for most SaaS businesses:

DayTriggerToneGoal
Day 0Payment failsStripe retries (automatic)
Day 1Retry failsHelpful, urgent-lightAlert customer, prompt update
Day 3Still unpaidHelpful, directSecond prompt, show consequences
Day 7Still unpaidClear urgencyFinal warning before suspension
Day 14Subscription lapsesRe-engagementWin back after lapse

A few principles that govern this sequence:

  1. Don't start aggressive. Day 1 should feel like a helpful service notification, not a collections letter. Most card failures are accidental.
  2. Make the update action one click. Every email should link directly to a billing portal or payment update page — not to the homepage or dashboard.
  3. Escalate tone gradually. Day 7 can be direct about consequences; Day 1 should not be.
  4. Send from a human. Emails from billing@ perform worse than emails from a real name at your domain. "Alex from ChurnGuard" outperforms "ChurnGuard Billing."

Email Templates: Day 1 Through Day 14

These templates are written for a B2B SaaS product. Adapt the product name, support email, and billing portal URL.


Day 1 — Heads Up (Helpful, Low Urgency)

Subject: Your payment didn't go through — quick update needed


Hi [First Name],

Just a quick heads up — we tried to charge your card on file for your [Product Name] subscription, but the payment didn't go through.

This usually happens when a card expires or a bank flags an unusual charge. No worries — it happens to everyone.

Update your payment details →

It only takes 30 seconds, and your subscription will stay active once it's updated.

If you have any questions or think this is an error, just reply to this email — I'm happy to help.

[Your Name]
[Product Name]


Day 3 — Gentle Reminder (Slightly More Direct)

Subject: Reminder: payment still pending for your [Product Name] account


Hi [First Name],

Your [Product Name] subscription payment is still unpaid — we sent a note about this 2 days ago and wanted to follow up.

Your account is still active right now, but we'll need to suspend access if the payment isn't updated soon.

Update payment details →

If you're dealing with a billing issue or need to change plans, just reply — I can help sort it out.

[Your Name]
[Product Name]


Day 7 — Clear Urgency (Access at Risk)

Subject: Final notice: [Product Name] access will be suspended in 24 hours


Hi [First Name],

Your [Product Name] subscription has been unpaid for 7 days. We need to suspend your account tomorrow if the payment isn't updated.

Your access to [key features] will stop working until the payment is resolved.

Update payment now →

If you're having trouble with payment or want to explore a different plan, reply to this email and I'll make sure we find a solution that works for you.

[Your Name]
[Product Name]

P.S. If you'd like to pause your subscription rather than cancel, we offer that option too — just let me know.


Day 14 — Re-engagement After Lapse

Subject: Your [Product Name] account has been suspended — we'd love to have you back


Hi [First Name],

Your [Product Name] account was suspended on [date] due to an unpaid balance.

We've kept your data and settings intact — if you'd like to reactivate, it only takes a moment.

Reactivate your account →

If you decided [Product Name] wasn't the right fit, I'd genuinely appreciate hearing why — it helps us build a better product. Just reply to this email.

If life got busy and the payment slipped through the cracks, no problem — your account will be back to normal as soon as the payment is updated.

[Your Name]
[Product Name]


Bonus: Card Update Confirmation

Send this immediately after a successful card update to close the loop.

Subject: Payment updated — you're all set


Hi [First Name],

Great news — your payment details have been updated and your [Product Name] subscription is active.

You won't need to do anything else. Your next billing date is [next billing date].

Thanks for staying with us — if there's anything we can do to make [Product Name] more useful for you, just let me know.

[Your Name]
[Product Name]


Subject Line Best Practices

Subject lines have the biggest impact on open rate — and open rate is the gating factor on recovery.

High-performing patterns:

  • "Your payment didn't go through" — specific and non-threatening
  • "Quick update needed on your [Product] account" — personal and actionable
  • "Your [Product] access expires tomorrow" — urgency without aggression
  • "We need 30 seconds from you" — curiosity-driven

Avoid:

  • "PAYMENT FAILED" — caps = spam filters + aggressive tone
  • "URGENT: Account suspension" — reads like a scam email
  • "Invoice #INV-2847 is overdue" — formal/cold, triggers procrastination
  • "Your subscription has been cancelled" — inaccurate and alarming; creates unnecessary support tickets

Personalisation: First name in the subject line improves open rates by an average of 26%. If your billing system passes the customer name, use it: "[First Name], your payment didn't go through".


Beyond Email: SMS, In-App, and Card Updaters

Email-only dunning leaves recovery rates on the table. The full stack:

Stripe's network card updater: Stripe automatically updates card details for some Visa, Mastercard, and Amex cards when they're renewed. Enable this in your Stripe settings — it silently recovers a percentage of failures before the customer even knows there was a problem.

In-app payment banners: Show a persistent payment failure banner inside your app when a customer is logged in with an overdue account. This catches customers who use the product but aren't reading billing emails.

SMS (high-value accounts only): For accounts over a certain ACV threshold, adding an SMS on Day 7 typically increases recovery by 15–25%. Keep it short: "Hi [Name] — quick note: your [Product] payment is overdue. Update here: [short link]"

Phone call (enterprise): For accounts over $500/mo, a personal call from a CS rep on Day 7 is almost always worth the time. Recovery rates on phone calls are 60–80%.


What Not to Do

Don't suspend access without warning. Suspending access on Day 1 (same day as first failure) is a reliable way to convert a recoverable situation into a cancellation. Give at least 7 days.

Don't send from noreply@. Customers can't reply to get help, which creates frustration and escalates the situation unnecessarily.

Don't use legalese. "Your subscription agreement requires payment within [X] days per clause 4.2 of our terms" is not how humans talk, and it will get ignored or reported as spam.

Don't offer discounts in dunning emails. Discounts in dunning sequences train customers to let payments fail whenever they want a discount. Save discounts for voluntary cancellation recovery instead.

Don't stop at Day 7. The Day 14 win-back email recovers a meaningful portion of customers who lapsed — even after suspension. Don't skip it.


Measuring Success

The only metric that matters for dunning is recovery rate: percentage of failed payment customers who successfully update their payment details before permanent cancellation.

Benchmark recovery rates:

  • Email-only dunning: 30–45% recovery
  • Email + in-app banners: 40–55% recovery
  • Email + in-app + SMS: 50–65% recovery
  • Email + in-app + SMS + card updaters: 55–70% recovery

Track by cohort: Measure recovery rate for each month's failed payment cohort. This lets you A/B test subject lines and copy without conflating results.

Track the Day 14 email separately: Win-back emails after lapse are a different motion from pre-lapse recovery. Keep them separate in your reporting.


FAQ

How soon should I send the first dunning email? Within 24 hours of the failed payment. The longer you wait, the further customers mentally move on from their subscription. Day 1 is the highest-recovery email in the sequence.

Should I retry the payment before emailing? Yes — Stripe's Smart Retries will automatically retry the card at optimal times. Don't email until after the automatic retry has also failed (usually within a few hours).

What if the customer has already cancelled? Don't send dunning emails to customers who have explicitly cancelled. Filter your dunning list to only customers whose subscriptions are in past_due or unpaid status, not cancelled.

How many emails is too many? Four to five over two weeks is the sweet spot. More than that starts to erode trust and increase spam complaints. The Day 14 win-back is optional — many businesses stop at Day 7.

Can I automate this, or do I need to build it myself? Tools like ChurnGuard, ProfitWell Retain, and Chargebee Retention handle this automatically for Stripe-billing businesses. If you'd rather own the logic, Customer.io or Klaviyo can run the sequences with a webhook trigger from Stripe.


ChurnGuard automates your entire dunning sequence from Stripe — failed payment detection, email sequences, and win-back flows. Start a free trial and see how much involuntary churn you're currently losing.

N
Naj
Founder, ChurnGuard

Naj is the founder of ChurnGuard, a retention automation platform for subscription SaaS businesses. He writes about churn prediction, intervention playbooks, and the systems that turn retention into a growth engine.

See your Revenue at Risk — free

Connect your Stripe account and get a full churn audit in 2 minutes. No signup, no credit card. ChurnGuard shows you exactly which customers are about to cancel and how much MRR is at stake.

Run Free Churn Audit →View Pricing
← Back to all posts