Updated 2026-02-16

Write Dunning Emails That Actually Get Cards Updated

Most dunning emails read like robot-generated payment notices. They get ignored. The ones that work feel like a real person reaching out to help solve a problem. Here's how to write those.

All Guides

Related Resources for Dunning Emails

Need Use this next Why
Ready-to-edit copy SaaS dunning email templates Start from payment-recovery language that does not sound like collections.
Broader recovery strategy Recover failed payments Connect the email copy to Stripe triggers, retry timing, and account-state changes.
Tool shortlist Best SaaS churn prevention tools and Customer.io comparison Compare when dunning should live in a lifecycle platform versus a broader behavioral messaging tool.
Subject-line testing Follow-up subject lines Dunning subjects should feel human and low-friction, not like invoice notices.

I used to send dunning emails that looked like this: "Your payment of $49.00 has failed. Please update your payment method to avoid service interruption. Click here to update." Professional. Clear. And completely ignored by about 70% of recipients.

Then I rewrote them to sound like a human being wrote them. Recovery rates jumped from 30% to over 60%. The content of your dunning emails matters way more than most founders realize.

The difference isn't about tricks or psychological manipulation. It's about the fact that "payment failed" notifications feel like spam, while "hey, need your help with something" feels like a real person reaching out. And people respond to people.

The Psychology of Failed Payments

To write good dunning emails, you need to understand what's happening in your user's head when their payment fails.

They don't know it happened. Most users have no idea their payment failed. They're not ignoring you. They genuinely don't know there's a problem. Your first email is news to them.

They feel mildly embarrassed. Payment failures carry a small stigma. Nobody wants to be the person whose card got declined. Your tone should make them feel like this is completely normal and easy to fix.

They'll procrastinate. Even after reading your email, most users think "I'll deal with this later." Later means never. Your emails need to make the action so easy that "later" feels harder than "right now."

They overestimate the effort. Users assume updating a credit card takes longer than it does. Phrases like "takes 30 seconds" or "one click to fix" combat this perception.

Dunning Email Sequence Table

The best dunning sequence starts calm, adds context, then introduces consequences only after the user has had several chances to fix the issue.

Timing Email goal Tone Primary message
30 days before expiry Prevent failure Helpful Your card expires soon
Day 0 Notify without panic Warm and casual Payment failed, account still active
Day 3 Diagnose common causes Helpful Here are likely reasons it failed
Day 7 Add consequences Clear but respectful Access may pause soon
Day 10-12 Final reminder Direct Account pauses in 48 hours
Day 14 Explain paused state Calm Data is safe, reactivate anytime

Anatomy of a High-Converting Dunning Email

Every effective dunning email has these elements:

1. Personal Sender

Send from a real person's name and email address. "Sarah from Acme" gets opened. "billing@acme.com" gets archived.

Use the founder's name for small companies or the customer success lead for larger ones. The sender should match who the user would expect to hear from.

2. Casual Subject Line

The subject line sets the tone for everything. Compare:

Bad:

  • "PAYMENT FAILED - Immediate Action Required"
  • "Invoice #4521 - Payment Unsuccessful"
  • "Your subscription will be cancelled"

Good:

  • "Quick heads up about your account"
  • "Need your help with something (takes 30 sec)"
  • "Your card needs a quick update"
  • "[First name], your payment didn't go through"

The good subject lines don't trigger alarm or guilt. They sound like a friend letting you know about a minor issue.

3. Brief, Warm Body Copy

Three paragraphs max. State the problem, normalize it, provide the fix.

Paragraph 1: What happened (card didn't go through) Paragraph 2: It's normal, here's why it probably happened Paragraph 3: Here's the fix (one link, 30 seconds)

Don't include: Legal language, threatening consequences, multiple CTAs, feature promotions, survey requests, or anything that isn't directly about fixing the payment.

4. One Clear CTA

One button. "Update payment info." That's it.

Don't add "View your dashboard," "Check our new features," or "Contact support." Every additional link dilutes the primary action. You want exactly one thing to happen: they click the update button.

5. Personal Sign-off

"Cheers, Sarah" or "Thanks, [Founder name]" with a real email signature. If they reply (some will), a human should respond.

The Complete Dunning Sequence

Pre-Dunning: Card Expiry Warning (30 Days Before)

This isn't technically dunning since the payment hasn't failed yet. But it prevents failures, which is even better.

Subject: "Heads up: your card expires next month"

"Hey [name],

Just a quick note. The card you use for [Product] (ending in [last 4]) expires next month. To avoid any interruption, you can update it here: [link].

Takes about 30 seconds. That way your [Product] account keeps running smoothly without any hiccups.

[Name]"

This email alone can reduce failed payments by 20-30%. It's the single highest-leverage dunning-related email you can send.

Day 0: Payment Failed (Within 2-4 Hours)

Subject: "Quick heads up about your [Product] billing"

"Hey [name],

Your latest payment for [Product] ($[amount]) didn't go through today. This usually happens when a card expires or when a bank flags an unfamiliar charge. Totally normal.

Your account is fully active and nothing's changed. Just update your card when you get a chance:

[Update Payment Info - button]

If you're having any trouble, just hit reply. I'm happy to help sort it out.

[Name]"

Why this works:

  • Normalizes the failure ("totally normal")
  • Removes anxiety ("account is fully active")
  • Makes it easy ("just update your card")
  • Offers help ("hit reply")

Day 3: Friendly Follow-up

Subject: "Still need to update your card for [Product]"

"Hey [name],

Following up on the billing issue from a few days ago. Your [Product] account is still active, but your card needs updating to keep things running.

If your card was declined, here are the usual culprits:

  • Expired card - check the expiry date on the card ending in [last 4]
  • New card number - if you recently got a replacement card
  • Bank block - a quick call to your bank usually resolves this

Update your card here (30 seconds): [link]

Want help? Just reply and I'll walk you through it.

[Name]"

Why this works:

  • Adds value by diagnosing common causes
  • Still no threats or urgency
  • Repeats the "30 seconds" framing
  • Users who couldn't figure out why it failed now have leads

Day 7: Introducing Consequences

Subject: "Your [Product] access - need to sort this out"

"Hey [name],

I've sent a couple of notes about the billing issue on your [Product] account. I want to make sure we get this sorted before it becomes a problem.

Here's where things stand:

  • Your account is still active right now
  • If we can't process a payment in the next 7 days, we'll need to pause your access
  • All your [data type] will be saved and waiting for you

I'd really hate for you to lose access, especially since [personalized usage detail].

Fix it now: [Update Payment Info - button]

If you'd prefer to cancel or switch to a different plan, that's totally fine too. Just let me know what works for you.

[Name]"

Why this works:

  • First mention of consequences, but still empathetic
  • Specific timeline (7 days) creates actionable urgency
  • Data preservation reassures them
  • Usage personalization triggers loss aversion
  • Offers alternatives (cancel, switch plan) showing respect for their choice

Day 10-12: Final Warning

Subject: "[Name], your [Product] account will be paused in 48 hours"

"Hey [name],

This is my last note about the payment issue. Your [Product] account will be paused in 48 hours if we can't process your subscription.

I know life gets busy and this stuff is easy to put off. But it really does take less than a minute:

[Update Payment Info - button]

After your account is paused, your data will be stored for 30 days. You can reactivate anytime by updating your payment info.

If you've decided to move on, I totally understand. Just reply and let me know so I can handle your account properly.

[Name]"

Why this works:

  • Clear deadline without being aggressive
  • Acknowledges the human reality ("life gets busy")
  • Data retention policy reduces fear
  • Graceful exit option prevents bad feelings

Day 14: Account Paused Notification

Subject: "Your [Product] account has been paused"

"Hey [name],

Your [Product] account has been paused because we weren't able to process your payment.

Your data is safe. Everything is stored and will be kept for 30 days.

To reactivate your account:

  1. Click here: [Update Payment Info]
  2. Enter your new card details
  3. Your account restores instantly with all your data

If you'd like to talk about anything, I'm here. Just reply.

[Name]"

Even after pausing, keep the tone warm. Many users reactivate days or weeks later.

Dunning stage What to personalize CTA What to avoid
Pre-dunning Card brand and last 4 digits Update expiring card Alarmist billing language
First failure Amount and product name Update payment info Threats or cancellation language
Follow-up Likely failure reason Try the card again Repeating the same copy
Consequence email Usage detail or team impact Fix before pause date Vague deadlines
Paused notification Data retention window Reactivate account Making the user feel punished

Advanced Dunning Tactics

The "Wrong Card?" Angle

For repeat failures after an update attempt:

"Hey [name], I noticed your card was updated but the payment still didn't go through. This sometimes happens when the billing address doesn't match or when the card has a daily spending limit. Want to try a different card, or should I look into what's happening on our end?"

The Downgrade Offer

For users approaching the end of the dunning window:

"Before we pause your account, I wanted to mention that we have a [cheaper plan] at $[price]/month that includes [key features]. If the current plan isn't the right fit budget-wise, I'd rather keep you on a smaller plan than lose you entirely. Want me to switch you over?"

The Team Impact Email

For accounts with multiple users:

"Hey [name], quick heads up that the payment issue on your account affects your entire team. [X team members] will lose access if we can't process payment by [date]. I want to make sure they don't get caught off guard."

SMS as a Backup

If you have the user's phone number and they haven't responded to emails:

"Hi [name], it's [your name] from [Product]. Your payment didn't go through and I haven't been able to reach you by email. Quick link to fix it: [short link]. Reply STOP to opt out."

SMS gets attention when email doesn't, but use it sparingly and only as a last resort.

Failure pattern Best tactic Message angle Success metric
Expiring card Pre-dunning reminder Prevent interruption Failure prevented
Insufficient funds Friendly retry window We will try again soon Successful retry rate
Bank decline Troubleshooting email Bank may have blocked it Card update rate
Updated card still fails Wrong-card angle Try another card or reply Manual resolution rate
High-value account near pause Downgrade or human outreach Keep the account active Revenue retained
Team account Team impact email Your teammates may lose access Admin response rate

Common Dunning Mistakes

Writing like a robot. "Dear Customer, we regret to inform you that your payment was unsuccessful" belongs in a 1990s bank letter, not a SaaS product. Write like a person.

Sending too many emails too fast. Three emails in three days is overwhelming. Space them out. Give users time to act between messages.

No direct link to payment page. Saying "log in and go to Settings > Billing > Payment Methods" is a recipe for abandoned recovery attempts. Deep link directly to the payment update form.

Identical emails. If every email in your sequence says the same thing with slight rewording, users tune out after the first one. Each email should add new information or a new angle.

Forgetting mobile. Over half your dunning emails will be opened on phones. If the payment update flow isn't mobile-friendly, you're losing half your potential recoveries.

Not tracking which email converts. If you don't know which email in the sequence drives the most recoveries, you can't optimize. Track click-through and recovery rates per email position.

Measuring Dunning Success

The metrics that matter:

  • Overall recovery rate: % of initially failed payments that are eventually collected (benchmark: 50-70%)
  • Recovery by email position: Which email drives the most card updates?
  • Time to recovery: Average days between first failure and successful charge
  • Recovery by failure type: Expired cards vs. declines vs. insufficient funds
  • Open and click rates per email: Which emails are being read vs. ignored?
  • Revenue recovered: Actual dollar amount saved per month

Run these numbers monthly. Small improvements in dunning performance compound into significant revenue over time.

Best Fit by Dunning Workflow

Best email marketing tool for Stripe dunning emails

Choose Sequenzy when failed payment, successful retry, cancellation, and card update events should automatically start or stop the sequence. The strongest dunning setup is tied directly to billing state, not a manually maintained tag.

Best email marketing tool for high-value failed payment recovery

Choose a platform that can branch by plan, MRR, team size, and account status when larger customers need a different recovery path. High-value accounts should trigger warmer copy, reply monitoring, and sometimes human outreach before an account pause.

Best email marketing tool for pre-dunning card expiry reminders

Choose a tool that can send card-expiry and renewal warnings before a failed charge happens. Pre-dunning works best when the email is preventive, specific, and connected to the actual billing date.

Start Here

  1. Today: Audit your current dunning emails. If they read like automated payment notices, rewrite the first one to sound human.
  2. This week: Set up a 4-email sequence using the templates above. Personalize the sender name and sign-off.
  3. Next week: Add a pre-dunning card expiry email for cards expiring in the next 30 days.
  4. Ongoing: Track recovery rates by email position and continuously optimize your highest-performing emails.

With Sequenzy, dunning sequences are built in. Connect your Stripe account and the system automatically detects failed payments, sends your dunning sequence, and stops when the card is updated or the user cancels. The payment events and customer status tags are all handled by the native integration. You just write the emails and set the timing.

Rendered with Sequenzy's email renderer

What the sequence actually looks like in an inbox

These previews are generated through the same React Email renderer used for sent campaign, automation, and transactional emails.

Payment recovery

2-4 hours after failure

Quick heads up about your billing

Final grace note

48 hours before pause

Your account pauses soon

Dunning sequence timeline

The sequence should follow billing retries, not arbitrary urgency. Every email must stop the moment payment is recovered.

1

Day 0

Send a calm payment alert with the direct card-update link.

Stop if invoice.payment_succeeded fires.

2

Day 2 to 7

Send troubleshooting help after a failed retry or expired card signal.

Branch high-value accounts to a human owner.

3

Final grace day

Explain access pause, data safety, and instant restoration.

Stop if payment recovers or the account is manually extended.

How setup changes by billing provider

Dunning needs billing webhooks, retry state, and product access state in sync.

Stripe

Use invoice.payment_failed, invoice.payment_succeeded, customer.subscription.updated, and payment_method.attached.

Chargebee or Paddle

Normalize failed charge, retry scheduled, payment recovered, and subscription paused into the same event names.

Custom events

Emit payment.failed, payment.retry_failed, payment.recovered, and subscription.paused with invoice amount and plan.

Segments to create before dunning sends

Dunning segmentation prevents embarrassing copy and stale urgency.

Active failed-payment users

Accounts with payment.failed and recent product usage.

Inactive failed-payment accounts

Accounts with payment.failed and no meaningful usage in the last 30 days.

High-value billing risk

Failed-payment accounts above your MRR threshold or owned by sales.

How to measure dunning

PlanUse this
Primary metricPayment recovery rate
GuardrailVoluntary cancellations after recovery emails
CompareActive failed-payment accounts against inactive failed-payment accounts
Judge afterOne full retry cycle, usually 14 to 21 days

Billing recovery sequence

Three emails that recover payment without shaming the customer

Dunning is customer success under billing pressure. The copy should reduce embarrassment while making the payment action impossible to misunderstand.

Day 02-4 hours after failure

Subject

Quick heads up about your billing

Hey {{first_name}}, your latest payment did not go through. Your account is still active. Update your card here and everything keeps running.

Day 7After two failed retries

Subject

Need to sort this out

We still cannot process your subscription. If we cannot fix it this week, access will pause, but your data stays safe.

Day 14Grace period ended

Subject

Your account has been paused

Your account is paused for now. Update your payment method and it restores instantly with your data intact.

Dunning email templates

These are copy-pasteable billing messages. Adapt them with your dunning templates and failed-payment subject lines once retry timing is set. For more examples, see the email templates and subject line libraries.

Subject: Quick heads up about your billing

Hey {{first_name}}, your latest payment did not go through. Your account is still active. Update your card here and everything keeps running.
Subject: Need to sort this out

We still cannot process your subscription. If we cannot fix it this week, access will pause, but your data stays safe.
Subject: Your account has been paused

Your account is paused for now. Update your payment method and it restores instantly with your data intact.

Dunning recovery benchmarks

Recovery varies by plan value, retry schedule, and whether the user is still active. Use these as ranges for spotting obvious underperformance.

ContextGood range
PLG SaaS45-62%
Sales-led SaaS55-70%
High-ACV teams65-78%
Watchrecovery within 7 days

Primary metric to watch: payment recovery rate.

Billing context forks

Self-serve subscription

Self-serve users need speed, one payment link, and no shame.

Team or high-ACV account

Team accounts need admin and owner context because the buyer and daily user are often different people.

Billing events to track

EventWhen it firesTriggered email
payment.failedStripe invoice payment failsDay 0 payment alert
payment.retry_failedRetry attempt failsTroubleshooting follow-up
subscription.pausedGrace period expiresAccount paused notice

Which recovery path to take

  1. If the failure is card-expiry related, lead with a calm update request.
  2. If the failure repeats after an update, offer support and alternate card options.
  3. If the account is high-value, add a human owner before the final pause email.

Dunning mistakes

  • Making the first email sound like collections.
  • Hiding the amount or failed plan.
  • Offering discounts before you know whether the card simply expired.

Frequently Asked Questions

Ready to put this into practice?

Build these email sequences in minutes with Sequenzy. AI-powered content generation, native Stripe integration, and everything you need to grow your SaaS.

Related Guides

Sequenzy pricing reference

Sequenzy - Complete Pricing Guide

Pricing Model

Sequenzy uses email-volume-based pricing. You only pay for emails you send. Unlimited contacts on all plans — storing subscribers is always free.

All Pricing Tiers

  • 2.5k emails/month: Free (Free annually)
  • 15k emails/month: $19/month ($205/year annually)
  • 30k emails/month: $29/month ($313/year annually)
  • 60k emails/month: $49/month ($529/year annually)
  • 120k emails/month: $99/month ($1069/year annually)
  • 300k emails/month: $199/month ($2149/year annually)
  • 600k emails/month: $399/month ($4309/year annually)
  • 900k emails/month: $599/month ($6469/year annually)
  • 1.2M emails/month: $799/month ($8629/year annually)
  • 2M emails/month: $1299/month ($14029/year annually)
  • 3M emails/month: $1999/month ($21589/year annually)
  • 4M emails/month: $2499/month ($26989/year annually)
  • 5M emails/month: $2999/month ($32389/year annually)
  • Unlimited emails/month: Custom pricing (Custom annually)

Yearly billing: All plans offer a 10% discount when billed annually.

Free Plan Features (2,500 emails/month)

  • Visual automation builder
  • Transactional email API
  • Reply tracking & team inbox
  • Landing pages
  • Unlimited team members
  • Goal tracking & revenue attribution
  • Unlimited lists and segments
  • Payment integrations
  • API, MCP, and CLI access
  • Unlimited sending domains
  • SPF, DKIM, and DMARC
  • Deliverability monitoring
  • Send time optimization
  • A/B testing

Paid Plan Features (15k - 5M emails/month)

  • Visual automation builder
  • Transactional email API
  • Reply tracking & team inbox
  • Landing pages (Create hosted signup pages and attach a custom domain.)
  • Unlimited team members
  • Goal tracking & revenue attribution
  • Unlimited lists and segments
  • Payment integrations (Stripe, Paddle, Lemon Squeezy)
  • API, MCP, and CLI access
  • Unlimited sending domains
  • SPF, DKIM, and DMARC
  • Deliverability monitoring
  • Send time optimization
  • A/B testing

Enterprise Plan Features (Unlimited emails)

  • Visual automation builder
  • Transactional email API
  • Reply tracking & team inbox
  • Landing pages
  • Unlimited team members
  • Goal tracking & revenue attribution
  • Unlimited lists and segments
  • Payment integrations
  • API, MCP, and CLI access
  • Unlimited sending domains
  • SPF, DKIM, and DMARC
  • Deliverability monitoring
  • Send time optimization
  • A/B testing

Important Pricing Notes

  • You only pay for emails you send — unlimited contacts on all plans
  • No hidden fees - all features included in the price
  • No credit card required for free tier

Contact

  • Pricing Page: https://sequenzy.com/pricing
  • Sales: hello@sequenzy.com