7 Dunning Email Templates That Actually Recover Revenue (2026)

The best dunning emails are plain text, sent from a real person, within 1 hour of payment failure. A 4-email dunning sequence recovers 40-55% of failed payments compared to 35% with Stripe retries alone. Below are 7 copy-paste templates. including subject line A/B variants and send timing. used by SaaS companies recovering $500-$5,000/mo in failed payments.

Template 1: First Failed Payment Notification

When to sendWithin 1 hour of payment failure

Subject lines (A/B/C)

AQuick heads up; your payment for {{product_name}} didn't go through
B{{first_name}}, your {{product_name}} payment needs attention
CAction needed: your {{product_name}} subscription payment failed

Email body

Hey {{first_name}}, Quick heads up; your payment of {{amount}} for {{product_name}} didn't go through today. This happens all the time (expired cards, bank holds, etc.), so no worries. We'll retry the charge automatically, but the fastest fix is to update your card here: {{update_link}} Takes about 30 seconds. Your subscription stays fully active while we sort this out. If you think this is an error on our end, just reply to this email and I'll look into it personally. . {{sender_name}}, {{product_name}}

Why this works

Sent within 1 hour when the customer is most likely to be near a device and aware of the transaction. Normalizes the failure ("happens all the time") to prevent embarrassment. One clear CTA link. Plain text from a real person, not a "noreply" branded template. Offers a reply path which builds trust and catches edge cases.

Expected open rate: 55-70%
Recovery/action rate: 20-30% recover from this email alone

Template 2: Card Update Reminder

When to sendDay 2-3 after initial failure

Subject lines (A/B/C)

AStill need your updated card for {{product_name}}
B{{first_name}}; your {{product_name}} payment is still pending
CDon't lose access to {{product_name}}. quick card update needed

Email body

Hey {{first_name}}, Following up; your payment of {{amount}} for {{product_name}} still hasn't gone through. Our automatic retries haven't worked yet, which usually means the card on file needs updating. Here's your direct link to update it (no login required): {{update_link}} Everything you've set up in {{product_name}} is exactly as you left it. Nothing changes on your end. Just need a working card to keep things running. Let me know if anything looks off. . {{sender_name}}, {{product_name}}

Why this works

Reassures the customer that their account data is safe; a common anxiety during payment issues. "No login required" removes the biggest friction point (most customers don't remember their password). Conversational tone avoids sounding like a collections notice. Still from a real person.

Expected open rate: 40-55%
Recovery/action rate: 15-20% of remaining failures

Template 3: Urgent Recovery. Subscription at Risk

When to sendDay 5-6 after initial failure

Subject lines (A/B/C)

AYour {{product_name}} subscription will be paused in 48 hours
B{{first_name}}, we don't want to pause your {{product_name}} account
C48 hours left to keep your {{product_name}} subscription active

Email body

Hey {{first_name}}, I wanted to reach out personally; your {{product_name}} payment of {{amount}} has been failing for about a week now, and we haven't been able to charge the card on file. If we can't collect payment in the next 48 hours, we'll have to pause your subscription. That means: • You'll lose access to your dashboard and data • Any automations you've set up will stop running • Your settings and history will be saved, but inactive I genuinely don't want that to happen. Here's the link to update your payment method. It takes 30 seconds: {{update_link}} If there's something going on with your account or you're having billing issues, just reply here. I'm happy to work something out. . {{sender_name}}, {{product_name}}

Why this works

Introduces concrete consequences (loss of access, automations stopping) which creates urgency without being aggressive. The 48-hour deadline is specific enough to act on but not so tight it feels like a threat. "I genuinely don't want that to happen" and the offer to work something out keeps the tone human. Lists what they'll lose. loss aversion is 2x stronger than gain motivation.

Expected open rate: 45-60%
Recovery/action rate: 10-18% of remaining failures

Template 4: Final Warning Before Cancellation

When to sendDay 7-10 after initial failure

Subject lines (A/B/C)

ALast chance to keep your {{product_name}} subscription
B{{first_name}}, your {{product_name}} account will cancel tomorrow
CWe're about to cancel your {{product_name}} subscription

Email body

{{first_name}}, This is the last email I'll send about this; your {{product_name}} payment of {{amount}} has failed multiple times, and your subscription is set to cancel tomorrow. Once it cancels: • Your account data will be archived (not deleted) • All active automations and integrations will stop • You'll need to re-subscribe to regain access If you still want {{product_name}}, update your card now: {{update_link}} If you've decided to move on, no hard feelings at all. Your data will stay archived for 90 days in case you want to come back. Thanks for being a customer. . {{sender_name}}, {{product_name}}

Why this works

"Last email I'll send" respects the customer's inbox and creates finality. Graceful off-ramp ("no hard feelings") prevents resentment and keeps the door open for win-back. Data archived for 90 days reduces anxiety about permanent loss. The contrast between "update your card now" and "we'll archive your data" frames the choice clearly. Shortest email in the sequence. urgency doesn't need length.

Expected open rate: 50-65%
Recovery/action rate: 8-15% of remaining failures

Template 5: Pre-Expiration Card Update Reminder

When to send30 days before card expires (pre-dunning)

Subject lines (A/B/C)

AYour card ending in {{last4}} expires soon. quick update for {{product_name}}
B{{first_name}}, update your card before it expires next month
CHeads up: the card on your {{product_name}} account expires in 30 days

Email body

Hey {{first_name}}, Just a heads up; the card ending in {{last4}} that you use for {{product_name}} expires next month. If it expires before your next billing date, your payment will fail and you might temporarily lose access. The fix is quick. update your card here before it becomes an issue: {{update_link}} This is a proactive reminder so you don't have to deal with failed payment emails later. Takes 30 seconds, and your next charge will go through smoothly. . {{sender_name}}, {{product_name}}

Why this works

Pre-dunning prevents the failure from ever happening. 25-30% of all payment failures come from expired cards. Framing it as "proactive reminder so you don't have to deal with failed payment emails later" makes the customer feel taken care of, not nagged. Including the last 4 digits helps them identify which card to update. This single email can reduce involuntary churn by 15-20%.

Expected open rate: 45-55%
Recovery/action rate: 30-45% update their card proactively

Template 6: Post-Cancellation Win-Back. Soft

When to send7 days after subscription cancels from failed payment

Subject lines (A/B/C)

AWe saved your {{product_name}} data. come back anytime
B{{first_name}}, your {{product_name}} account is ready when you are
CMiss anything? Your {{product_name}} account is still here

Email body

Hey {{first_name}}, It's been about a week since your {{product_name}} subscription ended due to the payment issue. I just wanted you to know; your data is still here, exactly as you left it. If you'd like to pick up where you left off, you can reactivate in about 60 seconds: {{reactivation_link}} No penalty, no setup fees, no re-onboarding. Everything comes back exactly as it was. If you've moved on to something else, totally understood. Just wanted to make sure you knew the door was open. . {{sender_name}}, {{product_name}}

Why this works

Sent at Day 7, when the customer has had enough time to miss the product but not so long they've fully replaced it. Zero-pressure tone ("totally understood") avoids pushiness. "60 seconds" and "no re-onboarding" remove the perceived effort of coming back. Emphasizing data preservation leverages the endowment effect. people value what they've already built.

Expected open rate: 35-45%
Recovery/action rate: 5-10% reactivate from this email

Template 7: Post-Cancellation Win-Back. With Discount

When to send14-30 days after subscription cancels from failed payment

Subject lines (A/B/C)

ACome back to {{product_name}}. 30% off your next 3 months
B{{first_name}}, we'd love you back. here's 30% off {{product_name}}
CSpecial offer: reactivate {{product_name}} at 30% off

Email body

Hey {{first_name}}, It's been a few weeks since your {{product_name}} subscription ended, and I wanted to check in one last time. Your account and all your data are still saved. If you'd like to come back, I've set up a 30% discount on your next 3 months. No strings attached: {{reactivation_link}} That brings your cost to {{discounted_amount}}/mo instead of {{amount}}/mo. The discount applies automatically when you reactivate. This offer is good for the next 14 days. After that, your account data will be archived (still recoverable, just not instant). Either way, I appreciate you giving {{product_name}} a try. . {{sender_name}}, {{product_name}}

Why this works

The 14-30 day window is optimal for incentive-based win-back. early enough that they remember the product, late enough that a discount feels like a genuine gesture rather than desperation. Specific discount amount (30% for 3 months) is concrete and easy to evaluate. Time-limited offer (14 days) with a data archival deadline creates dual urgency. Final line is gracious regardless of outcome. preserves brand sentiment for future word-of-mouth.

Expected open rate: 30-40%
Recovery/action rate: 8-15% reactivate with the discount offer

The Science Behind High-Performing Dunning Emails

Plain text emails outperform HTML templates in dunning by 15-25% on click-through rate. The reason is simple: an HTML email with a logo, header image, and "Update Payment" button looks like automated marketing. A plain text email from "Sarah at Acme" looks like a human who noticed something wrong and took 30 seconds to write. In dunning, trust and perceived personal attention are everything.

Timing follows a decay curve. The first email within 1 hour captures 20-30% of all recoveries in the sequence. Each subsequent email recovers less, but the cumulative effect is what matters; a 4-email sequence recovers 55-65% total versus 20-30% from a single email. Sending more than 4-5 emails hits diminishing returns and risks spam complaints.

Loss aversion drives the urgency emails (templates 3-4). Behavioral economics research shows people are 2x more motivated by losing something they have than by gaining something new. That's why listing specific consequences ("your automations will stop") works better than vague warnings ("your account will be affected"). Be specific about what they'll lose, not generic about what might happen.

The pre-dunning approach (template 5) is the highest-ROI email in this collection. It prevents 25-30% of card-related failures from ever happening. Most SaaS founders skip it because Stripe doesn't offer it natively. You need to listen for the customer.source.expiring webhook and trigger the email yourself. One proactive email eliminates an entire category of churn.

How SaveMRR Automates These Emails

You can copy-paste these templates into your own email system and wire up Stripe webhooks manually. expect 20-30 hours of engineering work to handle retry timing, card update pages, webhook handlers, email triggers, and edge cases. Or you can automate the entire stack in minutes.

  • Revenue Rescue sends a multi-step dunning sequence automatically when any payment fails. plain text, from your domain via custom SMTP (Growth plan), timed to the exact intervals above
  • Pre-dunning card expiry alerts fire 30 days before expiration using Stripe's customer.source.expiring webhook. zero failed payments from expired cards
  • Win-Back Autopilot sends a personalized 4-email reactivation sequence to churned customers, with optional discount offers based on cancel reason
  • One-click card update links. No login required, generated automatically for each failed payment customer
  • Recovery tracking dashboard shows exactly how much revenue each email recovered, per template, per day
  • Starts at $19/mo with no percentage cuts on recovered revenue. Growth plan ($49/mo) adds custom SMTP, Slack alerts, and white-label branding

For more on failed payment recovery email strategy, see the failed payment email templates and card expiry reminder templates. Use the failed payment recovery calculator to estimate how much these templates can save your business. Check the failed payment recovery benchmark for industry data, and explore the best Stripe dunning software to automate the full sequence. For indie hackers, even the first dunning email pays for itself within days.

Frequently asked questions

Should dunning emails be plain text or HTML?

Plain text. Dunning emails sent as plain text from a real person's name see 15-25% higher click-through rates than branded HTML templates. The reason: HTML emails look like marketing automation. Plain text looks like a human who noticed your payment failed and personally reached out. In dunning, perceived personal attention drives action.

How many dunning emails should I send before cancelling?

Send 3-4 emails over 7-14 days. The first email (within 1 hour) captures 20-30% of recoveries. Each subsequent email adds 10-18% more. After 4 emails, returns diminish sharply and you risk spam complaints. Give the customer at least 7 days of retry attempts before cancellation. extending to 14-28 days is even better for recovery rates.

When should I send the first dunning email after a payment fails?

Within 1 hour of the failure. Emails sent in the first hour see 55-70% open rates versus 30-40% for emails sent 24 hours later. The customer is more likely to be near a device, aware of the transaction, and willing to take action. Waiting until the next day costs you 30-50% of potential recoveries from the first email alone.

Should I offer a discount in dunning emails to keep the customer?

Not in the initial dunning sequence (templates 1-4). The customer didn't choose to leave. their payment just failed. Offering a discount signals that you think they're trying to cancel, which can actually plant the idea. Save discounts for win-back emails (template 7) sent 14-30 days after the subscription has already cancelled, where a 30% discount for 3 months typically reactivates 8-15% of churned customers.

What's the difference between dunning emails and Stripe's built-in email?

Stripe sends exactly one generic email when a payment fails. You can't customize the content, timing, subject line, sender name, or follow-up cadence. A proper dunning sequence is 4 personalized emails timed at hour 1, day 3, day 6, and day 10, each with a direct card update link and escalating urgency. Stripe's single email recovers about 5% of failures; a full sequence recovers 40-55%.

Your Stripe has a leak. Let's find it.

Free Revenue Scan: paste your Stripe key, see every dollar you lost in 60 seconds. No card needed.

Run my free scan