TL;DR: In this post, I’ll show you how to hack together an email referral system with MailChimp, Zapier, and Mailgun, and I will also share the results I got from it.
Sidebar has been doing great lately, and will soon see its 10,000th subscriber! But as I watch the subscriber count slowly tick up, I’ve also been thinking about how to keep that number growing in the future.
Keeping a constant growth rate is deceptively hard. After all, growing by 20% a month when you have 100 subscribers means finding 20 new subscribers. But if you already have 10000 members, maintaing that same growth rate now means finding 2000 new people in the same timespan!
This means maintaing the same growth rate is impossible, unless your current users can somehow help you find new ones (a.k.a. viral growth). This led me to wonder if there wasn’t a way I could use Sidebar’s existing subscriber base to my advantage.
I started thinking about setting up an email-based referral program. Pretty soon, I realized that not only was such a program possible, but I could implement it pretty cheaply, and without writing a single line of code!
Let me explain how it all works.
First, let’s lay out our basic goal: we want to incentivize people to refer new subscribers to our newsletter. So in simple terms, if you get a friend to sign up, I’ll give you both something in exchange (for example, a free eBook). By the way, rewarding both sides is very important, as I’ll soon explain.
There’s a thousand possible ways to set this up, but since we’re talking about newsletters here we’ll do as much of the work as possible by email.
So the whole flow will look something like this:
- Alice receives a newsletter containing a personalized sign-up referral link.
- Alice forwards the newsletter to her friend Bob, who’s not a subscriber.
- Bob signs up using Alice’s special link.
- Both Alice and Bob receive a reward.
Rewarding Both Parties
Why is it so important that Bob also receives a reward? After all he didn’t do anything special. But giving Bob a reward is what makes it socially acceptable for Alice to forward the email in the first place, since she is also doing Bob a favor. Without that dual reward, Alice would probably be hesitant to push a referral link on her friend.
In any case, we have two technical challenges:
- Generating the special sign-up link.
- Sending the reward.
It turns out smart people have already created services that easily let us do just that.
Generating the referral link
First, let’s see how we can generate a unique referral link using MailChimp. As it happens, our email subscribers already possess a unique identifier… their email addresses!
We’ll simply use MailChimp’s EMAIL merge tag to inject the recipient’s email into our sign-up link. So our sign-up links will end up looking something like this:
(the part in bold is the part that we’re adding)
Note that that including people’s email address in the referral link means they probably won’t want to share those links openly on social networks. But since our referral campaign’s whole concept is based on referring one’s friends by email, that shouldn’t be a problem (plus, using some kind of unique ID would require custom coding).
Setting up our sign-up form
Now that we’re sending over the refferer’s email address, we need to tell Mailchimp what to actually do with that info.
So we’ll simply add a REFERRAL form field to our signup form, and that field will automatically get pre-filled with the variable we passed in the URL!
Note 1: Ideally, you’d want to hide that “Referred By” field if someone hasn’t been referred by anybody in particular. While this is not possible with MailChimp, you could do it if you used Wufoo for your sign-up form.
Note 2: We don’t have any way to check that the email entered in the “referred by” field actually belongs to an existing member. But our primary goal is to get more sign-ups, so people “gaming” the system to receive the gift even when not referred isn’t really a problem as long as they sign up,
OK, so our new sign-ups now have an extra “referral” field in their profile. But how do we actually do something with it?
For that part, we head over to Zapier.
Zapier is a bit like the swiss army knife of the web (or maybe like some kind of tool that would let you combine one swiss army knife with a different kind of swiss army knife).
Anyway, to put it more clearly it lets you define simple rules to take data from one app, and use it in another completely different app.
In our case, we’ll define two simple rules:
- When somebody signs up to our newsletter and their “referral” field contains “@”, send them an email.
- When somebody signs up to our newsletter and their “referral” field contains “@”, send an email to the referrer.
And of course, that email is where we include a link to our welcome gift!
In case you’re wondering about the “contains @” part, that’s a crude way to validate that the fields actually contains an email address. Of course it’s not perfect, and it would’ve been better to do the validation on the MailChimp side, but it’ll have to do for now.
If I ever revisit this topic, I will show you how to use Wufoo to avoid this problem and add a couple other improvements as well.
The Final Piece of the Puzzle: Mailgun
And if you want to use this setup yourself, I’ve exported both “zaps” to make them ready to use:
Finally, if you’d like more details on the setup, you can also check out this presentation I did that explains the whole thing (sorry for the bad sound quality!):
You’re probably curious to know what kind of results I got from all this. Let me break it down for you.
I first tried out this referral system on my own mailing list (which is where I first explained the whole thing by the way – sign up if you’d like to receive more content like this!), offering a free eBook for people who referred a new subscriber.
So how did it turn out? A quick search on the “@” character shows that 42 people have entered an email in the “referral” field at sign up.
42 people might not seem like much on a 4000-person list, but on the other hand it’s about 4 times more than my average sign-up rate of 9 people a day. And at least it showed that my idea worked.
I then decided to try the experiment with Sidebar’s 9174 subscribers. Thanks to the awesome folks at Creative Market, I came up with a great incentive for referrers: $5 in Creative Market credits!
The result: 213 extra sign-ups, which means about 2.3% of existing subscribers referred somebody. I won’t lie, I was a little disappointed. I thought that with a quasi-monetary incentive, the system would turn out to be more effective and have a higher conversion rate.
Who knows why the conversion rate wasn’t higher? There could be many reasons:
- My instructions on how to earn the coupon code weren’t clear enough.
- People couldn’t think up of somebody to send the referral email to.
- People hate referral programs and my idea sucks.
In any case, it was a fun experiment and I’m still glad I did it. And now that I’ve set the whole thing up, it would be pretty easy to try it again with a different prize!
You might be wondering why you should go through the trouble of setting up your own custom system instead of simply signing up for one of the countless dedicated referral management service out there.
There’s a couple reasons: first, most of these services are geared towards e-commerce referrals, and integrate with shopping cart systems like Shopify or Magento, but not necessarily with email newsletters.
Second, these services are actually quite costly. For example, Ambassador starts at $99 monthly for 250 “ambassadors”, which I assume 250 referrals. In Sidebar’s case, if I wanted to potentially enable all 10000 subscribers to be “ambassadors”, it would cost me $799 a month!
Contrast this number with what I paid: apart from my MailChimp subscription (which I’m paying anyway), the whole thing cost me $34: $19 for a Mailgun subscription, and $15 for a Zapier subscription.
Finally, I just think assembling multiple services like lego bricks to build your own system is a lot more fun and way cooler!
DIY for the Web
I think there’s something a bit magical about unrelated services being able to talk to each other through their APIs. I’m the furthest thing from the DIY type, so I will probably never know the joy of fixing my own car, or building myself a desk.
But I’d like to think that setting up my own little hack and watching those 213 new people sign up is almost the same thing!
Note: Zapier also did a write-up on this topic, showing you how you can use Wufoo for your sign-up form.
As usual, you can discuss this on Hacker News.