Dealing with Delinquent Customers
"hey i turned off your website" is technically valid but not great for long term retention
A few weeks ago "11 years of hosting a SaaS" got a fair bit of traction around the internet. Amongst lots of interesting feedback and debate, some internet commentators couldn’t deal with the idea that Digital Ocean was in the wrong at all when they took our website (which they hosted) offline after a credit card expired.
To be clear, I’m not blaming Digital Ocean for this. It was my fault. But they could have done more to prevent it.
Acknowledging haters on the internet is a bad idea, let alone responding to them, but this is interesting to write about because there is a wider lesson here. In any subscription business, customer retention is based on how customers perceive events, not on the “true” facts of what happened. Regardless of fault, the incident left a bad taste in everyone’s mouth and that contributed to us switching vendors. Being technically correct doesn’t pay the bills.
All subscription businesses will at some point have customers that are a little bit behind on what they owe. There’s all sorts of reasons for this. Here’s some reasons:
It’s a conflict-averse way of cancelling their account.
To make a point and get your attention (but with the intent of sticking around).
They’re a bit tight on cash, and they intend to pay you late.
They don’t realise they’re doing it, and are totally happy with your service, but something administrative has gone wrong on their end1
Something has gone wrong on your end (eg. your payment gateway is broken).
If you are a B2E2 vendor, this is a bit different because you should have much more direct relationships with every customer. But for any other kind of SaaS - and many other kinds of (non-software) subscription business - you need to think through how to deal with these situations. As a vendor you won’t know why a customer is behind on their bill. You don’t want to make assumptions that make the situation worse.
This is why I say there was room for improvement from Digital Ocean. Taking our website offline was equivalent to taking our company offline. It was the most extreme possible way of getting our attention.
How we deal with late payments
At Tanda, we have a variety of methods of charging customers, but the vast majority pay by credit card once a month. If a customer’s credit card bounces, we send them some emails and try to charge it again every day or two, as well as setting off some alerts internally.
We could probably have more sophisticated alerts, more notification emails, and generally do more things a little bit better in this space. But there’s one thing we do very well:
All of the critical parts of the product still work even if you’re behind on your bill.
Specifically, our time clock app works even if you’re behind on your bill. Workers can still clock in and out of work. We figured the worst way we could get a customer’s attention would be to block people from clocking in to work.
Some features, like viewing the timesheets that come as a result of clockins, are restricted once you’re sufficiently overdue on payment. So what admins can do is restricted. This is reasonable; they should update their credit card and make good on their payments, and that’s easy to do that once you’re already in a web browser using the product.
But we don’t do things that will cause chaos across the customer’s business in the meantime.3
What if a customer actually wants to cancel and has no intention of paying? Generally they’ll stop using the product too. If their employees want to keep clocking in to work even if they aren’t using our product to pay them, go ahead 🤷. Putting up more restrictive paywalls isn’t going to change anyone’s mind. The best you can hope for is actionable feedback to help you retain future customers, and win back this one later.
SaaS is a high margin business, and one of the points of being high margin is it lets you provide a high quality service. If the cost of providing your product for an extra month or two while your customer is behind on a bill is prohibitive, that’s your problem and you should fix the fundamental issues that are causing it. (Also, this should happen rarely. If many of your customers are all deciding to stop paying you at the same time, you aren’t going to solve that with a better paywall.)
While researching this article I found that the code we have for locking out accounts that are awaiting payment is very minimal, and hasn’t substantially changed in over 7 years. Either that means I’m still on the far left side of this meme, or that I jumped straight to the far right.
If I was advising Digital Ocean on this issue 7 years ago
Here’s some ideas for things a web hosting provider could do before entirely shutting off someone’s account when a bill is overdue:4
Email every user that has access to the account, not just the account owner. Surely someone will raise the alarm. (Chargebee is an example of a product that does this well.)
Allow customers to enter more than one credit card. A backup credit card should massively decrease the impact of expired cards.
Ask customers for a phone number when they signed up, and call them if there’s an issue. If you’re worried about making it scalable, use Twilio to automate it. You don’t need to have a conversation, you just need to deliver a message.
Show a warning in the admin panel if billing is overdue.
Show a warning when SSHing into a server if billing is overdue.
All these ideas would probably help get the customer’s attention and get payment processed. But even if they all fail, my advice is:
Don’t turn off existing servers. Prevent all other actions (eg. creating new servers or editing existing ones) until payment is made.
“Let the customer keep using the product without paying for it!?” Yes, exactly. Digital Ocean would know better than me how often customers log in to their admin panel, but for me it was much more often than monthly. If the admin panel was full of billing alerts, and I couldn’t do anything else, I would definitely read them and take action.
In the meantime, just keep the service running. I’m sure PaaS has different margins to SaaS, but I’m also sure it’s not that different.5 They should be able to afford to delay revenue by a month or two, in the rare occasion that a customer wants to pay but for whatever reason does not.
SaaS is all about the long term
One of the core SaaS metrics is LTV: lifetime value. It’s the total of how much customers will pay you until they cancel their account, averaged across number of customers. The metric is there to remind you that customers aren’t paying you everything up front; every month, they buy your product again, as long as you keep providing a good product & service.
Good SaaS products retain customers for many years. There will be hiccups along the way. Vendors will make mistakes and hope customers forgive them and not overreact (by churning). But customers will make mistakes too. As a vendor you should try and not overreact when they do. Provide a good service every month, and treating your customers as partners that you’re working with for the long haul, is the path to a high LTV.
In our case, this happened doubly: our credit card expired, and the account email was a generic inbox that was meant to forward to me, but the forwarding was broken.
ie. you sell enterprise software to very large companies. Generally not so many of them. They’ll be paying by annual invoice, not by monthly credit card.
Our terms of service are more restrictive, and allow us to suspend or cancel service pretty quickly after payment is late. That’s just smart business. You shouldn’t do something more strict than your terms of service, so it makes sense to make them strict. But that doesn’t mean you can’t be more lenient if you want to.
I should caveat this by saying that I don’t have perfect memory of what options Digital Ocean did/did not have 7+ years ago. So it’s possible they already did some of this stuff, but I don’t think they did most of it.
If lots of customers aren’t paying at the same time, this could be a real issue. Go ahead and turn service off at that point, but also recognise that you have a much bigger problem to deal with.