For companies growing beyond a couple hundred subscribers, it’s highly profitable to go beyond basic dunning. And we’ll show you how in this detailed guide on fighting involuntary churn.

Are you growing a business based on recurring revenue? Looking for ways to reduce churn? Early along with any SaaS startup’s growth, failed payments are an annoyance that can quickly snowball into a big headache.

Nothing is more frustrating than losing a good customer to a payment issue. Whether it’s friction that forces re-evaluation of your product, email deliverability issues, or a myriad of edge cases that fail to get subscriptions back in the green, a lackluster dunning setup for managing involuntary churn can be costly (even in the short term).

And the losses compound month-over-month-over-month-over-oh my god we worked so hard to acquire these customers and now they’ve vanished… becoming a sneaky revenue leak that creeps up on you.

Dunning Ain’t so Funny

No joke, some companies Churn Buster works with can afford annual salaries with the revenue they save.

The math is simple: for every dollar of MRR lost per month, multiply by 78.

$1 + ($1 +$1) + ($1 + $1 + $1)…

This is the annual revenue cost, if you’re retaining customers for 12 months more or less.

Dunning At Scale

For scrappy startups, the task of following up with past-due payments is usually done manually. A quick email or phone call once or twice a week is a distraction, but not painfully disruptive to an employee’s workflow.

Then — when a company has grown to 200 subscribers or so — manual follow ups become a never-ending chore.

Most people look to automate some emails at this point. And as with all things, there’s an easy way to do it… and a right way to do it.

Based on years of experience in this space, we’ve put together this 10 step guide for air-tight, bulletproof, sleep-easy-at-night dunning. Aka best practices for contacting customers, updating credit cards, and resolving payment issues.

1. Pre-dunning: don’t do it.

Years ago, it was good practice to warn customers 30 days, 15 days, 3 days before their card expired. Grandpa called it “pre-dunning.”

The experience felt spammy and aggressive, but you could get in front of billing dates before the inevitable happened: failed payment, and service interruption.

Today, Stripe accounts—and many other payments platforms—include something called Card Updater. It communicates with Visa, MasterCard, and other card issuers to update expiration dates automatically. It’s not even fully implemented worldwide, and already effective for over 70% of cards that look like they’re going to expire.

Yeah, it’s freaking AWESOME for subscription payments.

Want to see Card Updater updating cards in your Stripe account? Check this out:

You will see many like this:

See that “Source: Automatic” bit? That’s card updater at-work! 💳

Why does this matter?

Let’s say we’re emailing customers with big red notifications that their card is expiring soon…

For every ten customers we email, seven would have been auto-updated.

In a world without pre-dunning: those seven charge goes through fine, and their recurring billing doesn’t skip a beat. Seamless and low friction, as subscriptions are designed to be.

Interrupting 70% of these customers will provide zero value at best.

If you’d like to get in front of your customers before their billing date, we’d suggest friendly messaging that adds value, and letting Card Updater work its magic.

2. Don’t be trigger happy ✉

Most in-house and basic dunning solutions are set up “the easy way.”

The easy way is triggering emails every time a payment fails. Usually, this means wiring up emails to Stripe’s webhooks.

With emails sending each time a payment attempt fails, you have precious little control over optimizing the recovery process. Retention funnels are driving traffic to a conversion point similar to a marketing/sales funnel, and can be optimized similarly—if you have the flexibility to do it.

We didn’t build Churn Buster the easy way. Our retention funnels are totally independent from the payment schedule, which has more advantages we’ll get to later. It’s a big project, but highly recommended if churn optimization is important to you (which it should be).

We’ve seen as high as 39% of payment issues resolved within the first few days, simply by allowing for card retries *before* sending emails.


The subscription model’s success relies on continuity, so don’t intervene with a mission critical message (one that’s demanding a credit card to continue) until you ACTUALLY NEED TO.

Honor the experience of your customers. If you want to send them something, remind people how how much they value your existence. Later, smack them with a failed payment notice if you gotta.

The more your company grows, the more critical this will be.

Side benefit: By allowing time to resolve payments via reattempts, your recovery metrics will actually make sense. When emailing right away for a card update, there is no way to separate necessary updates from frivolous ones.

Doing nothing when payments fail isn’t an option, but doing nothing for the right amount of time… that’s what a bulletproof system will do.

3. Optimize Card Update Pages 📱

Over half of Churn Buster clients’ customers update credit cards on mobile devices.

Don’t gamble at the point of recovery- card updating should be fast, simple, and seamless for your customers.

You may think that customers will find a way to update their card if they value your service, but that’s not always the case. Shit happens: People get busy or go on vacation, they leave their job at the company, or if you’re B2B you could be dealing with multiple points of contact who may not see the value/usage of your product.

Company credit cards, manager authorizations, and other internal operations of the customer’s company all find their way into the updating process. So remove the risk, and make it easy.

  • Make the page mobile-responsive: Over 70% of updates happen on mobile devices. If your card update pages aren’t mobile-friendly, you risk losing these people to simple frustration– and that’s just not worth it.
    Bypass the log-in: Again, simplicity and ease of use are key on your card update pages. Simply put, if you ask for a password, and if it’s too difficult to remember or find it, they will churn.
  • Host the page on your site: Avoid phishing concerns—customers see your domain name and your SSL certificate. Capture pages can also be embedded anywhere within your website.
  • Enable Instant Verification: Verify payment method on-the-spot to improve recovery rates. With Churrn Buster, customers are notified while still on-page if the payment fails, which increases successful completions and decreases customer confusion.
  • Encrypt the page: Keep your customers and their information safe– it’s your #1 priority. With Churn Buster, card information is passed directly to Stripe or Braintree, never touching Churn Buster servers. Every Capture link also has a built-in HMAC signature preventing attackers from determining the URLs of your pages. Each signature is built using customer-unique keys, and an off-site encrypted key.
  • Check-in on your pages: You never want to send a faulty card update page to a customer, it’s a massive load of friction on their experience. Create a schedule to check the functionality of those pages and avoid a massive headache.

Read more about Churn Buster’s Card Capture Forms here.

4. Ensure Subscriptions Get Reactivated ✅

Specifically with Stripe—check with your payment processor on this—at the end of the retry schedule, a customer can either be marked as unpaid or canceled.

Depending on your retry settings, this could happen anywhere from day 3 after the initial failure, or day 22. You can review your settings here:

Marked Unpaid:

After a subscription is marked as unpaid, Stripe won’t automatically reattempt payment of that invoice.

So let’s say it’s marked unpaid on day 9. When a customer updates their card on day 10… They will have a new card on file, BUT their subscription won’t have an automatic payment attempted.

Let that sink in for a second. No payment attempted.

We work with companies that have monthly payments exceeding $1000. Can you imagine that vanishing across multiple accounts at scale?

And the worst part: future invoices will continue to get generated, but future payments won’t be attempted.

So you’re left with a valid payment method, a happy customer, and no revenue. This is the purest definition of involuntary churn, or payment churn—aka the churn most people don’t know they have.

Marked Canceled:

This scenario isn’t much better.

Let’s assume the same schedule: subscription canceled on day 9, card updated on day 10. The new card will be stored, but since there is no subscription anymore, payment won’t be attempted and future renewals won’t occur.

In either case, it may even look like you saved the customer depending on your reporting tool. But they’ll never pay you again. More formally known as Ghost Customers.

At early stage, you should manually bring subscriptions back into an active state following a late card update. When this becomes too labor intensive, you’ll need to write code or automate handling of these scenarios.

Read more about subscription reactivations here. 

5. Collect on Unpaid Invoices 💰

Whenever a card is updated, decide how far back you’d like to go for collecting unpaid invoices. Beyond re-activating the subscription, you can also collect for any invoices that went unpaid in that time frame.

dunningSome companies like to collect all unpaid invoices, and at Churn Buster our default look-back is 30 days. And some prefer to just waive the balance and move on.

The specifics depend on your business model, so make sure you put thought into this and get set up with the proper custom solution.

And definitely set the right expectations! You don’t want customers to be surprised when they return to you seven months later, and get charged seven monthly payments of $100.

6. Plug Leaks 🔍

There are many, many, many various edge cases that can result in revenue churn. Here are a few worth considering, particularly if you are high-growth or at-scale:

  • What happens if your payment processor’s API is temporarily down?
  • How will customers with multiple subscriptions be handled? Customers with multiple customer IDs? Customers with discounts? In-trial?
  • If a customer’s email address changes in your app — does it also change in your payment processor?
  • How will you be tracking email deliverability?
  • What happens when your company contact changes jobs?
  • If a customer updates their card multiple times, will they be billed multiple times?
  • Will payment be initiated if a customer updates their card after a subscription has been marked as canceled/unpaid?
  • How far back will you collect on delinquent invoices? When collecting on multiple invoices, will you get notified of large balances so you can personally manage the customer experience?
  • (Stripe-specific) Will an invoice be auto-paid if it’s already been closed? What if it’s been forgiven? Will emails continue to be sent?

At Churn Buster we’ve solved for most of these questions. As a fact of life, there will always be more edge cases—and we’ll always be hacking away at them.

7. Track the right metrics 📊

Performance visibility is usually missing from any in-house build.

And for those with dashboards provided, poorly attributed metrics can create a misleading picture of where value is being created.

Note: for services charging fees based on performance, you should understand how performance attribution works.

For visibility to mean anything at all, it’s important to know what you are looking at.

Without a clear picture of what’s happening, you aren’t able to optimize as you grow. Churn Buster gives you deep visibility into every customer and their campaign history, so you can recover as much as possible, especially when manual intervention is required.



And beyond performance stats, it’s important simply to know what’s going on with your customers experiencing payment issues.

Here are some good things to know:

  • Who is currently past due? (failed a payment and has not been resolved or considered churned)
  • Where is each person in your “funnel?” (i.e. emailed 3/5 times, next email on Friday)
  • When a funnel ends in a “win,” what was the cause? Did they update their card? Was that before or after you emailed them? Was it reattempted successfully?
  • Are emails getting delivered/opened?
  • Are your card update pages loading reliably?
  • These metrics won’t always be immediately actionable. But over time you’ll get to know your business better and that’s always a good thing.
  • For example, if you see a gradual drop in card reattempt successes, you may want to drill down to a root cause. Are more customers signing up with pre-paid debit cards? Are banks flagging your charges as high-risk for some reason?
  • Or if your emails aren’t being opened. Have you set up DKIM/SPF records to authenticate the emails? Are your subject lines too aggressive, or too passive? Are emails being flagged as spam?

In addition to understanding your business better, and having the ability to drill down into potential issues, you’ll be able to trust that the system is working as expected without relying on blind faith. When you’re emailing thousands of people about billing issues — you‘ll enjoy knowing that things are working as expected.

8. Prioritize Regular Maintenance 🔧

A basic system can be fun to build as a one-time project, but who will keep the gears greased?

With all this revenue at-risk month after month, simple oversights can be costly when they take months to discover.

Once you’ve setup your system, routinely watch for broken links, pages that aren’t responding, deliverability issues, updates in your payment processor’s API, etc. What’s measured can be improved, so when you notice a failure point you’ll be able to jump in and fix it.

Automated monitoring systems obviously can help take the load off your team.

Slack alerts are a great way to monitor your process and get notified of issues ASAP. Again, just make sure someone is watching the alerts.

Beyond basic maintenance, here’s an example of something you could watch for: Customer updates card, card gets declined, customer doesn’t try again.

Depending on your setup, you may automatically reset and start emailing them the same messaging all over again. Or you might see a card update and remove them from future outreach. In either case you may want to jump in and offer help to this customer who is making an effort to pay you.

If it becomes a regular problem, tune up your system so customers are treated to the right experience automatically.

9. Set Up Emergency Handling

UX issues aside, some leaks will sink you more quickly than others. These are stop-everything moments that you want to know about immediately, instead of next time you check in on things.

Establish a process of alerts for your payment processor API uptime, and monitor your dunning system for critical failures.

Did a recent code push take down your card update pages? Can you detect who tried to access those pages during the downtime?

When your email service provider has downtime, or their queues back up…are emails still getting sent out?

If these kind of hiccups routinely happen without emergency handling, you will routinely miss out on opportunities to renew subscriptions.

10. Follow up!

If you ask Steli from to give you one tip, it’d likely be, “Follow up ’til you die!!”

And he’s right, too many people give up early whether they’re sending sales emails, or retention emails.

Our brains tell us that the person we’re working with is no longer interested, they think we are harassing them with too many emails. But it’s rarely the case. With dunning emails, you can expect a spam rate of well under 0.05%.

We see card updates come in at every stage of our process, and we’ve had to lengthen our recovery funnels to retain a higher percentage of customers.

People have long to-do lists, they go on vacation, they require approval to use the company card, they are waiting on a reissued card, they get distracted… and all they often need is a nudge.

Follow. Up. Relentlessly.

If you made it this far, congratulations! You now understand more about managing failed payments than perhaps you ever wanted to know.

As you continue to grow, optimizations have an exponentially higher long-term impact on LTV.

If you’re interested in customer retention and recognize the impact it can have, there is no reason to wait. Take action today and see the benefits compound with each passing month.

Deeper margins and more LTV that can be fed back into customer acquisition. Fuel that growth engine, and make more money to build a better product and create value for everyone.

Like what you see from Churn Buster? Let’s start making progress on failed payment recovery. Check out plans and pricing here. 

Ken Johnson

Author Ken Johnson

Riding the first wave of subscription ecommerce, Ken co-founded in 2009. He now resides in San Diego, dedicated to client success at Churn Buster and learning how to lose at tennis and poker.

More posts by Ken Johnson

Leave a Reply