How We Developed A $100K/Month Paid Memberships Plugin For WordPress
Hello! Who are you and what business did you start?
My name is Jason Coleman, and I am co-founder of Stranger Studios. Our flagship product is Paid Memberships Pro, a membership platform for WordPress. Associations use our platform to collect recurring payments and manage their memberships. Businesses and solo entrepreneurs use PMPro to run paid blogs, podcasts, and community sites.
Paid Memberships Pro is a free and open-source plugin available for download at WordPress.org. Over 100,000 sites run Paid Memberships Pro. We have around 6000 customers who pay us for premium add ons, support, and other services. In 2020, we averaged $100k per month in revenue and are on track to grow an additional 25-50% this year.
What's your backstory and how did you come up with the idea?
I've been in business with my co-founder Kimberly Coleman since 2006. Kim is also my wife. We make a great team in business and life. Back in 2006, we did general-purpose website consulting and development. We built a lot of the typical brochureware websites for doctors, lawyers, and other businesses. We also built a proof of concept apps for web 2.0 era companies and ran a web 2.0 company of our own, an online database and social network for wine drinkers.
Over time, we grew tired of building completely new ideas from scratch with every other project we took on. A good move for development companies is to focus on a niche. When you're doing more repeatable work, you can work more efficiently AND charge higher rates for the work you do. So we did that. We started to focus on WordPress development and then more specifically on eCommerce sites. This was also around 2008, during the big recession then. We noticed that projects that were more closely tied to making money for our customers were less likely to be dropped and more likely to make our customers happy. It worked. We were making low six figures in income together building eCommerce sites for customers.
Programming for recurring payments is MUCH harder than one-time payments. There is more to keep track of and more edge cases to account for.
At first, we built our own proprietary e-commerce plugin and used that on our client sites. We weren't tied into the open-source community at the time and had no idea how we could have gone about sharing our work that way. So while our eCommerce plugin at the time was more fully-featured than plugins like WP-E-commerce and had a better UI/UX (at least in our opinions), we watched as WP-Ecommerce became popular. WP-eCommerce was running on hundreds of thousands of sites. Our plugin was running on six sites. We gave up trying to maintain our own plugin and migrated our clients to use Jigoshop, a second-generation eCommerce plugin for WordPress that was later forked into WooCommerce.
Sometime in 2010, four different clients of ours needed to charge for access to parts of their WordPress sites. Our first thought was to use Jigoshop and just make a membership product type. But as we thought about it more, we realized that membership sites were different enough from general-purpose eCommerce stores that they deserved their own plugin. Specifically, most membership sites need to handle recurring billing but don't have any need to track inventory or handle shipping.
There were a few membership plugins already available back in 2010, but they were either closed source or lacking in features. WordPress needed a membership platform that was 100% open source and built in a way that would be embraced by WordPress developers.
We started working on Paid Memberships Pro. It was a culmination of the lessons we had learned to date. It was going to focus on a niche. It was going to be close to the money. And it was going to be open source. Similar to how Automattic monetized WordPress.org development, our goal was to build and maintain the platform while pursuing business opportunities on top of that platform.
Take us through the process of designing, prototyping, and manufacturing your first product.
The first version of Paid Memberships Pro was just a copy of our old proprietary eCommerce plugin with the inventory and shipping pieces removed. Over the past ten years, we've rewritten almost every piece of PMPro, but there are still a few remnants of those earlier versions.
While working on that first version of Paid Memberships Pro, I developed a not-so-original expression of mine: "nothing is easy". We were used to scoping creep and the need to pad time in website development, but with that first launch of PMPro, EVERYTHING took way longer than we thought.
Programming for recurring payments is MUCH harder than one-time payments. There is more to keep track of and more edge cases to account for.
Releasing open-source software for the public is MUCH harder than building it for your own clients. The configuration we typically did in code had to be converted to settings screens with better UI, better documentation, and protections to keep users from breaking things. Everything needed to be much more polished and secure. I remember telling the audience at a talk I was giving in late 2010 that PMPro would be launched in a month. We really launched 8 months later.
We weren't delivering monthly value. We delivered a ton of value upfront in month 1 and then less or no value at all in later months. So we switched to annual pricing, charging $97 per year at first.
There were plenty of things that went well though. On the development side, Custom Post Types (CPTs) for WordPress launched while working on that first version of PMPro. We were encouraged to make our levels CPTs, and that was tempting since we wanted to do things "the WordPress way".
I knew, however, that using our own DB tables for levels, orders, and relationships was going to be more performant. We took a flack for avoiding CPTs in our plugin and lost business from sites on hosts that couldn't support custom tables. But we then watched as competitors (including WooCommerce) struggled with performance and moved to systems with better DB architecture, while hosts added support for custom DB tables. It's good to listen to advice from others and double-check your work, but trust your own expertise and experience when it matters.
Describe the process of launching the business.
In July 2011, we launched Paid Memberships Pro in the WordPress.org plugin repository. Instead of trying to compete with the existing competition and the hefty Adsense marketing they were doing, we came at things from a different angle with 100% free and open-source software.
One tip we learned from WooCommerce was that even though our software was hosted at WordPress.org, many folks would be coming to our site to find it. Instead of just linking them to the .org page or directly to the download, we asked them to sign up with us for free first. This way we collected the email addresses of our users and could use that list to market our paid offerings.
What were our paid offerings? At first, we had just one paid plan for support. We charged $10/month as an introductory price and later bumped that to $19/month. Through 2011 and into 2012, we were doing well. People were using the plugin. Some of them were paying us for it. We were moving toward the $1k/month milestone at a decent pace.
Since launch, what has worked to attract and retain customers?
In 2012, things plateaued. New sales stopped growing and existing members started canceling their membership after 3-6 months. Most customers needed our help in that first month while they were setting up their site. Then 3 months later, they would see the charge on their credit card statement and email us asking, "why are we still paying you?" Saying "just in case" isn't a good sell, and those customers would cancel. And then just sign back up if they had problems later.
We weren't delivering monthly value. We delivered a ton of value upfront in month 1 and then less or no value at all in later months. So we switched to annual pricing, charging $97 per year at first. I saw this kind of thing play out so many times across our peers and customers, that I wrote up a blog post How to front-load your membership pricing and double revenues.
In 2012, we also launched our "do it for me" plan. The price of this ranged from $297 to $1500 over the years, but the idea was always the same. When customers had issues that we couldn't address in support, but could address with 5 or so hours of consulting or development, we would offer to "do it for them" for a flat fee. This was a great way to get hands-on with customers to really understand what they needed, while also getting someone to pay us to develop features we wanted to work on anyway.
By the end of 2012, we were at around $1000 per month revenue, an important milestone. It was nice having "passive" revenue, but it was a lot of work. We were making more money consulting and wondered if it was worth it to keep maintaining this product. A lot of entrepreneurs struggle at this revenue milestone, and I usually tell them "$1000 per month is not halfway to $2000 per month, it's halfway to $10,000 per month". It can take time for all of your upfront effort to pay off, for word of mouth to spread, to see the fruits of your labor. We stuck with it, and here's a chart of those 2012 revenues in perspective.
Our biggest marketing effort has been content marketing. It's a really simple formula really, whenever we answer an email, support request, or any question related to our product that might be useful for other users, we post it to our blog and push it out to our mailing list.
Our blog is full of troubleshooting guides, code recipes, tutorials, and business advice. Some important tips that help this content to perform better:
- Be as focused and specific as possible. Solve one problem at a time from starting point A to finishing point B.
- But don't only focus only on our product. A post like "How to name your membership levels" will reach a bigger audience than "How to name your membership levels with Paid Memberships Pro".
- Flesh each post out with all the good stuff. Google's algorithm loves headings, ordered lists, videos, and links to related information.
How are you doing today and what does the future look like?
We're coming off our best year ever. Many other eCommerce businesses saw a bump in interest and revenue as even more businesses and customers moved online. So far in 2021, we expected things to slow down, but instead, we're seeing the trend continue.
The main goal for Kim and me this year is to level up our team and bring in qualified talent to help with development and marketing. We need to replace ourselves in the Paid Memberships Pro-business so we can focus our time on launching new products… or just relaxing and enjoying life.
Team salaries are our biggest expense at around 60-70% of revenue, and we're continuing to invest here. A tactic we've used before, which we are employing right now, is to project our growth for the year and use that as a budget for hiring. Say we expect to grow revenue $400,000 this year, that's our budget to hire quality people. If all goes well, we grow revenue, we hire great people, and we set ourselves up to grow further the following year to maintain profitability.
If for some reason growth slows, we've either chosen the wrong people to bring in or there is some other issue around growth. We'll have a tough decision on how to cut back costs to get back to profitability. So far in business, things have always gone well.
Through starting the business, have you learned anything particularly helpful or advantageous?
Our business has been a journey from freelance consulting to focusing on products. Early on, we used our products as loss-leaders in our consulting business, all the while increasing our rates as we became known as experts in our niche of membership sites. As the potential for the products business grew, we had to make an investment into Paid Memberships Pro. At a time we were making $30,000 per month consulting, we turned away work for 3 months to focus on Paid Memberships Pro in an attempt to replace our consulting income. It worked! To hear an account of our full transition from consulting to products, you can view my talk here.
Another aspect of moving from consulting to products is that you go from having around 30 customers per year to 3000 or more. Paid Memberships Pro is running on over 100,000 sites. As Tim Ferris pointed out in his post 11 Reasons to Not Become Famous, this is the same number of people in a decent-sized city. Every day, some number of them are literally off their meds or just in a bad mood and could potentially ruin your day. I wrote about our own struggles with this in a post called Dealing with Haters and the Stress they Cause, where I share a few ways to prevent, avoid, or process the negative energy you are going to receive as a founder.
What platform/tools do you use for your business?
We use PMPro to sell PMPro, and that has been a great decision. By "dogfooding" this way, we have the same experience our users have, which results in a better product. So many of the fixes and improvements we've made to PMPro came out of our own needs.
But what products do we use that we haven't made ourselves? We use Slack for daily communication and also run our own P2 instance to archive important notes and to have fewer transactional discussions. P2 was a theme for WordPress that turned the site into a tool for team discussions and file sharing. Now "P2" is really more of a philosophy of using WordPress posts and comments to facilitate team discussion. The best way to roll your own these days is probably the o2 plugin by Automattic or just use the hosted version Automattic has just launched. I think we'll probably see more developments for both self-hosted and hosted P2 going forward.
What have been the most influential books, podcasts, or other resources?
I consume so many blogs, podcasts, and books on business that it's really hard to point out one or two that have influenced me the most. One thought leader who really stands out for me is Jose Palomino of ValueProp.com. Some of the key things I learned from Jose Palomino that I've applied to my own business include the power of a true "value proposition" for your business, how to define our ideal customer, and how to promote our product from a position of strength vs our competition.
I'm a bit biased because Jose was an early client of ours. We built some of his early websites, and he was even one of the first customers of Paid Memberships Pro. He's more of an in-life mentor for me now, but I honestly learned a lot from reading his material, including his book Value Prop. I absorbed it all while helping to move the content online. You can find Jose's work on his blog or in his new Revenue Throughput Podcast where he interviews successful B2B owners, including myself. My episode isn't live yet, but I kind of rambled to Jose on various topics and he perfectly summarized what I was saying in a way that made me sound smarter and reminded me of how thoughtful he is about business and marketing.
Advice for other entrepreneurs who want to get started or are just starting out?
Don't abandon your business when it stalls out at around $1,000 per month. Remember that $1,000 per month is halfway to $10,000 per month and $10,000 per month could be halfway to $100,000 per month.
Contrary to popular advice, don't focus on churn too early in your business. I mean, treat your customers well and try to retain their business, but early on you will often grow faster focusing on the hundreds and thousands of customers you don't have yet vs the handful of customers you already have.
Part of the reason you will see a lot of advice about focusing on churn is that it's something that's on the mind of successful business owners years into their journey. I'm 10+ years into this Paid Memberships Pro-business and churn is in focus in a big way this year. But it wouldn't have been as useful to work on the kind of optimization we're doing now a few years ago.
Finally, a not-so-obvious piece of advice I've picked up along the way is that you can launch something more than once. I think I heard this first from Alex Hillman and Amy Hoy, who have great books, blogs, courses, and podcasts over at StackingTheBricks.com. So many times, we sweat the launch of a new product or feature as if we only have one chance to do it right. There's some truth to the notion. You don't want to burn bridges or spam folks' inboxes too much. But in reality, if you send out a launch email and get a lackluster response, you CAN try again. Analyze what went wrong. Analyze what went right. Think to yourself "if only" and then make that a reality and try again. You'll be surprised to learn that people won't notice that you're relaunching something you failed to launch a month ago. Most people aren't paying that much attention (which is part of the reason your first launch might have failed).
I guess I can summarize a lot of this advice as "keep going".
Are you looking to hire for certain positions right now?
Where can we go to learn more?
- Paid Memberships Pro
- Jason Coleman on Twitter
- Kim and I are podcasting about 50/50 business and family stuff.
- My Personal Blog
If you have any questions or comments, drop a comment below!
Hey! 👋 I'm Pat Walls, the founder of Starter Story.
Get our 5-minute email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.