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.
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:
- Click here: [Update Payment Info]
- Enter your new card details
- 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.
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.
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.
Start Here
- Today: Audit your current dunning emails. If they read like automated payment notices, rewrite the first one to sound human.
- This week: Set up a 4-email sequence using the templates above. Personalize the sender name and sign-off.
- Next week: Add a pre-dunning card expiry email for cards expiring in the next 30 days.
- 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.