Our MarTec start-up Friendly currently generates an annually recurring revenue (ARR) of $27,106. Of this, a whopping 71% ($19,243) came from our affiliates and agency partners:
I decided to develop the affiliate program myself and not to rely on an existing solution like Rewardful. I had three reasons for this:
- I wanted to have maximum control over the affiliate program so that I could influence every aspect myself.
- The integrity of our affiliates and partners is of the utmost importance to me. There are many ways in which bad affiliates can even harm you. That is why I did not want a fully automated solution. Instead, I do things that don’t scale: I make a personal video call with each potential affiliate before we work together.
- Another aspect is of course the cost – having your own solution will save you money for a tool. But that was not the main reason for my decision.
In this article I am going to show you the implementation of our affiliate program in detail in three simple steps.
Important note: if you don’t want to deal with web development or are looking for a fully automated tool, then this article is not for you. In this case I would choose an external tool.
First of all, you should define a parameter that your affiliates can use for posts on social media, blog posts, etc. With this parameter you can track which affiliate a lead came from.
We use the parameter “ref” for our affiliate program. Example:
In this case I know that a lead has come from our affiliate Jessica. Alternatively you can use any other name as parameter, e.g. “via=jessica”.
For technical reasons, you will only see this parameter once – the first time someone visits the site via this affiliate link. If the person clicks on another page of your website, the parameter disappears.
Of course you can also put the code into a separate .js file and then embed it into the website:
In step 1 we made sure that we put the affiliate source into a cookie.
In this step we will read this cookie when creating a new customer account in order to assign the customer to the appropriate affiliate.
If you are using PHP, this is easily done with the system variable $_COOKIE:
$affiliate = htmlspecialchars($_COOKIE["ref"]);
If you use a different programming language, just search for “read cookie” + the appropriate programming language.
This could be done with this code, for example:
You can download it here: affiliate-checkout.js
Step 3: Create commission dashboard for affiliates
After you have read and submitted the name of the affiliate in step 2, you should of course save it in your customer database.
The last step would be to give your affiliates access to a dashboard where they can view their referrals and commissions.
We currently still manage our customers quite simply in a Google spreadsheet. In the future we will certainly have a more sophisticated solution for this – so far we had other priorities.
My goal was to read the relevant data from this table for each affiliate. Of course, each affiliate should only have access to the data of his/her customers.
I solved this by creating a separate Google spreadsheet for each affiliate. I then share this new spreadsheet only with the corresponding affiliate.
This is what the dashboard of one of our affiliates looks like:
I automatically import this data from our main customer spreadsheet – to which the affiliate has no access. To do this, I use the IMPORTRANGE function of Google Spreadsheets as part of the Google Query Language:
=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/abc123","Tab Name!A:N"), "select Col1, Col2, Col3, Col4, Col11,Col6, Col7, Col8, Col7*Col8, Col9, Col12 where Col10 = 'Affiliate Name' LABEL Col7*Col8 'Commission per month'", 1)
Because I’m retrieving data from another document, I can’t use the names of the columns, but must address the columns with a number – “Col1” is the first column, “Col2” the second, and so on.
Our affiliates then invoice us each month for their commissions based on this dashboard.
So far this simple solution has worked very well for us. Affilates are the most important source of acquisition for Friendly – not in terms of number of customers, but in terms of revenue.
Should we ever need to scale our affiliate model more, we would especially automate step 3 (affiliate dashboards and billing) more – using in-house software or external tools.
Questions? Ask me anything 🙂
P.S. If you enjoyed this, you might like our newsletter. We share insights from our journey as a bootstrapped open startup, marketing best practices, and Friendly surprises!