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
- Plan. The email marketing integrations are on the Professional plan. On a lower plan the rows show the plan name instead of a Connect button.
- Who is synced. An affiliate is sent to your email service only if they have an email address and receive your store's announcements. Announcements are on for every affiliate unless they switch them off, under Notifications in their portal or with the unsubscribe link in any announcement. Someone who switches them off is taken back out, as described under each service below.
- Applicants too. Applicants who have agreed to announcements are included, with the status applied, so you can follow up with someone still waiting for a decision.
- More than one service. You can connect all three at once. Each one is kept up to date separately.
- Your key stays private. Every service connects with an API key you create in that service. Sprout Affiliate stores it encrypted and never shows it again. You can cancel it in your email service at any time, which stops the connection.
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:
- Sign in to Mailchimp.
- Go to Audience and click Create Audience.
- 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
- In Mailchimp, click your name, then Account & billing.
- Click Extras, then API keys.
- In the Your API keys section, click Create a key. Name it Sprout Affiliate so you recognise it later.
- 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
- Go to Settings › Integrations and click Connect on the Mailchimp row.
- Paste the key into Mailchimp API key and click Connect.
- An Audience list appears with the audiences in your Mailchimp account, and how many contacts each has. Pick the one affiliates should go into.
- Click Use this audience.
Connect Mailchimp
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 tag | Field | What it holds |
|---|---|---|
FNAME | First Name | The first word of the affiliate's name |
LNAME | Last Name | The rest of their name |
AFFSTATUS | Affiliate status | applied, approved, or paused |
AFFPROG | Affiliate program | The name of their program |
AFFREF | Affiliate ref | Their link name |
AFFCODE | Affiliate discount code | Their discount code, if they have one |
AFFLINK | Affiliate referral link | Their 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:
| Tag | When |
|---|---|
| Affiliate: applied | They have applied and are waiting for your decision |
| Affiliate: approved | You approved them, or resumed them after a pause |
| Affiliate: paused | You 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.
Subscriptions and opt-outs
- An affiliate who is new to the audience is added as subscribed, because they receive your store's announcements. Mailchimp does not send them a confirmation email.
- An affiliate who is already in the audience keeps the subscription status they have. Sprout Affiliate updates their fields and tags only.
- An affiliate who switches off your announcements, or unsubscribes from one, is archived in the audience. Archiving is Mailchimp's way of removing a contact while keeping their history.
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
- Sign in to Klaviyo.
- Click Audience, then Lists & Segments, then Create New, then Create List.
- Name it, for example Affiliates, and create it.
Step 2: Create a private API key
- Click your account name at the bottom left, then Settings.
- Open Account, then API keys, and click Create Private API Key.
- 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.
- 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
- Go to Settings › Integrations and click Connect on the Klaviyo row.
- Paste the key into Klaviyo private API key and click Connect.
- 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.
| Property | What it holds |
|---|---|
| Sprout Affiliate | yes |
| Affiliate status | applied, approved, or paused |
| Affiliate program | The name of their program |
| Affiliate ref | Their link name |
| Affiliate discount code | Their discount code, if they have one |
| Affiliate referral link | Their 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' }}.
Subscriptions and opt-outs
- Sprout Affiliate adds the profile to your list. It does not change the profile's email marketing consent in Klaviyo, and Klaviyo only sends marketing email to profiles that are subscribed.
- An affiliate who switches off your announcements is taken off the list. Their profile and its properties stay in Klaviyo.
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
- Sign in to Omnisend, or create an account.
- 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.
- Copy the key.
Step 2: Connect it in Sprout Affiliate
- Go to Settings › Integrations and click Connect on the Omnisend row.
- 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:
| Property | What it holds |
|---|---|
affiliateStatus | applied, approved, or paused |
affiliateProgram | The name of their program |
affiliateRef | Their link name |
affiliateCode | Their discount code, if they have one |
affiliateLink | Their full referral link |
Tags you added to a contact yourself are kept. Only Sprout Affiliate's own tags are changed.
Subscriptions and opt-outs
- An affiliate who is new to Omnisend is added as subscribed to email. An existing contact keeps the status they have.
- An affiliate who switches off your announcements has Sprout Affiliate's tags taken off. The contact stays in Omnisend.
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.
- After you connect, a store with up to 40 affiliates is fully synced within the hour. A larger store takes one hour for every 40 affiliates, so 400 affiliates take about ten hours.
- After that, an affiliate is updated within the hour when you approve, pause, or resume them, and when they switch your announcements on or off.
- If the service is down or busy, the change is tried again at the next run, up to five times.
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.
- Re-sync queues every affiliate again for that one service. Use it after you edit a lot of affiliates at once, or if contacts look out of date. Anyone who has switched off your announcements is removed in the same pass.
- Disconnect deletes the stored key and anything still waiting in the queue for that service. It does not remove anyone from your email service: contacts already there stay there, with their fields and tags. Other connected services are not affected.