Rethinking pricing strategy for self-hosted customers of ToolJet
Self-hosting should not be a privilege.
ToolJet has an open-core business model. Our open-source product is completely functional but a few features are available only in the paid product. Since we focus on internal tools, majority of our customers are interested in self-hosting ToolJet due to data privacy and security concerns. Thousands of companies has self-hosted ToolJet so far.
What is ToolJet? ToolJet (tooljet.com) is a low-code platform for building internal tools.
We wanted to link the billing to the value that we are offering but it is hard to define the unit of value in our case. Why?
If a customer has only one or two applications but thousands of users, it doesn’t sound fair to pay per user.
When a customer has a lot of users but users are not using apps frequently, user based pricing won’t make sense.
When a customer has a lot of applications, hundreds of users & needs most of the paid features, it totally make sense to pay per user.
If customers are charged per user based on hours of usage, it is still not directly linked to value. Billing will also be unpredictable. Also raises too many questions like what is considered as “active usage”.
Some customers wants only one or two features from paid plans, it won’t make sense for them to pay per user where many features don’t make sense to them.
We launched a workflow automation product recently and charging for data transfer when customers are self-hosting doesn’t make any sense.
We also launched ToolJet database which is an in-built no-code database. Again, makes no sense to charge based on usage if self-hosted.
Self-hosting should not be a privilege
Some of our rivals allow self-hosting only in the highest pricing tier. They also want a one-time setup fee of even upwards of 60k USD. Another open-source rival is asking for a “Annual platform fee” of 25k USD for some paid plans.
Is that fair? nope, you are selling tanks to even the customers who are looking for a cycle.
An enterprise deal where the customer is deploying in their own data centres might need a lot of hand holding. That’s not something that happens every day.
We’ve kept the infra requirements of ToolJet super simple and have documented different options to deploy in detail.
Even if the customers are running your product on hundreds of containers, how difficult is it to build a horizontally scalable product in 2024?
Why shouldn’t smaller companies enjoy the benefit of self-hosting? Self-hosting should not be a privilege. Even the customers on free plan should be able to self-host.
The Experiment
We came up with the conclusion that the pricing should adapt based on the value that a customer is getting from ToolJet. So we decided to add a new pricing plan based on number of applications while keeping the existing user-based plans.
In the new pricing plan, users are charged based on number of applications that they are building on the platform and add-ons that they want.
If a customer is self-hosting ToolJet, they can have one application and thousands of users just for $30/mo. This also includes features such as SSO & granular access control for which SaaS companies typically charge for. Only condition is that the number of pages per application is limited to 5.
Customers can pay for additional features such as white-labelling, git-synchronisation, audit logs, multi-environment support, etc by paying $150/mo for each feature.
Workflows and ToolJet Database can also be used by paying a flat fee ie $20 per workflow and $5 per table. There is no restriction on usage.
Will it work?
We started experimenting this pricing plan a while ago without making the plan live on our pricing page. Some customers have chosen to go ahead with user-based plan itself and some customers chose the flexible plan. That was exactly the outcome we wanted as it aligns with our philosophy that the pricing should be aligned with the value that a customer is getting from ToolJet.