Resources › Billing, Revenue & Reporting

How to configure Stripe smart retries for maximum recovery

Most subscription businesses lose 5-9% of revenue to failed payments. Smart Retries are the first lever to win it back. Here is how to configure them properly.

Published July 2, 2026

Most subscription businesses on Stripe lose 5-9% of revenue to failed payments. Not fraud, not refunds. Just expired cards, soft declines, and retries that fire at the wrong time or never fire at all. The money was already earned. It walks out the door quietly, every month, and most teams never see the line item.

Stripe Smart Retries are the first lever to win that revenue back. Used well, they recover a meaningful share of failed charges automatically. Left on defaults, they leave money on the table. Here is how to set them up properly.

What Smart Retries actually do

A failed recurring charge is rarely permanent. A card gets declined for insufficient funds on the 1st and clears on the 3rd when a paycheck lands. A card expires and the customer never updates it. Smart Retries is Stripe’s machine-learning retry engine: instead of retrying on a fixed schedule, it predicts the time a given card is most likely to succeed and retries then, across a window you control.

This matters because the difference between a good retry and a bad one is timing. Retrying an “insufficient funds” decline an hour later just earns you another decline. Retrying it two days later, in the morning, often clears.

Why the defaults leave money on the table

Smart Retries are powerful, but the surrounding settings ship conservative, and three gaps are common:

  • The retry window is too short. Recovery keeps climbing for days. Cutting retries off early forfeits the late-clearing charges.
  • Retries run silently, with no dunning emails. The customer never learns their card failed, so an expired-card decline can never recover.
  • The Account Updater is off. Expired and reissued cards never get refreshed, so every retry hits a dead number.

Each is a quick fix in the Stripe Dashboard.

Configure Smart Retries step by step

1. Turn on automatic retries

In the Stripe Dashboard, go to Settings -> Billing -> Subscriptions and emails (Revenue Recovery). Enable automatic retries, then choose Smart Retries rather than a fixed schedule so Stripe optimizes the timing per card.

2. Set a generous retry window

Give recovery room to work. Allow retries to run across a multi-day window (Stripe supports up to roughly a month) rather than a couple of attempts in 48 hours. Most recoverable charges clear within the first week, but the long tail is real revenue.

3. Pair retries with dunning emails

Turn on the failed-payment customer emails. A good dunning sequence does what a retry alone cannot: it tells the customer to act. Keep the tone helpful, link straight to the card-update page, and stage the messages (a gentle first notice, a firmer reminder, a final notice before cancellation) instead of one generic “payment failed” email.

4. Switch on the card Account Updater

Enable the Account Updater so Stripe automatically pulls updated card numbers and expiry dates from participating networks when a customer’s card is reissued. This silently recovers a chunk of expired-card failures with zero customer effort. It is one of the highest-leverage toggles in the whole flow and it is off by default.

5. Decide what happens when retries run out

Set what Stripe does at the end of the retry window: cancel the subscription, mark it unpaid, or leave it past due. Match this to your business. Cancelling too early kills recoverable revenue; never cancelling clogs your books with dead subscriptions. Define the cutoff deliberately.

6. Watch the right webhooks

Wire up the invoice webhooks so your systems stay in sync: invoice.payment_failed, invoice.payment_succeeded, and customer.subscription.deleted. These let you trigger your own in-app prompts, pause access correctly, and alert your team when recovery is trending the wrong way.

How to measure recovery

You cannot improve what you do not watch. Track two numbers:

  • Recovery rate - the share of failed charges that eventually succeed. This is the headline metric for retries and dunning.
  • Involuntary churn - customers lost to failed payments rather than by choice. This is the number that hits MRR, and the one your retry strategy is built to shrink.

Stripe’s Revenue Recovery view reports recovered revenue; pair it with your own churn reporting so you can attribute the lift.

Common mistakes to avoid

  • Retrying hard declines (lost card, stolen card, “do not honor”) the same way as soft declines. Hard declines will not clear; stop retrying and prompt the customer instead.
  • Running retries with no email path, so expired cards can never be updated.
  • Cancelling subscriptions the moment the first retry fails.
  • Treating it as set-and-forget. Decline patterns shift; revisit the settings quarterly.

Get your recovery number

Smart Retries, dunning, and the Account Updater are levers, not luck. Tuned together, they turn a silent 5-9% leak into recovered revenue, month after month.

Want to know what failed payments are costing you right now? Book a free Stripe audit. We will show you exactly where revenue and risk are leaking - and you keep the findings either way.

Know your number before you spend a dollar.

Start with a free audit. We'll show you what's leaking — revenue and risk — and you keep the findings.

Book a free Stripe audit →