We write a lot about referral programs at YesGraph because our product helps make them better.
In this post, we’ll cover exactly what it takes to create a referral program and add YesGraph. This is for people just getting started. If you have a referral program and want to increase performance, start from step 4.
1. Invite URL to track referral signups
To track performance and grant rewards, you need a way of having one user share a link or code with a friend to get them to sign up.
Uber made popular having a referral code because lots of sharing was in person, but we have supercomputers in our pockets and links are easier to click than typing a code.
The simplest invite link just has the inviter’s username or a referral code, like this:
That url should go to a registration page. Making this a dedicated registration page separate from your normal signup form is a good idea because you can optimize it as a referral landing page.
2. Grant a reward
Many apps create an incentive to send referral invites. This helps motivate the inviter to send referrals and motives the invitee to accept the invite.
You don’t need to grant the reward just on signup. It can be deeper in the funnel. Dropbox required the invitee to signup, install the desktop client, and sync a file. This helps bring in better users and motivates users to go deeper into your product. It can also help avoid some fraud.
Note that regardless of the vendors you’re using, you’re probably going to have this build this part yourself. General purpose vendors might make system that work on some platforms, like Shopify. But granting a reward probably requires custom code.
The reward doesn’t need to be money. Extended trials, time on pro features, and some currency like Dropbox extra space all work in the right context.
3. Prompt users to refer
Think about marketing a referral program like you would any other product feature. It isn’t “if you build it, they will come”. It never is, but people seem to forget that for referrals.
In fact, tracking what percentage of your users even participate in your referral program is a primary metric. You should try to make it be as high as possible because this is the top of the referral funnel.
Start with prompts in your app and emails to your users. Consider creating multiple or recurring prompts so that it isn’t just new users that are told about the program.
Ideally, embed the prompt in the product experience. This is why messaging apps and social networks grow so fast: users are frequently active and the products are about communicating with friends. For example, for ecommerce or marketplaces, prompt upon purchase.
4. Add sharing channels, including contact importing
We’re about to launch an Android SDK and also a web SDK that will completely solve this problem.
There are a few basic channels:
- copy the invite link, to share wherever
- social networks, like Facebook and Twitter
- email, where you type in the contacts
- contact importers, where you select among contacts
If you track the performance per channel, you’ll find email is the highest converting channel per invite. So the goal is often to drive more email invites. You just don’t have as much control over a shared link or Facebook posts.
So add a contact importer to really start to scale. Typical contact importer channels include Gmail, Yahoo Mail, Outlook, Hotmail, and Aol. It’s a fair amount of work to add these and others, which is why we’re building Superwidget.
5. Add YesGraph suggested invites
The problem with contact importers is that there are typically hundreds if not thousands of contacts. If you allow users to send to all of them, your app will get marked as spam and your emails will stop being delivered. It’s a bad experience for everyone.
YesGraph helps recommend exactly who users should invite. The most successful apps use yesGraph to recommend who among the hundreds or thousands to invite. We filter out spam and duplicate contacts.
Most importantly, YesGraph builds a machine learning model to rank contacts just for your app. This is heavy lifting that normally only data teams at huge companies like LinkedIn and Facebook could hope to accomplish. The signal to noise is so high that you can even pre-select our recommendations to drive far more invites while maintaining an excellent user experience and good deliverability.
Send contacts and getting recommendations means using YesGraph’s API. If you have any trouble, email email@example.com. In short, raw contacts go in, and ranked contacts come out. Read more about YesGraph’s API on our documentation page. We have an SDK for Python apps too.
POST /address-book → suggested contacts
To exclude current users from our recommendations, use the API to tell YesGraph whom to exclude.
POST /invites-sent POST /invites-accepted
6. Track performance and iterate
Like any other product feature, there is a support lifecycle after launch. Referrals might be unique in how much optimization is worth it. Unlike other features, optimization directly leads to higher growth.
So you’re going to run multiple tests to get better performance over time.
YesGraph helps here too, in a few ways. First we automatically get better with our contact recommendations from tracking what invites are sent and accepted. We also constantly refine our invite flows available through our SDKs to put forth the best product design.
We also can help reflect what is working through our metrics dashboard. We reflect invites sent and accepted and have powerful cohort analysis tools.
To get started with YesGraph, create an account and invite your developers to dig in. Email firstname.lastname@example.org with any questions — not just about integration but about your whole referral program. We’re here to help you grow.