How to price your NoCode SaaS
Deciding what to charge users to use your SaaS can be a tricky question to answer. Should you have a freemium plan? Lifetime plans? Free trials? Let's take a look
Hey there!
Welcome to this week’s NoCode SaaS newsletter, where I take you on a journey to building my own software business without code on Bubble.
This week I wanted to take a bit of time to talk about pricing strategy - it’s something we can all easily get stuck on early on in a project.
What can I charge people for this? Will anyone actually pay money for what I’m building?!
These are all questions I struggled with early on when building UserLoop - my survey app for e-commerce store owners.
Pricing is something you’ll have to keep addressing throughout your startup journey - you should always be experimenting and testing hypothesis.
With UserLoop I’ve been through a lot of iterations on pricing to land on where they are today. This also resulted in me recently removing all the free plans to the app which was a huge step, and one I’ll share a bit more on later in this newsletter.
So let’s dive into a few of these topics.
Don’t be afraid to add a price tag
Early on in the build of any new SaaS project, it’s super critical to get direct feedback from users on whether they value your app enough to part with their hard-earned money to use it.
Charging money for your app means you’re getting instant feedback on whether the features you’re offering are valuable enough for users to subscribe.
If you’re starting out, don’t be shy about putting a price tag on your app and expecting users to pay.
It can be tempting to just put your app out there with no paid plans at all to just try and get some traction, but you’re missing out on super valuable signals from customers on whether your app is actually good enough for them to want to pay for it.
If your app is also totally free it can give a perception of low quality, and raise alarm bells in buyers’ minds about the sustainability of your app.
Free apps that aren’t profitable tend to come and go quite often - would you want to sign up and start relying on an app that was giving you value if you thought it could disappear at any second?
Charging money for your app not only sends a signal that it’s likely to be higher quality but also that it’s going to stick around longer.
Learning what your users value
When I started UserLoop, I decided to have an insanely simple pricing structure. A highly limited free base plan, and a single paid plan of $9.99.
There were a few reasons behind why I chose to start off with this pricing.
Firstly - I wanted to drive a high number of installs for my app through the Shopify App Store to validate the product. Getting a large number of users on cheap or free plans early on is a powerful way to evolve your product based on customer feedback.
The first version of UserLoop was incredibly simple, it let you ask a single question with a single survey, the only option to survey customers was sending it by email.
Evenn though it had a limited feature set, getting lots of customers to try the app and get their feedback helped me evolve the product and make it more valuable.
I ended up adding hundreds of features based off this direct customer feedback, resulting in the product becoming very full featured today. Of course along the way that increase in functionality of the product allowed me to also increase what I was charging.
None of that would have happened without getting a high volume of users at the beginning - you cant iterate a product without talking to customers and learning what they want!
Freemium - does the funnel work?
If you do decide to launch your app with a free plan, you need to have a predictable way to move those users from a free plan onto a paid plan.
Unless your free users eventually drive revenue they are a drain on your business.
Whether they drive revenue though upgrading to a higher plan, or through referring other users or some other mechanic - free users must drive some kind of value for your business.
It’s important to think carefully about how you will drive users from your free plans onto higher paid plans.
Another thing to bare in mind with Freemium pricing is the impact of providing support to lots of free users. That can add up quickly, and, depending on what your app does it can end up taking up a huge amount of your time.
I recently removed all the free plans to my app (replacing them with a 14 day free trial) and it has reduced the amount of time I spend on customer support considerably. Do you really want to spend all your time supporting customers who are never going to pay for your app - or would your time be better spent focussing on paying customers with amazing support and building new features?
Two of the most effective ways I’ve found are usage limits and feature gating.
Usage Limits
Whatever your app does, a good way to price it is based on usage. This means that as users get more value out of your app they have to pay more. What features you decide to measure for usage will vary depend based on what your app does.
Maybe it’s how many emails the user sends, maybe it’s how many files they upload, maybe it’s how many invoices they generate. It will be different for every app.
Once you’ve decided on a metric you should analyze how users use your app and then set your plan limits based on average usage. How many emails do power users send? How many do small businesses sent? Use those metrics to set the limits on your plans.
You’ll also need to make sure you’re storing whatever metric you’re measuring to your app’s database. That means you’ll be able to track it for each user and show them a counter in your UI.
Make it easy for them to see how much they’ve used, how many they have left and when they might need to upgrade.
This technique drives tons of upgrades for my app - so make sure you have a clear path foe how you can incentivize users to upgrade based on their usage.
Feature gating
This is a topic I’ve covered in depth in a previous issue of the newsletter. This where you limit access to certain features based on the user’s current plan.
This is a great way to give users a taste for your app, and when their needs meet a certain threshold they then need to upgrade.
Some good examples of features which might be behind a feature gate are 3rd party integrations, AI analysis, video or photo processing, removing co branding.
Sometimes feature gating is also necessary because certain features are simply more expensive to provide, and therefore users are generally understanding of why they’re on the higher plans.
A great example is AI processing. Depending on what you’re doing, your costs with OpenAI or Anthropic can start stacking up quite quickly, so it makes sense to ensure you only have features like that on your higher plans.
Lifetime plans - are they worth it?
I often speak with founders who are tempted to offer a lifetime plan to early users of their app, sometimes through a platform like AppSumo.
Generally, I recommend against offering lifetime deals to users. Depending on what your app does, you are potentially exposing yourself to wildly unprofitable customers who have tons of usage, customer support demands and requests whilst they’re not driving any ongoing revenue to help support or grow your app.
One approach you can use if you do decide to offer lifetime plans is to limit the plan features to only what is available in the product at the time you make the offer.
As you add more features over time, make sure to only add them to higher plans on monthly or annual - so you at least have some path to take users from lifetime plans onto more regular plans.
In general though I’d recommend just offering an annual plan instead of lifetime to early users. Then at least your commitment is only for a year, even if you offer the year at an incredibly low price.
Chaning your pricing - how should you handle existing customers?
One question I’m asked often is how to manage pricing changes for customers on existing plans.
Personally, with UserLoop I’ve always grandfathered in old plans and allowed users to stay on them indefinitely unless they manually request to change plans.
I even show this clearly to them in the UI - that they’re a valued customer on a legacy plan. I’ve found this generates quite a bit of loyalty and good will.
It can also make these customers more sticky and have a higher LTV - you don’t want to cancel your plan only to have to sign up again on the new more expensive plans!!
Grandfathering in pricing also means that you can be more experimental with your pricing for new customers, trying out new prices and packaging more often to see if it moves the needle on new user acquisition.
Competitive pricing - how low should you go?
One benefit of building your SaaS with nocode technlolgy is that your operating costs are a lot lower than other apps. You havn’t had to raise huge VC funding rounds and pay a large dev team to build your app.
That means you might have more flexibility in how you price your product - you could decide to either plunge more money into marketing or to lower the cost of your app to entice new users. I’ve written an entire post on the cost dynamics of running a nocode SaaS business here if you’d like to look into that further.
That’s it for this week!
I hope you found this issue helpful - do drop me a reply if you have any thoughts or feedback, I love hearing from you!
Don’t forget the NoCode UK conference is coming up in London on May 21st. We’ve assembled an amazing group of nocode experts. You get an exclusive 50% discount on tickets as a NoCode SaaS subscriber - click here to get your ticket!
Have a great bank holiday weekend - see you next weekend with the next issue.