Use SparkLoop to build a newsletter referral program

You can use SparkLoop to create a referral program for your EmailOctopus newsletter.

You'll need a subscription to an EmailOctopus Pro account to set this up.

Connect SparkLoop to Emailoctopus

When you sign up for SparkLoop, you'll need to select the email platform you use. Choose EmailOctopus from the list displayed on your screen, then connect your SparkLoop account to your EmailOctopus account.


To do it, paste your EmailOctopus API key and click "Connect your EmailOctopus account". You can find your API key here while signed in.

Create your referral program

Type its name and select the EmailOctopus list you want to use it with. You won't be able to change the list later, so make sure that you select the right one.

You'll be taken to the Onboarding Checklist screen in your SparkLoop account. Go through each step to complete the setup. The first step, "Set a custom referral link domain" is optional, so we'll continue to the next one (you can complete it by following the instructions on your screen).

Add webhooks

Click "show me how to do it" and add a webhook with the URL SparkLoop provides.

This is what it needs to look like in your EmailOctopus account:

We support two webhook endpoints per team. Please get in touch with us if you need more endpoints.

Generate referral links

Import existing contacts from your EmailOctopus list and create custom fields with referral links for each one of them. This can be done by clicking "Show me how to do it" and "Start import".

Add rewards

Create a reward to incentivise your subscribers to share your newsletter with friends. When setting it up, select the appropriate fulfilment option and pick "Send an automated email via EmailOctopus" in Step 2. Save and activate it.

Set up reward fulfilment

Whenever a subscriber wins a reward for referring new contacts, they should get it delivered automatically. You can create an automation within your EmailOctopus account to set it up.

To do it, go back to the reward you created in the previous step (Referral Programs > Rewards) and click "Open advanced options". Copy the Reward ID as shown below.

Go to your EmailOctopus account and create a new automation (Automations > Create). Select "contact field updated" as a trigger, choose "RH_LASTREWARD" as the field and paste the Reward ID as the value. Click "Save & close".


Add a "send email" step to your automation and set up an email that will be sent as soon as someone wins the reward. Remember to include the reward itself in it (or instructions on how to redeem it). Read this article for more information on how to set up an automation.

Check your subscribers have referral links

All your subscribers should now have a custom referral link assigned to them in the RH_REFLINK custom field.

To check if it's the case, go to your EmailOctopus list's "Segments" tab. Create a segment based on the RH_REFLINK field, selecting the "is not blank" operator. The number of contacts that match this segment should be the same as the total number of contacts on your list.

If it's not the case, go through the SparkLoop import process again or wait a bit longer. Feel free to contact SparkLoop's support in case there's a big discrepancy there.

Referral link destination

Choose the URL where your subscribers' referral links will point to. This can be your landing page or a website with a sign-up form.

Install the tracking script*

Click "Show me how to do it" and follow the instructions on your screen (there are a few guides on how to add the script to some of the more popular website builders). Once you've installed the script, you'll need to test it by subscribing SparkLoop's test address to your sign-up form.

Paste the test email address SparkLoop gives you into your sign-up form and submit the form to finish the test.


*If you want to use an EmailOctopus landing page, you need to add the SparkLoop referral tracking ID to your landing page's Settings. To do it, access your landing page, and click Page settings in the left-hand menu:

Then scroll all the way down and paste the team ID from the script generated by SparkLoop:

Make sure to click "Publish" to save this change.

Create your email referral section

Click "Design your referral section" to create a section that you'll include in your campaigns and automations. Once you're done, click on "HTML" and copy the code to your clipboard.

Go to your EmailOctopus template, add a "Code" content block and paste the referral section code into it. Don't worry if you see some exposed conditional merge tags – it's intended. Your recipients won't see them.


Add an intro email

To make sure that your recipients are aware of your referral program, it's a good idea to include some information about it in your automated onboarding sequence. You can add an automated email a few days/weeks after the initial welcome email.

You can also send a campaign to your existing subscribers to announce your referral program – make sure to include the email referral section you created in the previous step.

Add a first referral email

You can set up an automated email that will be sent as soon as a subscriber makes their first referral. To do it, create an automation with a "contact field updated" trigger based on the RH_TOTREF field and set the value to "1".

Then, add an email to congratulate your subscriber on their first referral.

To sum up, we recommend that you create the following:

  • an "Intro" automated email for new subscribers (as a part of your onboarding automation)
  • an "Intro" campaign for existing subscribers (sent to your whole list as soon as you launch the referral program)
  • a "First referral" automated email (sent when a subscriber makes their first referral)
  • a "Reward" automated email (for each reward that you create)

For more information on the technical aspects of this integration, read SparkLoop's documentation or reach out to their support team.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact us Contact us