SaaS Billing Mistakes

April 30, 2020

Adding subscription billing to your SaaS product seems simple at first, but implementing it well can be harder than it looks. It’s easy to end up with an over-complicated and leaky subscription flow if you’re not careful.

Even with developer-friendly tools like Stripe, it’s still on you to do a lot of heavy lifting. I’ve spent a considerable amount of time building and rebuilding subscription management logic. I’ve talked with other founders about the pains they are experiencing with their billing stacks. Here are some of the big mistakes I’ve made personally or seen others make:

Complicated Pricing Model

I’ve fallen victim to this one multiple times, and I’m sure I will make this mistake again at some point. Pricing is hard to get right, and it’s also one of the most powerful levers in a SaaS business. As a result, SaaS founders tend to tweak pricing frequently and often end up with complicated pricing models as a result. Don’t let this happen. You are deterring customers and complicating your subscription management logic — a losing combination. Let the clarity of your pricing be a selling point.

Yes, some very large and successful SaaS companies have overly complicated pricing models. (I’m looking at you HubSpot and Intercom.) Are you one of these companies? If you are, good for you. If you aren’t, don’t pretend that you are. Customers are more likely to convert on a pricing model that is simple and predictable. The outliers in this scenario are able to offset their pricing complexity with their brand. I can assure you that their pricing models didn’t start this complicated.

Customers Can’t Self-Identify with Plans

This is a point worth highlighting that falls under the general need for having a simple pricing model. Users should be able to look at your pricing page and almost immediately know which plan is right for them. If they question which plan to select, something isn’t right. You’re either confusing customers before they even signup, or even worse you’re confusing them when they are trying to convert to paying. Ideally, your pricing plans should reassure your customers on their decision to purchase. You can achieve this by making sure that your customers self-identify with a plan and feel that your pricing is tailored just for them.

No Clear Upgrade Path Between Plans

There are 3 buckets within MRR growth: new customers, reactivation, and expansion. The first two involve getting customers to start a new subscription. The latter comes from getting existing subscribers to bump up their subscription price. Unfortunately, the expansion bucket is very often overlooked. It’s easier to get an existing customer that already sees value from your product to pay a bit more than it is to attract an entirely new customer. If you don’t design your pricing model in a way that allows subscribers to naturally upgrade throughout their lifetime you will never see expansion revenue.

No Annual Plans Offered

The benefits of prepaid annual cash flow are clear. However, this is not the only reason to offer annual plans. You should offer them simply because your customers expect them. They are subscription best-practice, and inevitably some of your customers will want to pay annually. If you don’t offer annual plans this may be a deterrent from using your product. No matter how small of a hangup this might be, why not remove it if we can?

Also, I can almost guarantee that when a customer asks to pay you annually you aren’t going to tell them to go away. You are going to scramble to add an annual plan, or you will come up with some sort of hack (i.e. charging customers the annual amount and then crediting their account or adding a discount code) so that they can pay annually. It’s easier to have annual plans as part of your billing stack from the start.

Letting Legacy Pricing Model Debt Build Up

I’m not talking about grandfathering pricing for legacy customers. This topic is already rich with opinion. Whether you grandfather pricing or not, you should try to relieve your billing stack of legacy pricing model debt. Having lots of active pricing models is hard on customer support, the logic of your billing stack, and the metrics of your business. All of these things are just simpler when you have less pricing models to account for.

In other words, don’t have 10 different pricing models that are active within your product. In fact, I believe that you should have 2 active pricing models at the most — your current pricing and your most recent legacy pricing. At the time a group of customers are more than 1 pricing model behind they should be migrated (grandfathered or not) to the most recent pricing model. You can move legacy customers to your current pricing model and maintain their grandfathered price by applying a discount to offset the difference.

Missing or Poor Customer Subscription Management

The subscription management experience in your product is exactly that — part of your product. It shouldn’t be an afterthought, but rather it should be viewed as a crucial part of your customer's journey. This portion of your product is where customers will perform some of the most critical stages of their journey — subscribing, upgrading/downgrading, and canceling.

How much time have you spent optimizing your signup form and onboarding flow? Compare that to how much time you’ve spent optimizing your subscription management experience. Does your experience help to convert new customers and build trust, or does it plant a last-minute seed of doubt?

Also, can your customers do everything themselves when it comes to managing their subscription? I mean everything: changing plans, viewing invoices, canceling, updating billing information, adding discounts, the list goes on. A great way to know is to look at your customer support conversations. If you’re getting frequent requests for subscription and billing related tasks then something is missing. Put yourself in your customer’s shoes, would you want to have to contact customer support for something like this? This is a poor customer experience and unnecessary load on customer support.

Customers Can’t Cancel Easily

The second I see “contact us to cancel” my trust and perception of that product drops significantly. I feel as though I’m dealing with my cable company as opposed to a business that values my opinion and loyalty. Not being able to easily cancel a subscription is such a red flag to customers, and it should be a red flag to the SaaS products that do this too.

Offering a simple and thoughtful cancelation experience can help you surface valuable data and increase customer reactivation. In today’s vast landscape of SaaS tools it’s common that customers try multiple tools before committing to one. This often leads to quick cancelations and jumping between tools. Don’t sour your trialing customer's perception of your product with a poor cancelation experience, because you will never get them back. They should feel they can come back at any time and not be locked in.

If your customers feel valued and aren’t faced with hurdles when they cancel they can be a source of super valuable feedback. Prompting a short cancelation survey that captures why they are canceling is an easy way to learn about your “product qualified no” customers. This is an incredibly important segment to understand and this is the best time to find out which customers make up this segment.

No Automated Dunning

Growing a SaaS business is just as much about maintaining your existing subscribers as it is adding new ones. I’ve found it’s easy for SaaS founders to lose sight of this, despite the well-known fact that churn is one of their biggest threats. You can break churn into two buckets — cancelations and failed payments. The latter is slightly in your control, and implementing automated dunning is the easiest way to reduce it.

Setting up automated dunning is something that really only has an upside for your business. There aren’t too many levers like this, so when one exists you should pull it. I’m skeptical of the inflated recovery numbers that many dunning tools advertise, but this is beside the point. It’s safe to say that automated dunning will prevent some failed payments. It’s the small wins like this that add up to create a healthy subscription business.

Ben Bartling

Ben Bartling

I'm an indie maker, full-stack developer, believer in product-led growth, and somewhat of a designer. I've been an entrepreneur my entire life. I built, grew, and sold my bootstrapped SaaS business – ZoomShift. I'm currently building my next venture and helping others do the same via Recurium. Reach out if I can help.

I write as a personal outlet, and I publish what may be helpful for others. I live in Milwaukee with my wife, son, and daughter on the way.

Feel free to contact me by email or on Twitter. 👋