Richard felix This article was written by Richard Felix of Stunning They are the experts in recovering Stripe revenue. Stunning stops SaaS app churn by preventing failed payments, and that's just the start.

Billing Problems

Happy customers who want to keep paying you.

Billing issues are one of the most depressing reasons for customer churn. You’ve built an app that you’re proud of, and you have many happy customers. But one day you realize that a good chunk of them are slipping away just because you can’t charge their credit cards. It’s crazy. You’ve done a lot of work to convince someone to be your customer, you provide a service that provides value for them, and then all of a sudden they aren’t your customer anymore just because their credit card doesn’t work.

There’s good news, though. With the right system in place, you can prevent more of your customers from slipping away due to failed payments.

Card Updaters

The first line of defense is choosing the right payments platform, because some of them work directly with credit card companies to try to keep your stored credit cards up to date, with what’s called a card updater. Stripe is a good example of a company who updates card numbers.

If you’re using a card updater, whenever a customer is reissued a card because it expires or it’s changed due to fraud, it will keep their billing information up to date automatically. That is pretty awesome, but card updaters don’t work with all card brands, or all banks. They also don’t cover you if the customer closes their credit card account, for example. So, they aren’t going to completely fix your failed payment problem, but they are a big help.

Some companies rely on a card updater to fix all of their billing issues, and that’s a big mistake. They’re leaving a lot of money on the table and losing customers because there are lots of other reasons that failed payments happen.


Pre-Dunning is the second line of defense. Pre-Dunning emails go out when a card is about to expire, and they let a customer know so that they can update their credit card before they even have a failed payment. These are key to keep cash flow steady, because they can prevent failed payments altogether. It’s a good idea to be smart about sending these. In Stunning, we only send them after we see that an automatic card update hasn’t happened for a specific card. There’s no need to bug your customers to update billing information if it happens automatically via a card updater. Sometimes, cards will keep working even after the expiration date that’s listed on the card, but it’s best to keep their billing information up to date because you can’t rely on a card to keep working after it expires, and the more valid information you have, the better your chances of being able to successfully charge the card.


Dunning is the process that starts after a customer has a failed payment. It lets the customer know that they have a billing issue and gives them an easy way to update their billing information. It handles a lot of assorted billing issues, like a card being declined due to insufficient funds, an overzealous fraud filter at the issuing bank, and a lot more. A good dunning process will also retry failed payments at certain intervals, because not all billing failures are permanent, and if you just try them at the right time, they’ll sometimes go through.

In our research we’ve found that it’s best for your dunning email cycle to be as long as possible within a billing cycle for your app. So, if you’re billing monthly, and you have 4 retries, you should retry every 7-10 days. That will give you the most potential for receiving a successful payment without the customer having to do a thing. Most payment platforms have a system that allows 3-4 retries, but we’ve found that 6-7 retries over about a month’s time works even better, so we built a smart retry system into Stunning and it’s been helping our customers to recover even more money in a shorter period of time. Giving your customer a month to update their billing information is also a good idea because sometimes the person receiving the dunning emails is just on vacation.

That brings me to another point: When you’re sending dunning emails, if you have multiple email addresses for a customer (or the emails of different people in their organization who can help to get the card information updated), email all of them. That’ll increase your chances of getting through to someone in time.

In-App Notifications

If you have an app that your customers log into on a regular basis, you should pair your Dunning/Pre-Dunning emails with In-App Dunning/Pre-Dunning. If you alert a customer about a failed payment when they’re actively engaged with your app and receiving value, they’re much more likely to update their billing information immediately. We offer an In-App Dunning/Pre-Dunning bar within Stunning, and we’ve found it be 56% more effective than dunning emails at getting a customer to immediately take action.

Collect as much cardholder information as you can

It’s common practice in the startup world to try and make the signup process as simple as possible, to increase the chances that a customer will update their billing information. If you’re requiring credit cards when your customers sign up, you’re probably only asking for credit card number, CVV and ZIP code. That can bite you later on when a bank declines your charge just because you didn’t collect enough information to pass their fraud checks. A simple way to deal with this is to keep your signup form simple, but to then ask for the cardholder name and address on the payment update page that you send customers to from your dunning/pre-dunning emails.

Use SMSes

It’s important that you try to reach your customers in as many ways as you can before writing them off as truly churned. People pay a lot more attention to SMS than email, because they generally get less of them. In Stunning, we’ve built in Dunning SMSes, so you can send an SMS to a customer if they have billing issues. Personally, we use them as a last resort, so we only send these out with the final dunning email. If you don’t currently have cell phone numbers for your customers and you’re using Stripe, you can collect them easily with Metadater.

Make it easy for your customers to update their billing information

When your customers receive an email or SMS from you asking them to update their billing information, don’t make them log in. Take them directly to a secure page that lets them update their billing information. This is one place where you don’t want to throw up a roadblock, because it can literally cost you money.

We’ve written even more about what we’ve learned about dealing with billing issues while recovering over $85 million in failed payments here.

How to Improve Conversions with Explainer Videos
Receive a four-part email course. Each email topic takes less than five minutes to read.