Erik Trautman logo crest shield seal

Erik Trautman

“Everything you can imagine is real.”
-- Pablo Picasso

Lessons Learned in Hustle: Marketing a Weekend Workshop

The other weekend I had the pleasure of teaching a Rails workshop with Daniel Kehoe of RailsApps. I really wanted a chance to do some teaching and organization and Daniel was testing out the material of his new Rails 4 book. Feedback about the workshop itself was quite good but we also learned a lot about marketing and hustle along the way. In the spirit of that learning, here are some of our victories and mistakes:


We decided to do a full weekend in-person workshop aimed at beginners and technology switchers in the Bay Area. It was two full 9-hour days on Saturday and Sunday with a brief 2 hour installfest on Friday evening. App Academy was generous enough to host for us, so we had a good space to work with and expected to have 20-30 students.

The goal was to install Rails then build and deploy a sample app by the end of the weekend and to help the students understand why they took the steps they did. The app favored APIs like Google Drive instead of using ActiveRecord on the back end so we could actually cover all the material in the time allotted.

The workshop was paid, so it gave us a budget to work with. As someone who’s thus far mostly had to market free projects, the sense of pure freedom and power that comes with actually deploying a budget was nearly sublime. It almost makes me not want to do anything free (as in beer) ever again.

We figured we’d probably spend 20-30% on marketing in the end, but we hoped we could get it done for less.

Marketing, or "Everyone Wants Their Cut"

We green-lighted the project about 6 weeks out and I spent most of that time vacillating between "How hard can it be to fill a workshop like this?" and "Where the hell do I begin?" Putting up the website was the easy part… generating (and tracking) the traffic was not.

Despite being able to work with a budget, we opted to phase in our marketing strategy over time — trying the free channels first and then rolling into paid channels if we couldn’t fill the class quickly enough. This meant we needed to locate all the relevant Meetup groups, mailing lists, newsletters and Twitter/G+/etc followings.

As it turns out, that is a whole lot of work and it also gave me a great appreciation for the value of a large mailing list. It’s one thing to read "go find the influencers and get them on board", like you probably have dozens of times in growth hacking / startups posts, and another thing to actually have to go out and do it. It changed my perspective on marketing dynamics. If you do anything like this in the future, you too will constantly have to ask yourself "How do I make him/her see that this workshop is enough of a win for his/her audience?"

Tweeting to large groups of followers multiple times was pretty worthless — low response rates, no conversions. We approached the large Ruby Meetup groups and mailing lists that tended to market paid events, but found ourselves in a strange gray area between free and conference price levels… or, just costly enough that they wouldn’t altruistically SPAM their list for us but not really pricey enough for people to get excited about doing some affiliate marketing. We also tried some startup newsletters (to access founders interested in building their own MVPs) but they were either really flakey to work with or outright failed to include what we agreed upon.

We quickly found that even a mailing list of several thousand people wasn’t really enough move the needle, which makes sense when you think about the necessary conversion steps — open email, see event mention, click to website, read full website, pay for workshop… lots of friction. Our overall conversion after people actually landed on the website was only around 0.5%.

Free channels turned out to require a whole lot of hustle and didn’t result in any conversions during the several weeks we earmarked for free marketing. That didn’t feel great. I had the "How will we ever get students???" question come up a lot more in my late night thoughts. I wasn’t going to go homeless without the income — the money from the workshop was hardly worth the hours spent (pro tip: be a consultant not a workshop host to make the big bucks), and that wasn’t the point anyway, but the challenge of trying to get rid of that goose egg in the conversions column became a bit of an obsession.

We decided to go phase II and reach out to paid channels including AdWords, Facebook, and affiliates. We started with the least costly and worked our way outwards to the more costly options after a week or so. I had a crash course in learning how much of a pain in the butt working with Facebook’s ad platform is.

If you can’t measure it, it didn’t happen.

Then, late one night, I got the Eventbrite email receipt from our first customer, who was an early-bird signup. We’d tiered the pricing structure to encourage people to sign up in advance (which turned out to be a great strategy) and he got in just in time to catch the break.

I rushed over to Google Analytics to try and see which channel our user had come from and… well, that’s odd, he was apparently a new visit. Aww, crap! Our conversions from Eventbrite all created new Google Analytics sessions and lost any referral information that was tied to that person.

…And thus began a long, tortuous, and ultimately unsuccessful campaign to try and figure out where the hell our customers were coming from so we could adjust our strategy accordingly.

The initial trade-off when making the website was to embed the Eventbrite widget to save time and handle payments more easily than writing our own Stripe integration. That seemingly wise savings up front was paid back several times over as we battled through documentation and tried a dozen different solutions to try and preserve the referral data for our conversions, to no avail. Thankfully AdWords at least kept ahold of the user’s cookies so we could tell where those conversions actually came from.

The experience left me unsatisfied with the opacity of both Google Analytics and Eventbrite in goal tracking.

It took some time before getting our next conversion but, after that, they rolled in every day or two.

Three major winners from our paid channels (from what we could tell):

  1. Google AdWords: It delivered the bacon and only cost about 10% each.
  2. Affiliate marketing from paid Meetup groups: We reached out to a couple of Meetup groups that tended to host paid events. Apparently a user base with a demonstrated desire and ability to pay for education will do it again with a higher-than-average likelihood. Go figure. These ended up costing more, however, because we not only had to pay the affiliate fee but also had to offer a discount to the user so we could actually track where these conversions came from. These conversions cost about 25%.
  3. Scholarship applicants: We offered a scholarship and a discount code to an underrepresented group and got around 20 applicants but no paid customers using the discount code. Once we chose our winner, we emailed the other applicants offering a deeper discount and had a number of them actually join us. This was overall the most expensive path (due to the free scholarship and deep discount) but we also got several paying customers that we never would have if we hadn’t just sent out that one additional email to the group who had already demonstrated interest. It should be noted that, while this is being analyzed from a marketing perspective, it obviously wasn’t the overall goal of offering the scholarship.

One major loser on the paid side:

  1. Facebook: Our page got all kinds of likes and clicks (by the way, who actually clicks "like" on ads they see? I’ve never done it myself) and good happy cumbaya karma vibes but not a single conversion and a very high bounce rate. Maybe that’s due to a poorly targeted or written ad, maybe not. Facebook also doesn’t let you exclude mobile users from your targeting (they only let you filter for ONLY mobile users), which is stupid for a paid event because no one is going to enter payment information via mobile. Come on, guys.

And then, finally, the major missed opportunities:

  1. Referrals: A couple of our students ended up signing up friends. This was a case where we absolutely should have explicitly encouraged signing up friends by offering a friend discount or something like that. It was clearly true that your best customer is your existing customer, but we didn’t take enough advantage of that.
  2. Retargeting: We just didn’t get around to diving into retargeting ads, but I’ve had good success with it in the past. Most of our students didn’t remember where they’d heard about the workshop so retargeted ads couldn’t have hurt. I wonder if retargeting would have made our Facebook campaign less of a stinker.

Final Analysis

In the end, we got just about the perfect number of students and they came from a diverse blend of channels. We learned the importance of leveraging your existing customers, the frustration of conversion tracking, and the nuances of paid marketing vs free.

In the final analysis, the total marketing spend (sum of discounts and direct advertising costs) was almost exactly 25% of our theoretical revenue (if everyone had paid full price), precisely what we had spitballed when we set out. Food turned out to be the next most expensive item, at 9% (we fed them well), followed by Eventbrite and Credit Card fees (totaling 5%).

Our profit margin ended up at about 60%, and that’s without paying massive venue fees (which we were quoted at anywhere from 20-30% for other places)… so it doesn’t seem economically viable to repeat our performance (it was more than 100 hours of work each to put it together). We could certainly cut down a lot of the hassle and optimize our marketing spend but it’s still not exactly a true developer’s salary. Luckily that’s not the point.

We were in it for the knowledge and we learned a whole lot beyond just how to better produce and market a workshop. Enough that I’ve embarked on a new project in the education space… but I’ll cover those lessons in another post that focuses more on the pedagogical lessons of the experience.