ARTICLE
What Stripe Smart Retries Does Not Cover

Stripe Smart Retries recovers failed payments. It does not run retention.
Stripe natively retries declined charges with AI timing, emails the customer on each failure, updates expiring cards, captures a cancellation reason from a fixed list of eight, and can offer one retention coupon. What it does not do: connect the reason to the offer, let customers pause instead of cancel, win back customers who already left, or touch revenue billed outside Stripe. Turn on everything Stripe gives you first. The gaps below are what is left after you do.
If you have read Stripe’s revenue recovery documentation and turned on Smart Retries, dunning emails and the card account updater, you have done the highest-value work available to a Stripe business, and you have done it for free. That is the correct first move and most teams should stop reading here until they have finished it.
This page is the next question. Once Stripe’s native stack is fully on, what is still leaking?
We build a retention tool, so we have an obvious interest in your answer being “quite a lot”. That is exactly why every claim below quotes Stripe’s own documentation, with a link and the date we read it, 31 August 2026. Where Stripe already covers something, we say so, including in the two places where we expected a gap and found a working feature instead.
What Stripe already covers, so you do not buy anything for it
Worth stating plainly, because a lot of vendor content in this category implies otherwise.
| Capability | Native in Stripe? | Detail |
|---|---|---|
| Retrying failed payments | Yes | Smart Retries, AI-timed. Recommended default is 8 retries over 2 weeks |
| Emailing the customer on failure | Yes | An email after each failed payment, with your branding, linking to a card update page |
| Expiring card notices | Yes | Plus renewal, trial-ending and unpaid-invoice reminders |
| Updating reissued cards | Yes | Automatic card account updater |
| Recovery analytics | Yes | Failure rates, recovery rates, recent failed payments |
| Capturing a cancellation reason | Yes, on by default | Fixed list of eight reasons, free text only behind “Other reason” |
| Offering something to a cancelling customer | Yes, one coupon | Retention coupon, off by default |
| Pausing a subscription | Yes, via API or Dashboard | Customers cannot do it themselves in the portal |
| Custom no-code workflows | Yes, up to three | Billing Automations |
Stripe Billing includes all of it at every tier.If you have switched off any row above, close this page and go switch it on.
Sources: Revenue recovery · Smart Retries · Configure the customer portal · Cancellation page · Pause subscriptions · Automations. All read 31 August 2026.
The five gaps, in the order they cost you money
The cancellation reason never reaches the offer
This is the big one, and it is structural rather than a missing feature.
Stripe collects a cancellation reason from a fixed list: it’s too expensive, I need more features, I found an alternative, I no longer need it, customer service was less than expected, ease of use was less than expected, quality was less than expected, other reason.
Stripe also lets you deflect a cancellation with a retention coupon. You configure it by selecting one coupon from a dropdown in your portal settings.
Those two features do not talk to each other. One coupon, one dropdown, every customer. The person leaving because your product is too expensive and the person leaving because they finished their project and no longer need it receive the identical discount. For the first person that offer is aimed correctly. For the second it is irrelevant, and a discount aimed at someone who has stopped needing the product mostly teaches them that your prices were negotiable.
Reason-conditional offers are the single highest-leverage thing a cancellation flow does, and it is the thing a one-coupon dropdown structurally cannot do.
The reason arrives after the decision, so it is analytics and not a save
Stripe’s documentation is precise about the sequence:
“After a customer cancels their subscription, you can collect a reason for their cancellation.”
The reason is captured on the way out, once the outcome is fixed. That data is genuinely useful, it lands in your Dashboard, in Sigma and on the subscription.updated webhook, and you should be reading it monthly. But it is a post-mortem. Nothing in the flow asks why first and then responds to the answer while the customer is still deciding.
Customers cannot pause, so your only alternative to cancelling is cancelling
Pause is a real Stripe capability. You can pause a subscription from the API or the Dashboard, the status becomes paused, and you get webhooks to de-provision access.
Your customers cannot reach it. Stripe’s own documentation:
“The customer portal shows that the subscription is paused, but subscribers can’t use the portal to pause subscriptions themselves.”
So a customer who wants to stop paying for three months while they are between projects has exactly two options in front of them: keep paying, or cancel. A meaningful share of them take the second option and never come back, when a pause would have kept the relationship alive. Offering pause self-serve means building it yourself against the pause endpoint, which also requires flexible billing mode and a recent API version.
Nothing fires after a customer has already gone
Stripe Billing Automations run on five triggers, and all five are live billing events: an invoice due date approaching, an invoice finalized, an invoice overdue, a subscription canceled, a subscription payment failing.
The one that looks like win-back is “Subscription is canceled”, and its only customer-facing action is “Send subscription cancellation email”, described as a cancellation confirmation with an optional survey link. It cannot carry an offer.
There is no trigger for a customer who churned 30 or 60 days ago. The single most reliable retention campaign in subscription businesses, going back to people who left once their circumstances have changed, has nothing native to hang on. Stripe’s recovery feature list does not include a win-back or reactivation product, and it does not claim to.
Everything stops at the Stripe boundary
Every recovery feature described here acts on subscriptions and invoices that live in Stripe Billing.
If you also bill through WooCommerce, Braintree, an in-app store, or a legacy processor you have not finished migrating, none of those charges are retried, none of those customers get dunning emails, and your involuntary churn rate is measured on a fraction of your revenue. Teams in this position usually discover it when the recovered-revenue number in Stripe stops matching the number in the finance model.
To be fair about it: this is true of every gateway-native recovery tool, not a Stripe failing. It just means gateway-native tooling can never be your complete answer once you bill in more than one place.
One more thing worth knowing before you build around it
If you use Billing Automations to write custom retry logic, note this line from Stripe’s documentation:
“If an automation executes, it ignores your global settings.”
An automation built for one segment silently replaces your Smart Retries defaults for that segment, and each event only ever triggers one automation. Teams that add a custom dunning flow for annual subscribers and later wonder why recovery dropped for that cohort are usually looking at this. You also get three automations in total, so it is not a general-purpose workflow engine.
So what should you actually do?
Under roughly $30k MRR
Turn on every native Stripe feature in the table above, including the cancellation reason and a single retention coupon, and run it for a quarter. It is free with Billing and it recovers the easy majority of involuntary churn. Do not buy a tool yet.
Above that, or billing in more than one place
The gaps start to cost more than the fix. In order of what usually returns the most, add reason-conditional save offers, a self-serve pause, a win-back campaign for people who already left, and recovery that covers your non-Stripe revenue.
Either way, measure before you switch
Read your recovery rate in Stripe’s recovery analytics first, so that whatever you do next has a number to beat.
If you want to see which of these gaps is actually costing you money, our comparison of dunning tools for Stripe sets out the options including Stripe’s own, and failed payment recovery covers the mechanics in depth.
FAQ
What does Stripe Smart Retries not cover?
Smart Retries handles failed payment retries and Stripe covers dunning emails, card updates and recovery analytics alongside it. It does not connect cancellation reasons to save offers, does not let customers pause instead of cancelling, has no win-back campaign for customers who already left, and only acts on revenue billed through Stripe Billing.
Does Stripe collect cancellation reasons?
Yes, and it is on by default. The customer portal cancellation page offers a fixed list of eight reasons, with optional free text behind “Other reason”. Reasons appear in the Dashboard, in Sigma and on the subscription.updated webhook. You cannot write your own questions, and the reason is collected after the customer cancels.
Can Stripe offer a discount to stop someone cancelling?
Yes, one. You select a single retention coupon in your customer portal settings and it is offered to customers before they cancel. It is off by default. The same coupon goes to every customer, and it cannot be varied by cancellation reason, plan or customer value.
Can customers pause their subscription in Stripe?
Not by themselves. Stripe supports pausing through the API and the Dashboard, but per Stripe’s documentation subscribers cannot use the customer portal to pause subscriptions themselves. Offering pause as a self-serve alternative to cancelling requires your own build.
Does Stripe have win-back campaigns?
No. Stripe’s revenue recovery features cover retries, failure emails, card updates, analytics and automations. The only cancellation-triggered customer email you can automate is a confirmation, which cannot carry an offer, and no Stripe trigger fires on a customer who churned in the past.
Does Stripe Smart Retries work with other payment processors?
No. Stripe’s recovery features act on subscriptions and invoices in Stripe Billing. Revenue billed through another gateway is not retried and does not appear in Stripe’s recovery analytics.
How many times does Stripe retry a failed payment?
The recommended Smart Retries default is 8 attempts over 2 weeks, configurable across windows from one week to two months. If you disable Smart Retries and write your own schedule, you are capped at three retries. Subscriptions cancel automatically after up to eight unsuccessful attempts, which you can change in your Dashboard billing settings.
Is Smart Retries included with Stripe Billing?
Yes, at every Billing tier, at no extra cost above Stripe Billing itself.
