Converting a WordPress Plugin into a SaaS (Our Journey)


This past week, we announced the new OptinMonster app which is the biggest update to OptinMonster since the launch itself.

Many of you may know OptinMonster as a powerful WordPress lead generation plugin that we created. Well, it’s no longer just a WordPress plugin.

OptinMonster is now a stand-alone (SaaS) lead generation tool that can be used on any website platform. Yup that means WordPress, Drupal, Joomla, Shopify, Magento, BigCommerce, and basically any HTML website.

This is a huge leap forward for us, and I’m sure many are curious about the behind the scenes decisions and processes.

I will do my best to share our journey of converting a WordPress plugin into a SaaS.

The “Why”

Over the last two years, we’ve built a phenomenal product that has helped tens of thousands of people convert website visitors into subscribers and customers.

So you’re probably wondering why the heck would we change an already stable product?

Well as OptinMonster grew in popularity, we started to experience some serious limitations on how much further we could innovate as an isolated solutions provider.

Unpredictable Environment

Each WordPress site is hosted in a different environment which proved to be a huge challenge for us since the very early days.

About one-third of our support tickets consisted of integration issues with email marketing service providers which were caused by shared hosting performance nightmares and/or poorly coded plugins that the user was using.

Some hosts had completely custom admin areas separated from everything which threw off our live preview efforts.

We wanted to improve OptinMonster by adding a set of new features that users wanted such as detailed analytics, but we were restricted by the hosting environments.

It was tough for us to provide a consistent experience with so many funky setups and environments.

Growth Opportunities

As OptinMonster got more exposure, we started to get an increasingly large number of requests (over 25% of pre-sale support tickets) from users asking about a non-WordPress version of OptinMonster.

We knew that we had to step up to market demand. If we don’t, then somebody else will.

Not to mention, I hated turning away customers.

Platform Limits

There is only so much you can do as an isolated solutions provider.

Our customers were asking for a single-dashboard to manage all of their opt-ins. We couldn’t have provided that without going SaaS.

Agency customers wanted an agency dashboard to manage their clients (coming soon), and we couldn’t have done this either as just a WordPress plugin.

We wanted to add wizards, smart decision engine, and several enterprise level features that we simply couldn’t do as a distributed plugin.

Aside from feature sets, we as plugin authors are always in the dark. We never have data on how users are using our plugin.

Which OptinMonster templates are their favorite? What are the top integration providers? What are the most useful output settings? How many users are using split-tests, etc.

Basically every decision we would make relied on a very small sample size of users who actually gave us feedback and suggestions.

This significantly hinders growth specially for a software like ours.

There are tons of cool tools like and others that can help enhance onboarding experience for customers and allow us to provide a better overall experience. We simply couldn’t have used it in a distributed plugin.

* Although I didn’t ask the plugin team, I’m pretty sure there would be mixed feelings about different plugins adding tracking scripts in user dashboards.

As you can see these topics were huge discussion points in our strategy meetings. By releasing the OptinMonster app, we will completely nix most issues related to integrations with email marketing services (yup that’s one-third of all support tickets).

We will also be able to cater to a whole new market allowing us to have a more sustainable business growth in years to come.

The “How”

Now that you know the whys behind our decision, I’m sure you’re probably wondering how did we do it. Making a huge transition like this required a lot of planning.

Data Migration / Transition

We wanted to make sure that the user experience stayed consistent throughout this process. It starts with the initial data migration.

Since we’re using WordPress as our application framework, it was relatively easy to port the data from individual user sites to our SaaS application.

We built an OptinMonster connector plugin that our customers can use to migrate their data with 1-click.

The user experience in the new app such as the customizer etc stayed relatively similar. We added UX improvements and new features, but the flow stayed the same.

Choosing the infrastructure

Uptime and scalability is crucial for any app, but it’s even more crucial for us because so many businesses rely on OptinMonster for their lead generation efforts.

We decided to host everything on Amazon’s powerful infrastructure with several layers of redundancy.

Instead of going direct, we chose Pagely as our hosting partner. Josh and the entire team have been extremely helpful through out the process and played an integral part of our launch.

We also partnered with MaxCDN to ensure maximum deliverability for all the content that we serve.

Billing / Payments

We added new monthly recurring billing option. Up until this time, OptinMonster was annually recurring.

To properly handle upgrades, downgrades, pro-ration, variable pricing, etc — we had to significantly hack our way around Easy Digital Downloads, the eCommerce plugin we use.

This was a challenge, but I want to thank Pippin for being extremely helpful and cooperative through the process.

I think from our experience and progress, there will be tons of cool things to come for EDD in the near future.

Insane amount of testing

We did a lot of internal testing where I ran the alpha version on our hugely popular sites. Once we felt ready, we invited our VIP users to migrate and give us feedback.

Having external feedback was very helpful, and it also allowed us to test migrations from various different use cases and hosting environments.

Thankfully majority of these migrations went very smooth. As expected, we had a few hiccups here and there, but the team worked diligently in getting it all sorted.

I’m so thankful to have such amazing users who were patient with us and gave their valuable time / feedback to help improve OptinMonster.


We started with a soft-launch. During this process, we moved the old site to a sub-domain, so our existing users can still access their license key / documentation for the old WordPress plugin.

Next, we pushed out a completely new site design with documentation, etc. All old OptinMonster customer login details were moved over to ensure they can start using the new platform immediately should they want to.

After this, we waited a week and a half. During this period, tons of new customers started with the new platform.

Several of our old users completely freaked out as there was no announcement. When they came to the site, it was an entirely new thing.

Our support team did an excellent job in handling this situation and helping those customers migrate to the new platform.

The Launch

After a week and half later from soft-launch, we announced this release on our blog and social media.

This started a new influx in migrations. I was so happy to see that all of them went very smoothly.

We also started to see OptinMonster being used on non-WordPress sites which was a dream come true moment for me.

Final Thoughts

Completely changing a stable and mature product is definitely a risky decision. However I think our vision and roadmap align with the need of our target market.

Expanding outside the WordPress space will definitely bring new challenges for us. But that makes it even more fun.

I’m extremely excited about the upcoming months as we roll out tons of amazing features. Our goal is to build a solid ecosystem around OptinMonster and give our users even more ways to convert their website visitors into subscribers and customers.