I’m sick of hearing from friends that their online course costs more money to run than the revenue it’s generating. Or that they have to shut their course down because the ongoing fees are much higher than the price they charged members in the first place. Or that they want to create an online course, but have no idea where to start, so they stay stuck in the “oh crap, I’m really overwhelmed” stage.
There are so many options for membership sites and online course software that seem great, and their pricing models seem decent, but when you run the numbers, it does not work out in your favour.
I don’t have a magic bullet for building online courses, but because I’m cheap (very cheap), I’ve figured out a way to run a course that makes sense financially, regardless of whether 20 people buy or 2,000.
Below is how I run my own course, the Creative Class, which launched on October 15, 2014. There are at least eight billion ways to create an online course, and lots of great options out there, this is just how mine works.
My course runs on four main pieces of software that all tie together automatically. I get even further into how to set a WordPress course up here.
Because I build WordPress sites for a living, it was a no-brainer to use it for the website end of my course. Yes, I created a custom theme for my course, but you can use any WordPress theme (free, paid, custom — it doesn’t matter). Make sure the theme’s flow makes sense for how you want people to get interested in and buy the course. The flow also has to work for moving through the course from start to finish. RCP even has a widget so you can add a login/logout button anywhere widgets can go — all without touching code.
Things to consider when picking a WordPress theme for your course:
Other than that, the other software will work with any theme.
There are currently 334 membership plugins for WordPress (I’m a nerd, so I just checked). Some don’t do what they’re supposed to, leaving your course vulnerable or just not functioning properly. Some are so insanely complicated that I can’t figure them out (and I’ve been working with WordPress plugins from the beta version stage).
Restrict Content Pro links WordPress, MailChimp, and Stripe. How it works: if someone clicks the buy button, they’re shown a little modal window from Stripe that collects the money. Once the payment has gone through (almost instant), a WordPress account is created for that person and they’re added to a MailChimp mailing list. Then they receive an email saying the payment was successful and that they can now log in.
So, all you need to do to use RCP is create a “subscription”, and connect it to your Stripe and MailChimp account. Easy, peasy. From there, you simply edit the pages in WordPress that should only be available to members.
This step, while technically optional, is mandatory in my books. RCP doesn’t have to connect to a mailing list, but I can’t think of a single reason you wouldn’t want it to. Here are the benefits to connecting it to a mailing list:
For my course, I set up an easy automation sequence in MailChimp that does this:
These three emails go out automatically based on the time someone signs up for the course. I also send out regular email blasts to members whenever I do a monthly Q&A call, too. And, if you use the same mailing list for other things, RCP automatically adds paid members to a different segment, making it easy to only send emails to members (or to send emails to everyone who isn’t a paid member).
The other big reason I use MailChimp for my course is because one of my main marketing tools for the paid course is a free email course. Outside of my main mailing list, the free course drives more revenue than any other source. More on the free course later — in the “Promotion” section.
Though not software, FlyWheel is what I use for hosting. Even though I know how to set up my own server from scratch and I run several other servers, I just wanted a hands-off, reliable hosting company. People pay good money for this course, so I want it to be always fast and always online
The true test came when my course was featured on a high-traffic website and 300+ concurrent people loading the site at the same time… and the site was still fast as hell and didn’t crash. That’s $15/month very well spent.
RCP takes care of the money when someone buys the course. RCP connects to Stripe (which is 2.9% + 30c per transaction). Unlike some membership sites (that charge per user, per month), my monthly fees past user acquisition are fairly low since I only pay for a user once at purchase for Stripe fees.
Here’s how RCP works for me:
On my end, as the creator, I simply get an email saying that there’s been a new member who has signed up. I can then log in (if I want to) to see which coupon they used (because I use coupons to track how someone found out about my course).
Both the sales page and the backend for members was 100% custom designed by me. I created a custom WordPress theme to match the design I came up with. As I mentioned above though, any WordPress theme could work.
The only thing I didn’t design was the icons for each lesson, which were created by the super talented Meg Robichaud.
I kept things simple on purpose — two typefaces (Brandon Grotesque and Freight Text) and two colours (pink and blue). The logo is really just the two C’s of Creative Class, with one flipped. I honestly didn’t spend much time on the logo or design (compared to my client work), because I wanted to focus on the course material. It’s simple enough to function and stylish enough to trust.
I spent a lot of time thinking through how the course would function, from new member onboarding, to checking in with members, to running monthly calls. Here’s the basic flow I set up and what the member sees.
Outside of the lessons, members can download all materials in a single file or just the written lessons in ebook form. I wanted to give members as many options as possible for learning because I know everyone learns best using different methods.
I also host monthly Q&A calls that are well-attended and well-received (which shows to me that they’re valuable to my members). I tend to spend an hour or more answering members’ questions as best I can. It gives me a chance to get to know who’s taking the course and it gives members a chance for a personal answer to their questions.
These calls also help inform me of what’s missing, what needs to be redone (if it’s not making sense) and what the members are focused on. The software I use to host these calls is crowdcast.io. I just mark each event as unlisted, so only members can watch.
My course costs $300 but there are discounts codes everywhere to get it for $200 (NOTE: there are no longer any discount codes for the course).
Per month, past initial user acquisition, which is $8.10 in fees (including the 2.9% + 30c for Stripe) off an average price of $200, my costs are as follows:
Comparatively, if I used a hosted membership site like Pathwright, I’d be paying $26,556+/year based on their pricing model ($299 for 150 members, plus $3/member/month — not including a 4% transaction fee per user at purchase). They do a lot for you, but their price matches that level and amount of service. Other more cost-effective options for courses include my friend Jason’s Teachery (currently in closed beta) and my friend Justin’s Gumroad to WordPress plugin ProductPress. Rainmaker also offers membership and payment and costs $95/month (but includes hosting and pretty amazing WP themes, but not Stripe or newsletter costs).
Costs per average user (at $200) acquisition for my course:
If each user pays $200, on average, my costs are $8.10. That means I make $191.90 per user at the onset, then less as months pass and monthly fees rack up for hosting and the newsletter ($120/month to maintain the course). But, if I sell at least two memberships a month, my own costs are covered by double and everything else is revenue or future investment back into the course. Two memberships sold a month is doable and a very low goal to have to hit.
To create the course initially would have cost a lot more if I had to pay for custom design, strategy and development, but as it stands it cost the following to set up:
I spent $7,500 to make my course as perfect a possible, even without having to pay for design or development. I will note that I only spent money on the video, icons, and custom development after sales from the course itself could cover those items. I’m a big fan of starting small and iterating once you get a sense of the needs of your paying members. I even started with seven lessons instead of nine, and added two more a few months later, after I collected feedback from the members.
In theory, you could skip paying for all those items (i.e. free WordPress theme, no custom drawings or editing, record your own video, etc.). You do have to keep in mind that the more professional and trustworthy your course looks and feels, the more likely someone will be to buy it.
To make an online course, the time required is separated into four buckets: making the course, adding the content, maintaining it, and marketing it.
Making it, for me, took quite a while because I not only wrote and recorded the content, I also designed and programmed it. I didn’t strictly track hours to the minute, but I paid attention to approximately how long each task took:
Which brings me to 230 hours to develop the course and about 18 hours per month to maintain and promote it.
Yeah, yeah, this is what you were most interested in, so I should have put this first…
The course has grossed $129,053 since launch in the fall (to the date I published this — May 16, 2015) with 972 members total. Note that I did not make $100k+ that I get to keep, the course just brought in that much money.
Take into account that $16,000 goes to a partnership I made with a deal website, $7,500 goes to my costs to create, $6,400 goes to payment processing fees, and $720 goes to ongoing fees for six months. That’s almost one third right out of the gates, and doesn’t include taxes (which is around 18% here in Canada for corporations or around $12,000). And, based on time spent working on the course, it has made approximately $240/hr (which is less than I charge for consulting but more than the average price is per hour for projects I work on for clients).
If you’ve read anything I’ve written previous to this, you know how much of a broken record I am when it comes to talking about how a mailing list is the best tool in your arsenal when promoting a digital product.
True to form, my own list (The Sunday Dispatches) is the best place I found to drive membership sales in terms of revenue generated. I wrote one “hard pitch” email about the course, and the rest of the time I wrote either related articles to the course content or simply mentioned the list discount in the footer. Prior to the course, I mentioned it was being built for months before. I even dropped some hints, previews and excerpts from it — so when the hard pitch email showed up in people’s inbox, they already knew about the course.
The second biggest driver of revenue is a free email course I developed that relates to the paid course content called The freelancer’s guide to good jobs & great pay. It’s a short, seven-lesson automated email course that pitches the paid course at the end for a big discount.
This free course was featured on HackerNews (resulting in ~6,000 signups) and ProductHunt (resulting in ~1,400 signups). At first I was like, “OH HECK YES!” Then, when those people received the pitch on the eighth day and sales barely trickled in (four people purchased), I was utterly deflated. I felt like the email course content was awful. But then I realized a) most of those people aren’t freelancers, b) they just wanted to check out a “free something,” c) they wanted to see how someone else was running an email course. So it was great for exposure, but didn’t convert.
Instead of scrapping the free course and it’s content, I took the exact content and tried something different. I started promoting the free course on the paid course page. So as not to compete with the paid offering, it only shows in a modal box when someone gestures to leave the page. In tracking signup source vs. conversion to the paid course, this modal converts at 4–5%. Meaning, for every 30–40 people that sign up for the free course, 2–3 of them buy the paid course at the end. This is great and just goes to show that sometimes it’s not the content that’s the problem, sometimes it’s the audience the content is aimed at.
The third best generator of revenue for the course is a partnership with a deal website. Their audience is huge (almost a million email subscribers), so it was a no-brainer to partner with them to sell this course, months after it had launched. They approached me to partner, and they knew about my course in the first place because of the constant outreach and networking I do with people who have similar audiences.
The final massive piece to my course, and what I attribute a lot of the success the course has to, is the research I did prior to writing and prior to launching it. It wasn’t enough to have an idea and get to work on it, I relied heavily on talking to the audience it applied to.
Although I have 17+ years being a freelancer, I wanted to know what made other freelancers tick. What they struggled with, what they wished they could do better, what their perfect career would look like if they had it. I spent a few weeks talking to freelancers on the phone and surveying them via email. I kept my sample group to only freelancers who had spent money on online courses for personal development. I asked them as well, what online courses they had taken and what they found worked the best and the worst with each one.
This research helped inform me, not only in terms of the topics I should cover, but also in how to structure the lessons and format.
I had four rounds of beta testers before I felt the course was ready for public consumption. And even then, I launched it to my mailing list a week before I launched it publicly and started outreach and guest posting.
The first group of beta testers (five people) I gave access to the course for free. I had them evaluate it based on some specific criteria I had:
The second group of beta testers (another five people) I gave access to the course for $5, so I could test the payment processing. I asked them the same questions as above, plus one about how the payment process flowed for them.
The third group of beta testers (10 people) I gave access to the course for $50. I had made quite a few changes to how the course worked and wording in the onboarding process, so I wanted to ask them the same questions as the first group to see what changed. Thankfully, all the hangups or wrong things that came up from the first group were fixed.
The fourth group of beta testers (another 10 people) I gave access to the course at $200 (basically, full price). What I wanted to know from them was the perceived value, because people put value on things based on how much they spend on it (so the value of it at $5 is different than at $200):
With the final group of testers, I was not only looking for their feedback, but I was looking at how they framed and worded their feedback. I used what they said to craft the sales page content, using words they used, touching on the most important things they learned from the course and really what pains they had that the course alleviated. I use a similar technique for all my sales pages, because I feel like if I use the language the intended audience uses, they’ll relate to it more. And, if I touch on what’s important to them (not just what I guess is important to them), it converts much better.
The other thing I collected from the last group of testers was testimonials. Any of them that had glowing comments about the course, I asked if I had their permission to share those thoughts as testimonials. That way I could launch the course with real testimonials from real students.
None of what I’ve outlined above is staggeringly new information for anyone who has made or thought of making a course. I wrote this to break down all the small steps you can take when building one, because I know how overwhelming it can be at the start. I also wanted to show that it’s possible to have a course that pays well, gives value and doesn’t cost a ton to make and maintain.
To some, having an affiliate program is necessary. I’ve never bothered with those, simply because if someone’s going to promote my work — they do it because they want to, not because they’re getting paid to. That’s how I promote from others. I don’t have a problem with affiliate programs and know lots of people that make a huge chunk of income from them, it’s just a personal choice on my end not to use them for the products I sell.
My final note is to break your course down into the smallest amount of information as possible to start.
First, this is good for your audience because people don’t have much time. Second, this is good for you so you can get your course out the door faster. Initially my course was going to be 30 lessons… which would have taken me a year to write. Instead I pared it down to the nine topics I felt every freelancer needed in order to turn a shitty freelancing career around into something better. I haven’t had a single person complain or ask for a refund because it’s nine lessons instead of 10 (or instead of 30). I’ve actually only had to process three refunds in total.
Even since launch, I’ve learned so much about course-making. This was the first course I built for myself, so I started from scratch. I hope some of the information above helps you avoid the mistakes I made, if you’re thinking of building an online course as well.