Friday, Kendra and I launched our newest online training course, The DBA’s Guide to SQL Server High Availability and Disaster Recovery. Here’s a quick glimpse behind the scenes at the work required in launching something like this.
Designing and Building the Course Materials
November – Course design started – Kendra wrote a profile for the ideal attendee, describing her experience, job duties, and current pain points. This determined the material we’d cover – and the stuff we’d ignore. For example, Kendra wrote, “What’s NOT included? How to install these things. I can figure out how to run a wizard.”
November – EU tax rules change – starting in 2015, if you sell digital goods online, you have to charge taxes to EU buyers based on where they live. Until this point, like most digital goods shops, we weren’t charging tax to EU buyers. Before launching a new course, we needed to make sure we could pass taxes on to new buyers – rather than us eating the expense. We made a note that we’d have to work with our learning management system (LMS) vendor to make that happen.
December – Module list finalized, writing starts – we do a lot of presentations around high availability and disaster recovery as part of our in-person Senior DBA course, but that doesn’t necessarily transition well to a video class. For videos, people like shorter modules (say 5-15 minute videos) that they can digest easier.
January – Recorded videos – in between client engagements and training classes, we filmed our modules in our home recording studios.
Putting the Course Online
January end – Course setup – we configured the course in our learning management system, set up the chapters/modules/resources, and set up the sales page on BrentOzar.com.
February – Video technical reviews – we hired very savvy HA/DR experts to watch our videos and point out any technical problems. (For example, off the top of my head at one point, I said database mirroring came out in SQL 2005 SP2, but it was SP1.)
April/May – LMS migration planning – We contacted Blatant Media/Absorb LMS, our learning management system (LMS) vendor to find out how to get into VAT MOSS tax compliance. Awesomely, they had built tax handling into the next version of their platform, so we started a lot of work to test our site on a testbed of their new version.
Counting Down to Going Live
May – Marketing prep – we wanted a marketing campaign that would really create a splash and encourage people to buy right freakin now. I came up with a shrinking coupon: the first day, it would be good for 90% off, then 80%, then 70%, and so on until it disappeared. That way, the instant you heard about the coupon, you’d be motivated. We put together emails, blog posts, Twitter posts, you name it to get the word out, all staged for a June 12th launch:
- Friday 6/12 – email would go out to our clients and past training buyers, 90% off
- Saturday 6/13 – post it on our company Facebook/Twitter/LinkedIn pages, 80% off
- Sunday 6/14 – 70% off (but no announcements)
- Monday 6/15 – include it in our Monday weekly links, 60% off
- Tuesday 6/16 – run a blog post about it, 50% off
- And then run a series of blog posts for the rest of the week, with the discount dropping until it went to normal price
I was so excited. The coupon’s name: DBCCSHRINKCOUPON. What DBA doesn’t love that?
June 5 – LMS migration – Absorb upgraded training.brentozar.com to the new version which enabled EU tax tracking. Yay, we could pass EU taxes on to EU buyers instead of eating it ourselves!
June 11 – Find an LMS bug, and panic – as we did last-minute double-testing of the new course launch, we discovered a massive coupon bug in Absorb. During checkout, if you had multiple items in your cart, the coupon simply disappeared in the last step of your purchase, and you were charged full price. We reported it to Absorb, who agreed that it was a bug, but they couldn’t fix it in time for our launch.
So we postponed the entire launch at the last minute, and trashed the coupon idea altogether.
A couple of automated Facebook posts leaked out, and people asked probing questions, but we deleted those.
We took a deep breath (actually, lots of them into a paper bag) and came up with a new plan. Instead of a shrinking coupon, we used a shrinking discount (rising price tag) instead. The price would start at 90% off, then just rise on its own. We rewrote the marketing material and set it all back up to launch one week later, June 19th. We couldn’t afford to wait later because the launch would run into the July 4th holiday in America.
June 17 – Updated our First Responder scripts – Jeremiah and I updated our sp_BlitzCache™, sp_Blitz®, and sp_AskBrent®, adding features and fixing bugs. This way we could send out an updated-script email to the tens of thousands of folks who’ve subscribed to that, plus include a heads-up to them about the sale.
June 18: The Launch Begins
Thursday, 8AM Chicago time – quiet launch: We went live with the course sales page. In a matter of minutes, the people who saw the original leaked Facebook posts bought the course at 90% off. Good for them!
Thursday evening – client emails launched: We sent emails to our clients, training class buyers, and past video buyers to tell them we had a new course. The emails arrived in their inbox around 9AM local time in each user’s time zone, which gave us the effect of a gradual trickled launch starting with Australia.
Overnight and into Friday morning, we virtually high-fived each other as we saw tax being charged appropriately. The work to upgrade the LMS paid off – this launch involved a significant amount of sales to EU customers.
Friday morning – American sales begin: hundreds of clients and students took us up on the 90% off offer. Sure, it was a hell of a deal – a $299 course for $29.90 – but even so, the purchase rate was higher than I’d expected.
Friday midday – added countdown clock: after I finished my consulting client, I realized we should have a countdown clock on the sales page, so I futzed around with a few WordPress plugins to get one working.
Friday 11PM Chicago time – price goes up: I set an alarm for 10:45PM, stumbled into my home office, changed the price in a few places, and went back to bed.
Saturday – Script update emails go out: the First Responder Kit emails went out to tens of thousands of readers, along with a heads-up that a new course was available for 80% off – a savings of over $200. Technically, this email went out at around 9AM local time, so the Aussies got it early enough to snag it at 90% off. Good on ’em.
Erika, Ernie, and I flew to New York on Saturday to enjoy a few days in one of our favorite cities before I met up with a Manhattan client on Tuesday.
Saturday midnight NYC – price goes up again: I woke up at 11:45PM, changed the price in a few places, and went back to bed. You’d think this stuff would be automated, but there’s a few different moving parts involved (our LMS, a WordPress page, and a plugin) so I’m doing it manually for this course.
Sunday – find several more LMS bugs: someone checked out with a lower price than they were supposed to get, so I had to track down how they did it, and file more bug reports involving that and credit card issues. (It’s Sunday morning as I’m updating this post.)
Wow. That was a lot of work.
In my Epic Life Quest, one of the achievements I wanted to unlock this year was a fully coordinated online product launch. I wanted a big fanfare across email, web, social media, and our customer base. (Hell, even this post is part of that strategy.) It took Kendra and I weeks of work to pull this off.
I’ve hit the coasting part now – I’m basically watching the revenue come in, giddily clapping my hands, celebrating milestones (100 sold! 250! 500!) and then waking up in the middle of the night to change prices. It’s so incredible to be walking around New York City, sit down for lunch, glance at my email, and say, “That buyer right there just bought us lunch. Thanks, so-and-so from Finland.”
Was it worth it? It’s infamously hard to tell with advertising and marketing, as illustrated by John Wanamaker’s famous quote: “Half the money I spend on advertising is wasted; the trouble is I don’t know which half.” Sure, the course is selling really well – but who knows, maybe it would have performed this well if we’d have just released a blog post announcement and sold it at regular price. Maybe we could have even gotten higher revenue, too – it’s just so hard to know.
For now, I’m just happy to have crossed that achievement off my Epic Life Quest, and happier still to watch the completion rates on the course as people start watching the class videos.