Dunning Email Guide That Recovers Failed Payments

A customer's monthly payment fails while they're still logging in, using the product, and receiving value. Your billing provider schedules a retry, but the customer doesn't know whether they need to act. A polite “payment failed” notice goes out, then another one a few days later. By the time the account is suspended, the customer assumes the subscription ended or decides it isn't worth fixing.
That's not a copy problem alone. It's a revenue recovery system problem.
A well-built dunning email program connects billing events, retry logic, customer context, approval controls, and clear payment-update paths. Stripe and Polar can provide the events, but your lifecycle system decides what happens next, when to contact the customer, and when to stop. The email is one visible part of a workflow designed to recover involuntary churn before a failed transaction becomes a lost subscriber.
Table of Contents
- Why Dunning Email Matters for Subscription Revenue
- Dunning protects more than a transaction
- How Dunning Triggers Work With Stripe and Polar Events
- Build the event model first
- Add delivery and approval safeguards
- Building a High Recovery Cadence and Sequence
- Use the billing window, not an arbitrary email schedule
- Change the job of each touch
- Writing Dunning Emails That Get Paid Without Sounding Pushy
- Make the action obvious
- Match the message to the touchpoint
- Automating Testing and Recovery Workflows the Smart Way
- Test the whole recovery system
- Segment from behavior and payment context
- Your Next Moves to Launch Effective Dunning
Why Dunning Email Matters for Subscription Revenue
A failed card doesn't necessarily mean a customer wants to leave. The card may be expired, temporarily blocked, short on funds, or rejected because the payment method needs attention. If your team classifies every failed renewal as churn, you'll miss a revenue problem that product improvements and acquisition campaigns can't solve.
Dunning email is the specialized subscription-billing practice of recovering failed payments. It's different from traditional collections because the customer relationship is usually still active. The subscriber may still have access, may still want the product, and may only need a clear route to update payment details.
Recent benchmark data indicates that the opportunity is material. A 2026 benchmark summary reports that mature dunning programs recover roughly 3% to 5% of MRR each month, while best-in-class subscription businesses combining retries, emails, and card updater services recover 70% to 85% of involuntary churn. The same benchmark set says a complete dunning system can recover about 70% of involuntary churn. See the benchmark summary on dunning recovery.

Dunning protects more than a transaction
A single reminder email rarely does enough. The strongest programs coordinate silent retries, email reminders, and account updater services. This lets the billing system resolve recoverable failures without customer effort, while email handles cases where the customer must replace a card, authorize a payment, or contact support.
A benchmark analyzing more than a million dunning emails found that timing changes outcomes sharply. The day-of-failure email recorded a 41.29% open rate and a 13.25% recovery rate, while recovery fell to 4.22% by day 15 and about 4.20% by day 30. Baremetrics explains the timing and retry findings.
Practical rule: Treat a failed payment as an event that starts a controlled recovery journey, not as permission to send a generic warning.
The owner should be clear. Billing or finance usually owns payment rules, lifecycle marketing owns message quality and journey behavior, product or engineering owns event delivery, and customer support handles replies that automation can't resolve. Dunning sits beside welcome, activation, expansion, churn-save, and win-back journeys, but it needs its own status model and exit conditions.
If you're documenting the recovery path for your team, a resource on how to recover involuntary churn can help clarify the difference between payment failure and intentional cancellation. The important operational distinction is simple: stop the sequence immediately when payment recovers.
How Dunning Triggers Work With Stripe and Polar Events
A dunning sequence should start from a billing event, not from a spreadsheet of customers who need chasing. The event carries the context your system needs to decide whether to send, wait, retry, escalate, or stop.
Build the event model first
Start by mapping the events your payment stack emits:
- Invoice payment failed: Begin the recovery state when Stripe or Polar can't collect the invoice.
- Payment declined: Record the decline status and available reason, such as an expired card or insufficient funds.
- Retry scheduled or attempted: Update the customer's recovery state so email timing doesn't conflict with billing automation.
- Payment recovered: Exit every pending dunning step, restore the appropriate subscription state, and prevent further reminders.
- Subscription paused or canceled: Stop standard recovery emails and route the account to the relevant reactivation or win-back path.
Recurly describes dunning management as a workflow controlling which emails are sent, when retries occur, and what happens if payment never arrives. Its documentation also explains that an automatic invoice failure can trigger a Payment Declined email, followed by retries on the configured schedule. Review Recurly's dunning management documentation.
The same principle applies when you use Stripe, Polar, webhooks, or a direct Events API. Your automation needs a durable customer and subscription identifier, the invoice or payment reference, the current billing status, and the next retry state. Without those fields, teams tend to duplicate sends or keep contacting customers after recovery.

Add delivery and approval safeguards
Send from your own domain and make the payment-update destination explicit. A customer should land on a secure billing page associated with their account, not a generic pricing page where they must search for the right subscription.
For teams connecting Stripe events to lifecycle messaging, the Stripe integration at Mara shows the kind of event connection required for billing-triggered journeys. The event should enroll the customer once, carry the current billing context, and remain idempotent if the provider sends the same webhook again.
A useful model is event-trigger campaign enrollment, similar to the Call Loop event trigger enrollment approach. Enrollment starts from the event, while the customer's recovery state controls what happens afterward.
Use three controls:
- Draft: Generate the message without sending it.
- Approval only: Require a person to approve the journey or message before delivery.
- Auto-send: Allow low-risk, well-tested states to send automatically.
The sequence should pause when a retry is pending if that's your chosen policy, but it must always stop on a successful payment. It should also branch by payment method and plan rather than forcing every customer through one identical path.
Building a High Recovery Cadence and Sequence
A failed payment creates a short recovery window. The customer still recognizes the charge, knows which card they use, and can fix the issue before service access becomes a visible interruption. Send the first dunning email close to the failed-payment event, then let billing state determine each later touch.
A benchmark of more than a million dunning emails found that the day-of-failure message performed substantially better than later reminders. Recovery fell to 4.22% by day 15 and about 4.20% by day 30, as The Baremetrics analysis documents this decay. Later messages still have a job. They give retries time to work and reach customers who missed the first email, while the sequence places its clearest action early.
Use the billing window, not an arbitrary email schedule
A monthly plan can use 4 to 5 dunning emails spaced 4 to 5 days apart across a 28-day window. For annual plans, the schedule can extend to 60 days with 8 to 10 emails, following Recurly's launch guidance for dunning schedules.
A practical monthly sequence looks like this:
- Day 0: State that the payment failed, explain whether access remains available, and provide the payment-update link.
- Day 3: Remind the customer without copying the first email. Include the affected subscription and relevant payment-method context.
- Day 7: Connect the subscription to the value the customer is using, then explain what to do before the next retry or access change.
- Day 12 to 14: Increase urgency by stating the consequence clearly, including a planned pause or service interruption.
- Final checkpoint: Confirm the current account state and provide a direct reactivation or support path.
A front-loaded cadence with checkpoints around day 3, day 7, and day 12 to 14 gives customers repeated opportunities to act while recovery odds are still higher. Kinde's dunning guidance covers this front-loaded structure.
Email timing must follow the provider's retry logic. Silent retries can recover 21% of failed payments before customer action, according to the Baremetrics benchmark. Let those attempts run where appropriate, and use webhook state to delay, suppress, or escalate messages. A successful Stripe or Polar payment should close the recovery path immediately, even if queued emails remain.
Change the job of each touch
The first message identifies the problem. The second reduces uncertainty. A middle message reinforces why the subscription matters, while a later message states the consequence without threatening the customer. Approval controls should match risk: draft or approval-only for new branches, auto-send for tested states with clear exit conditions.
Do not send the same body five times with different subject lines. Branch on behavior and billing events. A click without a card update can trigger support. No engagement can qualify the customer for another approved channel. A successful payment suppresses every remaining touch.
Use email marketing automation workflows to coordinate enrollment, delays, branching, approvals, and exit conditions. Dunning remains lifecycle automation, but recovery depends on Stripe and Polar billing events, not email engagement alone.
Writing Dunning Emails That Get Paid Without Sounding Pushy
A strong dunning email removes doubt in the first few lines. The customer should know what happened, which subscription is affected, what action is required, and where to take that action without reading a long explanation.
Personalization should be useful, not decorative. Include the customer's name when available, the plan name, the amount due when appropriate, the last four digits of the payment method if your billing system exposes them safely, and a direct payment-update link. Don't include sensitive card details or ask the customer to send payment information by replying to email.

Make the action obvious
The subject line should identify the issue without sounding like fraud, punishment, or a sales promotion. “Update your payment method to keep your [Plan Name] active” is more useful than “Important account notice.” The button should say what happens next, such as Update payment method, rather than “Continue” or “Learn more.”
Keep the body short enough to scan on a phone. Put the primary action near the opening and repeat it only when the message is long enough to need a second prompt. Include a support route for customers whose payment method is valid or who don't recognize the charge.
A good first-touch structure might read:
Payment issue: We couldn't process your payment for [Plan Name]. Update your payment method to keep your subscription active. If you've already fixed it, no further action is needed.
Later messages can be more direct:
Your subscription is at risk: Please update your payment method by [date] to avoid an interruption. Need help? Reply to this email and our team will assist.
Avoid fake countdowns, vague threats, and language that blames the customer. The email should accurately describe the billing state and the consequence configured in your system. A clear billing descriptor and a recognizable sender matter as much as the prose because confusion creates support tickets instead of recoveries.
For more guidance on structure, clarity, and calls to action, use this resource on how to write better emails.
Match the message to the touchpoint
| Touchpoint | Primary Goal | Tone and CTA |
|---|---|---|
| Day-of-failure notice | Explain the failed payment and invite a quick fix | Friendly and direct, “Update payment method” |
| Early reminder | Reduce confusion and catch customers who missed the first email | Helpful, “Review billing details” |
| Value reminder | Connect payment recovery to the product the customer uses | Relevant and positive, “Keep my plan active” |
| Final notice | Make the account consequence unmistakable | Firm but respectful, “Fix payment before interruption” |
| Post-pause message | Provide a clean route back | Welcoming, “Reactivate subscription” |
Read the company website and past lifecycle emails before choosing the voice. A technical developer tool may use precise, restrained language. A consumer wellness product may need more reassurance. The billing facts stay accurate, but the surrounding language should sound like the product customers already trust.
Automating Testing and Recovery Workflows the Smart Way
Automation doesn't mean removing judgment. It means moving judgment into the workflow, where the team can review it once and apply it consistently.
Start with an approved journey definition. Specify which event enrolls a customer, which statuses pause the sequence, which event exits it, who receives each variant, and what happens when the customer replies. For a sensitive billing program, default to approval-only mode until the team trusts the event mapping and suppression logic.
Test the whole recovery system
Testing only subject lines misses the largest levers. Test the delay after failure, the relationship between retry attempts and email sends, the payment-update page, the degree of urgency, and the amount of product value included in the message.
A sensible testing system can:
- Generate variants: Create different subject lines, openings, CTAs, and value reminders while preserving required billing facts.
- Use approval gates: Keep new variants in draft or approval mode until someone reviews tone, links, and account-state language.
- Shift traffic to winners: Use multi-armed bandit optimization to give more send share to variants that perform better while continuing to learn.
- Rewrite weak messages: Refresh variants that attract opens but don't produce payment updates.
- Stop on recovery: Remove recovered customers from every pending branch immediately.
Measure recovery by billing outcome, not by email engagement alone. Opens and clicks help diagnose the message, but the primary result is whether the invoice is paid and the subscription returns to the intended state. Also monitor false enrollments, duplicate sends, reply volume, support escalations, and customers contacted after recovery.
Segment from behavior and payment context
You don't need a manual query builder for every branch. Compute segments from event history and current state:
- A customer with a failed payment and a pending retry can receive a lighter reminder.
- A customer whose card-update page was visited but not completed may need clearer instructions.
- A long-standing subscriber may deserve a support-forward message.
- A customer with repeated hard declines may need a different route than one experiencing a temporary failure.
- Annual-plan subscribers need a longer recovery window than monthly subscribers.
Retry timing should also vary by payment method and business model. Maxio distinguishes Credit Card Dunning from Manual Remittance Dunning and supports different schedule templates with plan-level overrides. Maxio's documentation explains these schedule choices.
Weekly reporting should be written in plain language: how many customers entered recovery, how many payments recovered, which variants won, which replies need attention, and where customers stopped progressing. That report turns dunning from a forgotten automation into an operating process.
Mara is one option for teams that want an agent to draft lifecycle emails from the company's website, repository, and past emails, propose journeys from Stripe or Polar events, enforce approval controls, generate variants, categorize replies, and report performance in plain language. It operates alongside existing newsletter or CRM tools and sends from the client's own domain.
Your Next Moves to Launch Effective Dunning
Small SaaS teams don't need a perfect recovery system before shipping. They need a reliable first version that starts from the right event, gives customers a fast fix, and stops cleanly when payment succeeds.
Prioritize the launch in this order:
- Connect billing events: Map Stripe or Polar payment failures, retry attempts, successful payments, pauses, and cancellations to a single customer recovery state.
- Create the minimum sequence: Send a same-day notice, an early reminder, a value-based follow-up, and a final account-state message.
- Add the payment path: Link directly to the authenticated billing or payment-update experience. Don't send customers to a generic settings page.
- Turn on approval controls: Review the first journeys, variants, deadlines, and suppression rules before enabling automatic sends.
- Measure recovered invoices: Report paid invoices and restored subscriptions, then use opens, clicks, and replies to diagnose why customers did or didn't act.
- Extend for annual plans: Use a longer recovery window when the billing model warrants it. Recurly's annual-plan guidance supports 60 days with 8 to 10 emails, compared with a 28-day window and 4 to 5 emails for monthly plans. The schedule guidance is documented by Recurly.
Don't let a failed payment journey become an uncontrolled collections process. If customers dispute charges or need a merchant-side resolution path, a tool such as Disputely's resolve feature for merchants may complement the billing and support workflow, while dunning handles recoverable subscription failures.
Ship the event model first, then improve cadence and copy with real recovery data. The teams that recover the most revenue usually aren't sending the loudest emails. They're coordinating retries, timely reminders, clear approvals, and precise exit conditions.
Mara helps software teams turn Stripe and Polar billing events into approved lifecycle journeys, including dunning emails that stop when payment recovers and improve through variant testing. Visit Mara to see how it can draft, operate, and report on your payment-recovery workflow.