How I built a free newsletter referral system for EmailOctopus in an hour (Part II)

Continuing from my previous post (https://shchoi22.medium.com/how-i-built-a-free-newsletter-referral-system-for-emailoctopus-in-an-hour-99e885219d1c) on building a basic referral program for EmailOctopus, there are few basic features that SaaS apps like Sparkloop and Viral Loops offer that really help increase subscribers to share using the referral program.

The basic features are:

  1. Current referral count with “you have X to go” message in every email you send.
  2. Basic analytics on how many of your new subscribers are referrals

Having subscriber’s current referral count and how many more referrals they need for their next reward threshold in the emails they receive can be a great reminder for subscribers to share with their friends and family every time they receive an email from you. Since we have the referral count for every subscriber (from last post), we need to implement conditional merge tag feature EmailOctopus offer to include this in the emails you send.

According to EmailOctopus, conditional merge tags are offered as a beta feature and reminds users to test first before sending emails out (https://help.emailoctopus.com/article/74-customisation-cheat-sheet):

Image for post
Image for post

To add referred count to your emails, add the following HTML snippet to your templates:

Quick explanation of what each merge tag does:

  1. {{Referred}} => merges “Referred” count value
  2. {% if Referred < 3 %} => starts section to merge if “Referred” count value is less than 3 (threshold for referral program reward)
  3. {{ 3 — Referred}} => merges the result of arithmetic operation 3 minus “Referred” count value. This is not explicitly covered on EmailOctopus docs so use it with caution. For example, if subscriber’s “Referred” count value is 2, value of 1 will be merged.
  4. {% else %} => starts section to merge if “Referred” count value is greater or equal to 3.
  5. {% endif %} => ends conditional merge tag section.

What it looks like on our newsletter:

Image for post
Image for post

To test whether a certain copy promoting your referral program works or not, we needed a way to flag subscribers as referral. Using our serverless function to do this had myriad of issues like race conditions. Instead of relying on our custom solution, we decided to customize EmailOctopus’ embedded form and its post form data with the referrer id.

As you can see below, you can add “Referred By” field as a custom field that users can fill out and the “field_id” that EO uses to recognize the field during form submit:

Image for post
Image for post
Image for post
Image for post

Instead of making this field visible for the users to fill out, what you can do is update the field with CSS to hide it and use Javascript to map referrer Id from URL as value of the hidden input element. For example:

Image for post
Image for post
Image for post
Image for post

After changes are live, you’ll be able to see referrer id in “Referred By” field for subscribers that are referrals:

Image for post
Image for post

Now that you have Using EmailOctopus’ segments feature, you can do a rough analysis on your new subscribers by:

  1. Filter for subscribers added before and after a specific day. Note new subscriber count per day.
Image for post
Image for post

2. Add another filter for “Referred By” is not blank:

Image for post
Image for post

3. Calculate % referral: 4/50 = 8.0%

Let me know if you have any questions down below and if you are interested in my newsletter or just want to show me some ❤️, you can subscribe here:

Cheapskate maker, stitching free products and services together. Digital settler. Engineer @ Rentapplication

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store