← All docs

Email marketing integrations

Sprout Affiliate can keep your affiliates in Mailchimp, Klaviyo, or Omnisend. Each affiliate lands there with their program, their referral link, their discount code, and a status that changes when you approve or pause them. That status is what makes an integration worth connecting: you can start a welcome series the moment someone is approved, without sending it by hand.

The integrations are in Sprout Affiliate under Settings › Integrations, in the Email marketing group. Each service has a Setup guide link beside it that opens its section on this page.

Before you start

Mailchimp

Mailchimp calls a contact list an audience. You choose one audience, and your affiliates are added to it.

Step 1: Choose or create an audience

You can use an audience you already have. If you want affiliates kept apart from your customers, create one for them first:

  1. Sign in to Mailchimp.
  2. Go to Audience and click Create Audience.
  3. Name it, for example Affiliates, fill in the sender details Mailchimp asks for, and click Save.

Some Mailchimp plans allow only one audience. On those plans, use the one you have. The tags described below keep affiliates easy to find in it.

Step 2: Create an API key

  1. In Mailchimp, click your name, then Account & billing.
  2. Click Extras, then API keys.
  3. In the Your API keys section, click Create a key. Name it Sprout Affiliate so you recognise it later.
  4. Copy the key. A Mailchimp key ends with a hyphen and your account's data centre, like -us19.

Step 3: Connect it in Sprout Affiliate

  1. Go to Settings › Integrations and click Connect on the Mailchimp row.
  2. Paste the key into Mailchimp API key and click Connect.
  3. An Audience list appears with the audiences in your Mailchimp account, and how many contacts each has. Pick the one affiliates should go into.
  4. Click Use this audience.
Settings › Integrations, after the key is accepted

Connect Mailchimp

Audience
Affiliates (42)

Use this audience

The Mailchimp row then shows Connected, and every affiliate who can be synced is queued. See When it syncs for how long that takes.

What Sprout Affiliate adds to Mailchimp

When you connect, Sprout Affiliate adds five fields to the audience, so there is nothing to set up yourself. A field you already have with the same tag is left as it is. Each affiliate's contact is then filled in like this:

Merge tagFieldWhat it holds
FNAMEFirst NameThe first word of the affiliate's name
LNAMELast NameThe rest of their name
AFFSTATUSAffiliate statusapplied, approved, or paused
AFFPROGAffiliate programThe name of their program
AFFREFAffiliate refTheir link name
AFFCODEAffiliate discount codeTheir discount code, if they have one
AFFLINKAffiliate referral linkTheir full referral link

To use one in a Mailchimp email, type its merge tag between *| and |*. For example, *|AFFLINK|* puts each affiliate's own link in the email, and *|AFFCODE|* their code.

Tags

Every synced contact gets the tag Sprout Affiliate, and exactly one status tag:

TagWhen
Affiliate: appliedThey have applied and are waiting for your decision
Affiliate: approvedYou approved them, or resumed them after a pause
Affiliate: pausedYou paused them

When the status changes, the old status tag is removed and the new one added in the same step, so a contact never carries two. To send a welcome series when someone is approved, create a Mailchimp automation (a Customer Journey) that starts when the tag Affiliate: approved is added.

Klaviyo

Klaviyo calls a contact list a list. Sprout Affiliate's box calls it an audience, but it is the same thing: you choose one list, and affiliates are added to it.

Step 1: Choose or create a list

  1. Sign in to Klaviyo.
  2. Click Audience, then Lists & Segments, then Create New, then Create List.
  3. Name it, for example Affiliates, and create it.

Step 2: Create a private API key

  1. Click your account name at the bottom left, then Settings.
  2. Open Account, then API keys, and click Create Private API Key.
  3. Name it Sprout Affiliate and choose Full Access Key. If you would rather give only what is needed, choose a custom key with full access to Lists and Profiles.
  4. Create the key and copy it. A private key starts with pk_. The public key (also called the site ID) will not work, and Sprout Affiliate says so if you paste it.

Step 3: Connect it in Sprout Affiliate

  1. Go to Settings › Integrations and click Connect on the Klaviyo row.
  2. Paste the key into Klaviyo private API key and click Connect.
  3. Pick the list from Audience, and click Use this audience.

What Sprout Affiliate adds to Klaviyo

Each affiliate's profile gets their first and last name, and these custom properties. Klaviyo needs no setup for them.

PropertyWhat it holds
Sprout Affiliateyes
Affiliate statusapplied, approved, or paused
Affiliate programThe name of their program
Affiliate refTheir link name
Affiliate discount codeTheir discount code, if they have one
Affiliate referral linkTheir full referral link

Klaviyo has no tags, so the status is the Affiliate status property. To send a welcome series, build a flow triggered by your list, or by a segment where Affiliate status equals approved. In an email, a property goes in as {{ person|lookup:'Affiliate referral link' }}.

Omnisend

Omnisend has no lists to choose from. Affiliates are added to your contacts and marked with tags, which Omnisend's segments and automations read.

Step 1: Create an API key

  1. Sign in to Omnisend, or create an account.
  2. Open Store settings, then Integrations & API, then API keys, and create a key. Omnisend's own guide to generating an API key has pictures of each step.
  3. Copy the key.

Step 2: Connect it in Sprout Affiliate

  1. Go to Settings › Integrations and click Connect on the Omnisend row.
  2. Paste the key into Omnisend API key and click Connect.

That is all. There is no list to pick, so the row shows Connected straight away and your affiliates are queued.

What Sprout Affiliate adds to Omnisend

Each contact gets the affiliate's first and last name, the tag Sprout Affiliate, one status tag (Affiliate: applied, Affiliate: approved, or Affiliate: paused, the same as Mailchimp), and these custom properties:

PropertyWhat it holds
affiliateStatusapplied, approved, or paused
affiliateProgramThe name of their program
affiliateRefTheir link name
affiliateCodeTheir discount code, if they have one
affiliateLinkTheir full referral link

Tags you added to a contact yourself are kept. Only Sprout Affiliate's own tags are changed.

When it syncs

Changes are not sent the instant they happen. They wait in a queue that Sprout Affiliate sends to each service once an hour, up to 40 affiliates per service each time. Mailchimp in particular limits how many connections one account can have open at once, including your own browser, so sending in small batches keeps your account working normally.

If every change in a run is refused, the row shows Needs attention. The usual cause is a key that was deleted or cancelled in your email service. Disconnect, create a new key, and connect again.

Re-sync and Disconnect

A connected row has two buttons.