← All docs

Getting affiliates

Sprout Affiliate gives you four ways to bring people into a program: a public signup page, invites you send yourself, the Sprout network, and a listing on the Sprout marketplace. None of them puts someone into your program the moment they sign up. Every route ends with either an application (yours to approve, or approved for you if you turned on auto-approve) or a message you answer, and when you invite someone you choose which program the invite is for.

Your public signup page

What an affiliate sees on your signup page
North Loop Goods affiliate program20% commission
First name
 
Last name
 
Email
 
Password
 
Your discount code
JORDAN20
You approve it

Cookie duration, commission, and any extra terms are shown above the form, so nobody signs up without seeing the deal. The fields themselves are yours to choose: the template you pick decides which appear.

Every store gets a hosted signup page at app.sproutaffiliate.com/join/your-store-handle, where the handle is your Shopify subdomain (the mystore part of mystore.myshopify.com). The Programs page shows the full link for each program with a Copy button next to it. The page lives on Sprout Affiliate's domain rather than your storefront, so it still works while your store is password protected. The same form is also served on your own storefront at /apps/sprout/signup, through Shopify's app proxy (a setting that lets a path on your domain be answered by the app).

The link carries ?campaign= and the program's slug, which is the program name in lowercase with every space and symbol turned into a hyphen (Summer Creators becomes summer-creators), to point at a specific program. Without it, the page opens the program marked Default on your Programs page, and falls back to the oldest program you created only if you have not marked one. Either way, the program it lands on has to be active: if it is paused, the page shows a short "Applications are closed" message even when your other programs are live.

The form asks for first name, last name, email, and a password (8 characters minimum, entered twice). It does not ask for payout details or a discount code. Affiliates set those in their portal after they are approved. Someone whose email already has a Sprout Affiliate account, from your store or another, is asked for that account's password instead of a new one, and their application goes in with that account.

Email, phone number, or both. The first card in Settings > Affiliate portal, Affiliate login, decides how affiliates sign up and sign in. Email is on, and grayed out while it is the only way in. On the Growth plan and up you can switch Phone number on as well (below Growth it is locked, with the plan it needs). Both switches save the moment you flip them.

On the form the phone number has a country picker beside the box, and a Send code button: the number is confirmed with a code texted to it, the way an email is confirmed by its link, and Sprout Affiliate pays for the texts. The text names your store. Every number is also checked against its country's numbering plan. Where email is not required, an application reaches you as soon as its code is confirmed; where it is, it waits for the email link as always. Affiliates then sign in with email or phone number, and their password. A forgotten password is reset by a code texted to the number, or by the emailed link. A new number entered later, in the portal's Profile or the phone app, needs its code too. The number shows as Phone under General information on the affiliate's page.

Above the form, a benefits box lists the cookie window (how many days after someone clicks the affiliate's link their order still counts as that affiliate's), whether the commission is percentage, flat, or tiered, the amount, the customer discount if the program offers one, your extra terms, and any perks set on the program. The cookie row is left out when the program has an infinite cookie duration, which is stored as zero days.

The page is translated into 29 languages, with right-to-left layout for Arabic and Hebrew. It picks the language from ?lang= on the URL, then the language that browser was last shown the portal in, then the country the visitor is in (by IP address), then the browser's own language, then English. An affiliate keeps the language they first opened the portal or the phone app in, from any country, and changes it under Settings › Profile › Language in the portal or Settings › Language in the app; their email follows it. The Classic, Bold, Minimal, Spotlight, and Editorial templates show a language picker beside the Login link (on Minimal, at the foot of the card); a Custom HTML page does not. Under Settings, "Hide the affiliate signup page from search engines" (a switch that saves the moment you flip it) adds a noindex robots tag, which asks Google and Bing to keep the page out of their results.

The confirmation step matters. A new signup does not reach you straight away. Sprout Affiliate emails the applicant a confirmation link, and the application stays invisible until they click it. Only then does it appear in your queue (or auto-approve). That link expires after 3 days.

If someone says they applied and you cannot find them, they almost certainly never clicked that email. They can sign up again: an unconfirmed application is replaced by the new one. Someone already in that program with the same email is told to sign in instead, since it is one membership per person per program.

If a visitor is already signed in to a Sprout portal for another store, the page offers a one-click join using their existing account. The one-click join skips the confirmation email, because being signed in to that account already proves they own the email address.

The signup form on a page of your own store. To show the same form on a page you build with PageFly, GemPages, EComposer, or your theme, open Settings > Integrations > Page builders > Affiliate signup form and press Get the code. Add a Custom HTML block to that page and paste the code into it. People who open the page can apply to your affiliate program right there, and their applications reach you exactly as they do from your signup page.

The signup templates

TemplateWhat it looks like
ClassicDark brand panel on the left, benefits and form on white to the right.
BoldFull-width hero, numbered benefit cards, form lower down the page.
MinimalOne centred card on a tinted background.
SpotlightLarge headline and benefit tiles on the left, form panel on the right.
EditorialDark, oversized type, a scrolling strip, terms as a numbered list.
Custom HTMLYour own page. You write the HTML and the CSS, and the signup form goes where you put {{form}}. Nothing is added to your page: without {{form}} it has no signup form, and an empty box is a blank page.

You pick the template, logo, colours, and font under Displays, then Registration. The five alternatives to Classic (Bold, Minimal, Spotlight, Editorial, and Custom HTML) are a Growth plan feature: on the Free plan those tiles are greyed out and a save keeps the Classic layout, while your logo, colours, font, and wording still save.

Custom HTML gives the signup page two boxes, one for your HTML and one for your CSS, and the login page has the same pair. Choosing it hides the settings the other templates use, because your page decides all of that. The limits are 200,000 characters of HTML and 100,000 of CSS per page; going over refuses the save and tells you the count, leaving the page as it was.

Three fields are stored per program rather than shop-wide: Headline, Intro text, and Additional terms. Ticking "Give this program its own look" puts the whole design on that one program instead of the shop-wide one. The Bold, Minimal, Spotlight, and Editorial pages carry a "Powered by Sprout Affiliate" line. Removing it is a Professional plan feature.

Inviting people yourself

Recruit has two tabs for this. Email writes one invite and sends it to a list of people. Links gives every program a signup link and a QR code to copy, for a post, a pack-in card, or a DM you write yourself.

On the Email tab you add people as rows, a name and an email address each, or upload a CSV. Everyone joins the program picked above the list, unless the file has a program column, in which case each row joins the program it names. The invite itself is written in the same editor as every other email here: a subject, preview text, and sections you click and edit, next to a live preview of what one person will receive. Words like {first_name} and {commission} are filled in for each recipient, and beside each word's button the editor shows what it becomes: {name} is the person's full name, {first_name} their first name, {brand} your store name as Shopify has it, and {commission} the picked program's terms. "Suggested invite" fills the draft with wording that states your commission, and you can save what you write as a template and pick it again later (up to 20; saving under a name you already use replaces it).

Sprout Affiliate sends these. If you have verified your own sending domain under Settings › Sender address, they leave from your address; otherwise they leave from Sprout Affiliate's own address. Replies go to your support email either way. Invites travel on a sending stream of their own, so a complaint about an invite cannot touch the reputation of your sign-in links or payout notices. Sending invites by email is on a paid plan, and how many can go out in a day depends on which one. The ceiling is there because that invite stream is shared by every store: it keeps one merchant's mass mailing from costing every other merchant's invites their delivery.

PlanInvite emails per day
FreeNone; the send and the test are refused
Growth50
Professional200
Enterprise500

Anyone over that day's allowance is queued rather than dropped, and goes out as each day's allowance frees up. A banner tells you how many are waiting and lets you cancel the queue. A queued invite sends the email as it was written when you queued it.

Three kinds of people are skipped, and each is reported back with its reason rather than dropped silently: someone who is already your affiliate, someone who asked your store not to invite them again, and someone you have already invited. That last one is why re-uploading the same file does not invite anyone twice.

Every invite carries a one-click unsubscribe, which Gmail and Yahoo require of bulk senders. Using it stops that store inviting that person again, and it is what keeps an unwanted invite from becoming a spam complaint. That matters more once you send from your own domain: the complaint then lands on your domain's reputation rather than ours.

"Send a test to" your own address sends the draft to your support email, so you can read it in a real inbox before the list goes out. A store can send 20 test emails a day, and a test does not spend an invite.

The "Invites you've sent" list shows each invite as Not opened, Clicked, or Joined, with a running count of how many were sent, opened, and joined, and marks the ones Sprout Affiliate emailed. Only the first click is recorded, so the opened count is people rather than visits. Deleting an invite removes it from the list.

An invite you would rather send yourself is still there: Compose on any row gives you a full email version, a short version for DMs, and the link on its own, to paste into your own account. Invites you make from the Sprout network tab work the same way.

The invite you email from Recruit can be written in your own HTML on the Professional plan. See Writing an email in your own HTML.

An email written in Messages › Emails can also go to a list you upload, and the people on it who are not affiliates yet receive it as an invite with a link to join the program you pick. See Emailing a list you upload.

Inviting customers after a purchase

On the Email tab, Invite customers after a purchase emails each new customer an invite to your affiliate program after their order. It is off until you turn it on, and only orders placed after you turn it on are invited, so turning it on never emails your past customers. It is on the Growth plan and up, the same as the invites you send yourself.

Three choices sit on the card, and each one saves as soon as you change it. Program shows whether the switch is on or off, and the other two show while it is on.

Each customer is invited once, however many orders they place. Sprout Affiliate skips someone who is already your affiliate (in any status), someone you already invited by hand or automatically, and someone who unsubscribed from your store's invites, as well as orders with no email address and test orders. When an order is canceled or fully refunded before its send time, its invite is dropped. A customer who arrived through an affiliate's link or code is invited like any other customer, and the invite does not change that affiliate's commission on the order.

These invites are the same email as the ones you send yourself, with the same unsubscribe link, the same sending address, and the same daily allowance, which the Recruit page shows as the number left today under "Invite people by email". Invites you send or queue by hand go first, and on a busy day the rest wait for the next day's allowance. An invite that still has not gone out 30 days after its send time, for example while your plan has no invite allowance, is dropped. Turning the switch off stops every invite still waiting.

The card lists each automatic invite as Waiting, Sent, or Not sent with the reason. The ones that went out also appear under "Invites you've sent", marked "sent after a purchase".

Inviting customers on the Thank you and Order status pages

Sprout Affiliate also has a block for the Thank you page that customers see right after checkout, and for the Order status page in customer accounts. It shows "Earn with" your store's name, the line "Share your link and earn" your commission "on every sale", and a Join button that opens the program's signup page in a new tab. The block shows nothing until you add it: in Shopify, open Settings › Checkout, choose Customize, pick the Thank you page or the Order status page, and add the Sprout Affiliate block where you want it. The card under Invite customers after a purchase links straight to the checkout editor.

The block follows the same rules as the automatic invite email, whether or not that email's switch is on:

The customer's email is filled into the signup form for them. The block can read that email only where Shopify gives the app access to customer email addresses; without it, the block still shows, the email box starts empty, and the block cannot tell whether the customer is already your affiliate. In the checkout editor's preview, an empty block says why it is empty, for example the plan it needs.

The Sprout network

The Sprout network is the pool of affiliates who turned on "List me in the Sprout network" in their own portal settings. They are visible to every store using Sprout Affiliate. On the Sprout network tab you see each person's name, photo, pitch, website, social links, tags, and how many stores they already promote for.

You never see their email address. Sprout Affiliate sends the invite for you, including a personal note you write (up to 1000 characters) and an invite link that records the first click and any application it produces. The tab shows up to 100 people.

The rules that stop network invites turning into spam are strict:

If the tab looks empty, nobody has opted in yet who is not already in your affiliate list. That is normal for a new install.

Your marketplace listing

Recruit, then Marketplace listing. This puts your store in the Sprout marketplace directory, where affiliates browse brands and apply. It is a Growth plan feature, and the check runs when you save: on the Free plan, saving with "List this store on the Sprout marketplace" ticked is refused outright and nothing on the page is stored.

Untick it and the rest of the details save fine, so you can prepare the listing before you upgrade. Your plan is checked again for every listing each time the directory is built, so a store that drops back to Free stops appearing rather than staying listed.

The listing holds: the program applicants join, up to 3 brand categories, a description (up to 2000 characters), a line about who you are looking for, your payout period as a sentence affiliates read (writing it changes nothing about when payouts actually run), an optional video URL, and hashtags. Three more fields, the audience age range, gender, and up to 10 countries, are saved with the rest but are not shown to affiliates anywhere yet.

Your website comes from your store settings and cannot be edited here. The logo is the one you uploaded under Displays, then Registration, and the cover image comes from Settings, then Marketplace (without one, the card uses a grid of up to four of your most recently published active product photos). A live preview of the card sits at the bottom of the page. Your store only appears in the directory if it has at least one active program.

Affiliates cannot browse the directory anonymously. They need either a free marketplace account or an existing Sprout portal login, which means the people who apply have at least filled in a profile.

How applications reach you

Applications land in one of two places depending on where the person came from, and looking in the wrong one is the usual reason a merchant cannot find someone.

Where they came fromWhere you handle itWhat it is
Signup page, invite link, network inviteAffiliates page, "Pending applications"A real affiliate account waiting for approval
Marketplace listingMessages page, "Applications"A message, not an account

A marketplace application never joins anyone to a program. It is an introduction with their name, email, website, social handle, and message, plus a snapshot of their marketplace profile (the industries they cover, how they drive traffic, and the links they offer as proof of it, with monthly figures where they gave them) taken at the moment they applied, so what you read later is what you were told then. Sprout Affiliate emails you about it only if you have a notification email set under Settings and "Email me when a new affiliate applies" is on.

Marketplace applicants are capped at one open application per email per store (replying to it or closing it frees them to send another) and 100 applications per store per day. A website link that Google Safe Browsing flags as malicious is refused before the application is created.

Approving and declining

On the Affiliates page each pending application shows the person's name, email, payout method if they have set one, program and commission rate. You get Approve and Reject on each one, and Approve all when more than one is waiting.

Approving marks them active and emails them to say so. That email carries their discount code if one was created and a button into their portal, where their referral link lives. Whether a discount code is created depends on your plan. On Free and Growth none is created, so approval hands them a referral link and no code, and they set a code themselves in the portal or you assign one on their profile.

On Professional or higher they get the code they asked for, and if they never asked, one is built from their name whenever the program's customer discount is above 0%. A program with its Coupon codes switched off approves everyone with a link and no code on every plan.

The public signup form has no code field, so nobody who applied through it has asked for one. If a code cannot be created (usually because a discount with that code already exists in your store outside Sprout), that one approval fails with the reason and you can retry it on its own, while a bulk approve tells you how many did not go through.

Rejecting deletes the application and emails the applicant. There is no rejected list to look back at, and nothing stops them applying again.

If you would rather not review anyone, turn on "Auto-approve new affiliates" under Settings, in Affiliate approvals. Customer referral programs always approve instantly regardless of that setting, because asking a customer to wait for review defeats the point. Customer referral programs are themselves a Growth plan feature.

Two IP address rules under Settings > Fraud detection override both. If you set "Affiliate accounts allowed per IP address", an application that would go over that number for its address waits for you, with the reason written into your note on the affiliate. And an address on your "Blocked IP addresses" list cannot apply at all. See IP address rules for applications.

For marketplace applications on the Messages page you have three actions: Send reply (an email the applicant can reply straight back to), Send program invite (emails them a join link for the program you pick and still routes them through the normal signup and approval flow), or Close, which removes it from your list without telling them anything.

One limitation to plan around: the Messages page as a whole is a Growth feature, so marketplace applications cannot be read, replied to or closed on the Free plan. Since the marketplace listing itself needs Growth too, that gap only bites if you were listed and then downgraded.

Correcting an email or phone number

On an affiliate's page, Edit in the General information card opens the affiliate's email, phone number and, when your payout form asks for one, WhatsApp number, each number with a country picker beside it. Save changes only what you changed.

A corrected email changes at once for an affiliate who hasn't confirmed the account yet: an import, an invite, or an application with a typo in its address. An application still waiting on its email confirmation is sent a fresh one at the corrected address, and the page tells you whether it went. Once an affiliate has confirmed the account (opened an email link, confirmed a phone number with a code, or signed in), the email is what that affiliate signs in with, so the box is locked and only the affiliate can change it, in Profile. An address another affiliate in your store already uses is refused.

A phone number changes at once, along with a payout form answer holding the same number. A number an affiliate confirmed with a code is that affiliate's way to sign in, so it's locked the same way. The WhatsApp number is the affiliate's answer to your payout form, so correcting it here corrects the payout details too.

Deactivating or deleting an affiliate

Each affiliate on the Affiliates list has a switch, under Active status, and a Delete button at the end of the row, as each program does on the Programs list. The switch deactivates the affiliate. Deactivating does not delete data, but pauses the affiliate's commission, tracked clicks and coupon codes: their discount codes are paused in Shopify, and a deactivated affiliate can't sign in. Switching them back on turns it all back on, codes included, as long as the store and their program still give codes.

Delete asks first, because a deleted affiliate can't be recovered. Their login, links, referral history and messages go, their discount codes are deleted in Shopify, and the warning names their tax form and payout details when they have them. The warning offers Deactivate beside Delete. An affiliate who is still owed money can't be deleted until you pay it or reject those referrals: Delete says who is still owed money, in place of the warning. The same actions are on each affiliate's own page, and on several affiliates at once by selecting them on the list. Deleting several asks you to type the word delete first, and when anyone selected is still owed money, nobody is deleted.

Deactivating inactive affiliates automatically

Settings > General > Deactivate inactive affiliates deactivates affiliates who have gone without earning anything. It is off until you switch it on, and it is on the Growth plan and up.

  1. Switch it on and pick Deactivate affiliates who earn nothing in 90, 180, or 365 days.
  2. Leave Skip affiliates who are still owed money on to leave alone anyone with approved commission, commission waiting for your approval, or an unpaid bonus. Switched off, those affiliates are deactivated too, and what they are owed stays on record.

The days count from the later of the day the affiliate was approved (or switched back on) and the last day they earned something, so an affiliate approved last week is never deactivated for the time their application waited. Anything an affiliate earns counts: a referral sale (an order through their link or code, paid or not yet paid), a share of another affiliate's commission, a royalty, a custom event, paid visits, a lead, or recruiting commission. Bonuses and deductions do not count, and nor does anything you rejected.

Sprout Affiliate checks once an hour, after any payout due that hour has run. Deactivating is the same as pressing Deactivate yourself: their discount codes are paused in Shopify, nothing is deleted, and the affiliate gets no email. The Affiliates list and the affiliate's page say "Deactivated automatically after 90 days without earning" (with your number of days). Switching an affiliate back on starts their count again from that day. If Shopify's orders or your plan cannot be read, nobody is deactivated that hour. Up to 50 affiliates are deactivated per store each hour, longest without earning first. The setting is in the Sprout Affiliate apps for iPhone and Android too.