← All docs

Messages and emails

Sprout Affiliate talks to your affiliates in three ways: a live chat inside the app, one-off emails you write and send to a group, and automated emails that go out on their own when something happens. Chat and bulk email sit under Messages, which has two tabs: Messages (chat) and Email (bulk send).

Chat with your affiliates

Chat is on the Growth plan and above. On the free plan the Messages tab shows "Chatting with your affiliates is on the Growth plan" with a link to the Plans page, and your affiliates see "Messaging isn't available for this store" in their portal. If Shopify's billing service is briefly unreachable, chat stays switched on rather than switching off, so a billing blip never locks you out of your own conversations.

The left column lists every conversation, newest activity first, followed by every active affiliate you have not messaged yet. You cannot start a chat with a pending applicant or a paused affiliate: they do not appear in that list. High priority threads float to the top, then unread ones.

Each thread shows an unread count for messages the affiliate sent that you have not opened, and opening a thread marks them read. A search box and two filters appear once the list has more than five entries: Status (All, Open, Closed) and Priority (Any, High priority, Unread).

You can mark a thread resolved (it shows as Closed and can be filtered out) or priority, and reopen or clear either at any time. Resolved and priority are your own labels; the affiliate never sees either one. Messages are cut to 2000 characters each, and a thread loads up to 500 messages.

Your affiliates reply from the Messages page in their portal, or from the affiliate iPhone app (included on every plan). An affiliate who works with several stores that use Sprout Affiliate picks which store's thread they are in from a drop-down at the top of their Messages page. You can also read and answer chat from the merchant iPhone app, which is itself a Growth feature.

When your affiliate gets an email about a chat message. The first message you send in a conversation triggers an email telling them to open their portal. After that, the app stays quiet unless more than an hour has passed since your last message, so a burst of five short lines is one email, not five. Affiliates control this with the Messages toggle under Notifications in their portal settings.

A real limitation: when an affiliate replies to you, the app does not email you and does not send a phone notification. The only signal is the unread badge, which you see only once you open the Messages page (or the Messages screen in the merchant iPhone app). If you rely on chat for support, check the page rather than waiting to be told.

A second one: the conversation list is built from your 1000 most recent messages across all threads. On a very busy program, an old and quiet thread can drop off that list. The affiliate is still there in the list of people you can message, and opening them shows the conversation intact.

Applications waiting for a reply

If your program is listed in the Sprout marketplace, applications appear in a card at the top of the Messages page with the applicant's profile: the industries they cover, how they drive traffic, and the links they gave as proof. For each one you can write a reply (it goes out in your store's own colours and logo, under your store's name once you white-label or verify a sending domain, and when the applicant hits reply it comes back to your support email, or to your notification email if you have not set a support email), send a program invite (a join link tied to that person, quoting the program's real commission: the percentage, or the flat amount per referred order), or close it. The card sits on the Messages page and needs the Growth plan, exactly as chat does.

Bulk email

The Email tab sends one message to a group. Pick the recipients on the left, write the subject and body on the right, and send from the button in the page header, which shows the recipient count. Every email opens with the affiliate's name, and a blank line starts a new paragraph.

The subject is capped at 150 characters, the body at 5000, and you can add one optional button with a label (40 characters) and a link. A live preview sits under the compose box and is always on.

Recipient groups are All active affiliates, Pending applicants (people who applied but are not approved yet), Programs, segments, and specific affiliates, where you search for people by name or email, any segment you have saved on its own, listed by name with a live count of who is in it, Imported affiliates (everyone you brought over from another app, which appears only once you have some), and A list you upload (CSV).

In the "Programs, segments, and specific affiliates" group, the send goes to everyone you picked by name plus every active affiliate on the programs and segments you picked. You can pick several segments at once, and mix them with programs and people. Anyone in more than one of those lists is counted and emailed once, so the number on the Send button matches what goes out.

Template branding. The first time you start an email, Sprout Affiliate asks you to set up your template branding, the way Shopify Email does: your logo (or your store name, shown in the header when there is no logo), a web-safe font, the colors of the text, background, buttons and the border around the email, and the footer. The footer lists your store's name, address, phone number and email; the eye beside each one shows or hides it. Under them is the line with the Unsubscribe link, and then the copyright. New emails start in this branding, and every email you send draws its header and footer from it, so a change reaches emails you have already written. Your automatic emails to affiliates (an approved application, a commission, a payout, a sign-in link) are drawn in the same branding whenever they go out under your store's name, with the footer's lines but no Unsubscribe link. The preview on the setup screen has two tabs, Campaign and Automation, to show both. Change it any time with Template branding on the new email page. The logo, font and colors are on the Growth plan; the store name and the footer's lines are on every plan.

Editing an email. With nothing selected, the panel on the left shows the email's colors: the content background and the border around it. Click a section to edit it. It is outlined in blue with its name on a tab, with a handle on its left to drag it somewhere else and buttons on its right to duplicate or remove it. Add section, at the bottom left, adds a section after the one selected, or at the end.

The Email tab is laid out like Shopify Messaging's own page. At the top are Automatic emails and Create email. Under them are the last 7 days' emails sent, bounced, and marked as spam, and how many of today's emails are left. Sprout Affiliate does not count opens, clicks, or sales from an email, so the page shows none. Two cards follow: one opens the automatic emails, the other your template branding. Last is every email in one list, with All, Drafts, and Sent tabs, a search, and a newest or oldest first switch. Click an email to open it. A draft's ··· menu also deletes it. Everything opens in a window over the whole admin, and everything that sends an email to people leads to this page.

Email reports

Every announcement records who opened it and who clicked a link in it, the way Shopify Messaging reports a message. The top of the Email tab shows four numbers for the dates you pick (today, yesterday, the last 7, 30, 90 or 365 days, or a range of your own), each with a line for each day and how it moved against the same number of days before:

The list of emails shows each sent email's open rate, click rate, conversion rate, and sales, the total of its orders. Click a sent email to open its report: emails delivered, opened, and clicked, its orders and sales, and how many times each link in it was clicked, beside the email itself.

An open is counted when the email's pictures load, so an affiliate whose mail app blocks pictures is counted only once they click a link. Link checkers that mail servers run on every incoming message are not counted as clicks. Emails sent before October 3, 2026 have no report. Opens and clicks are recorded for announcements only, never for the automatic emails below.

Automatic emails are the ones Sprout Affiliate sends for you when an affiliate signs up, is approved or declined, or earns a commission, and the others in the list below. They open in the same window, with Save, Discard, and Send test at the top.

The Automatic emails tab next to Email lists every automatic email, grouped by who receives it. Click one to see it as it sends and send yourself a test, or click Edit to open it in its editor. The ones you reword (Confirm your email, You're approved, Your application, You earned a commission, and the import's migration email) show your own wording, and you send their test from the editor.

Anyone who has turned your announcements off is removed before sending, and the count beside each group is already the number who will actually receive it. The toggle is labelled Announcements under Notifications in their portal, and it is the only one a broadcast reads. It is separate from the rest on purpose: switching announcements off still leaves them their commission notices, sign-in links and payout emails, and switching "New commission" off does not stop your announcements. The Unsubscribe link at the foot of a broadcast turns off that same one switch, at your store only.

Segments

A segment is a group of affiliates saved under a name, built on the Affiliates page and used here as a recipient group. "Instagram, no payout method" and "Earned over $500, quiet for 60 days" are segments. A segment stores the rule, not the people, so it means the same thing next month as it does today: whoever matches it then is who the email reaches.

Your saved segments are tabs across the top of the Affiliates list, with + to start another, and each tab's own menu renames, duplicates, or deletes it. Under the tabs is an editor, the same shape as Shopify's customer segment editor:

The segment editor on the Affiliates page
1 FROM affiliates
2 SHOW name, coupon_code, program, amount_pending
3 WHERE program = 'instagram' AND amount_pending > 012 of 40 affiliates
4 GROUP BY name, coupon_code, program, amount_pending
5 ORDER BY date_joined DESC

Line 3 is the one you write. The other lines follow the columns you are showing and the column you are sorting by, and the filters in the right hand rail write into line 3 as you use them.

Click line 3 and a list opens straight away, with every field you can filter on and what each one holds. Pick a field and the list offers its operators; pick an operator and it offers the values: your own affiliates' names, emails and discount codes, your programs, dates written out (today, -30d for 30 days ago), and the words a status or a payout method can be. Run shows the affiliates who match, the status line counts them, and an unfinished line says what is missing, for example "Line 3: Enter a complete expression".

= matches the whole value, so name = 'Ezra' is not the affiliate called Ezra Fitzgerald. Picking a name from the list writes it in full, and if a query finds nobody the status line says how many the same conditions would find with CONTAINS in place of =.

You can filter on a name, email, discount code, program, status, email subscription, payout method and destination, commission rate, the date they joined, what they are owed, what they have been paid, what they have earned in total, how many orders they have referred, the date of their most recent referred order, their tax form, their custom link, who invited them, where they promote, and your private note about them. Conditions join with AND, OR, NOT, and brackets.

One email can go to several segments at once: pick "Programs, segments, and specific affiliates" and choose them together, with programs and named people if you want. Everyone who matches any of them gets one copy. A segment the app cannot work out right now, because its query no longer parses or because it counts orders Shopify did not return, adds nobody to the send rather than everybody.

Save the query with Save as segment, and it becomes a tab and a recipient group here. Email this segment on the Affiliates page starts an email already addressed to it. A segment emails its active members; if the query names a status, that is honoured instead. One store can save 25 segments.

Segments are made and edited on the iPhone and Android apps too, with the same editor and the same suggestions.

Emailing a list you upload

Pick A list you upload (CSV) as the recipients and upload a file: one row per person, with a name and an email address, and an optional program column. It is the same file the Recruit page takes, so an export from the app you are leaving works without renaming headers. Up to 5,000 people, and up to 2 MB.

The people on your list are not all in the same position, so the email reaches them in two ways, and the page says which before you send:

Invites to people who are not affiliates yet follow the same rules as the Recruit page, because they go out the same way. Anyone who asked your store to stop emailing them is skipped, anyone you have already invited is skipped, and invites have their own daily allowance: none on the free plan, 50 a day on Growth, 200 on Professional, 500 on Enterprise. Whatever does not fit today goes out over the days after, in the email it was written in. The page counts all of this for you before the send: how many are on the list, how many are affiliates and how many of those have emails on, how many will be invited, and how many are skipped and why.

Everything is checked before the first message leaves, so an email refused for the people who are not affiliates yet has not already gone to the ones who are.

Daily email limits

Bulk email works on every plan, including free. What changes is how many affiliates you can email in a day. The limit protects the sending mailbox's reputation, which is what keeps your mail out of spam folders.

PlanEmails per day
Free50
Growth100
Professional300
Enterprise400

The counter is the number of people actually emailed today, read from the send log, and it resets at midnight on the server's clock, which may not line up with your store's timezone. Automated emails do not count against it. The limit applies to the send as a whole: if a group is larger than what you have left, nothing goes out and you are told how many you have left, rather than half the group receiving it.

There is one exception, and it is the one that matters after a move. If the group includes an affiliate you imported who has never had an announcement from you, the send is not refused: today's allowance goes now and the rest is queued to the days after, under the same daily limit. A line on the page counts what has gone and what is left, and a queued portion is re-checked each day against the limit, the opt-outs and the pause below before any of it leaves.

Sends go out in batches of ten, and the log records what really left, so a partial failure does not eat your allowance. Your last 20 sends show in a table at the bottom of the page with the date, subject, group, and recipient count.

The automatic pause. Two rates are measured per store over the last seven days, across your announcements and invites only. If at least 5 recipients mark that mail as spam and they are more than 0.1% of it, or at least 20 addresses hard bounce and they are more than 5% of it, your announcements and invites stop automatically and the Emails page says so, with the counts behind it ("Last 7 days: 320 sent, 2 bounced, 0 marked as spam"). Transactional email is never paused: sign-in links, commission notices and payout emails keep going, because somebody who is owed money still has to hear about it. Only Sprout Affiliate support lifts a pause. Separately from all of that, any address that hard bounces or reports an email as spam is never emailed again, by this store or any other.

Automated emails

These go out on their own. Where a toggle is named, it is in the app under Settings > Notifications for your emails, or in the affiliate's portal under Notifications for theirs.

EmailGoes toTrigger and controls
Confirm your emailApplicantSent when someone starts a signup. Link expires in 3 days. Always sent. The application does not reach your queue until they click it.
New affiliate applicationYouSomeone confirms their signup. Needs "Email me when a new affiliate applies" and a notification email. The same toggle also sends a phone notification to your paired iPhone, which arrives even with no notification email set.
New marketplace applicationYouSame toggle and same notification email. Carries the applicant's profile and traffic proof. No phone push on this one.
You're approvedAffiliateYou approve them. Always sent. Carries their discount code (if they have one) and a portal link.
Your applicationAffiliateYou decline them. Always sent, kept brief, no reason given.
You earned a commissionAffiliateA referred order lands. Their "New commission" toggle governs it; free (zero value) orders also need their "Free referrals" toggle. Also pushes to their phone under the same toggle. A paused affiliate is not told. On a program that splits commission by clicks, it waits until the split is locked onto the order (a minute or two after checkout, or about 15 minutes after it when the Web Pixel reports no clicks), then goes once to every affiliate in the split with their own part, saying it was shared with other affiliates who referred the order. It never names the others, and each affiliate's toggles still govern it.
You've been paidAffiliateA payout records them as paid, whether the money went by PayPal, as store credit, or by hand. Their "Commission paid" toggle governs it. It shows what reached them, with no fee and no gross, and a zero payout sends nothing.
Your commission rate went upAffiliateTheir orders take them onto a higher rung of their program's commission tiers. A program with no tiers never sends it, and it is sent once per step rather than once per order.
Custom link or discount code decidedAffiliateYou approve or decline a custom link or a discount code they asked for. Their "New commission" toggle governs it.
New referral orderYouNeeds "Email me when an affiliate makes a sale". Free orders also need "Include free orders". Also pushes to your paired iPhone.
Tax form submittedYouAn affiliate files a U.S. tax form (a W-9 if they are a U.S. taxpayer, a W-8BEN if they are not). Needs a notification email. No separate toggle.
Payout requestedYouAn affiliate asks to be paid from their portal. Goes to your notification email.
Weekly summaryYouOnce a week, in your store's own timezone, while the weekly summary is switched on under Tier rules. Goes to your notification email, and a quiet week still sends.
Scheduled payout failedYouAn automatic PayPal payout is refused. Goes to your notification email, or your support email if there is no notification email. One email per new problem, not per retry, so an outage that repeats hourly is one message. Also pushes to your phone.
Payout sentYouAn automatic payout run succeeds. Once per run, same addresses, and pushes to your phone unless you have turned that one push off.
Payout sent but not recordedYouPayPal took the money but the app could not write it down. Tells you the affiliates were paid, not to run the payout again, and that automatic payouts have been switched off. Same addresses, also pushes.
PayPal balance below the next payoutYouAbout a day before a scheduled PayPal run, when PayPal lets the app read your balance and it is under what the run will send. Once per run, same addresses, also pushes.
Password resetAffiliateThey ask for a new password, from the portal's sign-in page or from the affiliate app. The link expires in 15 minutes and lands on the page where the new password is set. Five requests per address in any 15 minutes, and nothing is sent, or said, if the address matches no active affiliate. One link, however many programs the affiliate is in: there is one password, and the one chosen there signs in to all of them. Written in your own sections, its button still opens the reset link.
Confirm your new emailAffiliateThey change their email in the portal or the phone app. Sent to the new address, expires in 1 hour, and works once: a newer change, or the email changing any other way, cancels it.
New messageAffiliateYou send a chat message and have not messaged them in the last hour. Their "Messages" toggle governs it.
Program inviteProspectYou invite someone from Recruit or from a marketplace application. Carries the real commission terms and a tracked join link. Recruit invites also carry a one-click unsubscribe.

No sign-in code is ever emailed. Affiliates sign in to the affiliate app with the email and password they set when they applied, and a forgotten password is reset by the link in the table above. You sign in to the merchant app by pairing it: Sprout Affiliate makes a pairing link inside your Shopify admin, tapping it hands the phone a secret that is good for one use and expires after five minutes, and nothing is typed or emailed. There is no emailed code and no password on that side at all, because your notification address is one you can edit, so anyone who could change it could have let themselves in as the owner.

Two separate systems can learn about the same referred sale: the order webhook (a message Shopify sends the app the moment an order is placed) and the storefront pixel (a small piece of the app's code that runs in the shopper's browser and reports the sale when checkout finishes). Whichever of the two learns about the sale first is the one that sends, so one sale produces exactly one email of each kind. If that send fails, the other one is free to deliver it instead. There is one gap worth knowing: if the pixel records a referral that the app cannot then verify against Shopify, the commission is still recorded and still paid, but nobody is emailed about it.

White-label email

White labelling means your affiliates' emails carry your store's name where they would otherwise carry Sprout Affiliate's. It is on the Growth plan. Turn it on under Settings > Notifications ("Send affiliate emails under your store's name"), with a live preview next to the switch. It changes the message itself: the header band carries your store's name and the email logo you uploaded instead of the Sprout Affiliate logo and wordmark, and the email takes the accent colour and button colours you set under Displays rather than Sprout green. The "Powered by Sprout Affiliate" line under the email is not part of it. That line has its own switch under Displays, the same one the signup page and the portal read, and hiding it is a Professional feature.

What white labelling does and does not cover, because this is where expectations break:

Sending from your own address

White labelling changes what the message looks like. This changes who it is from, and brings the look with it. On the Professional plan your affiliate emails can leave from an address at a domain you own, so the inbox shows Your Store <affiliates@yourstore.com> rather than Sprout Affiliate's address. Set it up under Settings > Sender address.

It matters most when you have moved from another affiliate app. The affiliates you imported have never heard of sproutaffiliate.com, so a message from it about a program they joined somewhere else reads as spam. A message from your own domain does not.

  1. Type the address into Send from and press Save. It has to be at a domain you control, because you are about to add DNS records to it: Gmail, Outlook, Yahoo, iCloud and the other free mailboxes are refused, and so is your .myshopify.com address.
  2. Two records appear, a TXT and a CNAME, each with its name and value ready to copy. Add them wherever your domain's DNS lives, which is your registrar unless you moved it somewhere else. They are what proves the mail is really yours, so inboxes accept it instead of filing it away.
  3. Press Check again. You do not have to stay on the page: Sprout Affiliate re-checks every hour on its own and switches the address on the moment it is ready. The badge by the heading reads Pending until then and Verified after.

What it does and does not cover:

Writing an email in your own HTML

On the Professional plan and above, an email can be written entirely in your own HTML instead of with sections. Switch on Use my own HTML instead above the email and type or paste your code into the box. The preview beside it shows the email as it will be sent.

These emails have it:

You can also use your own HTML for one part of an email and keep sections for the rest. In any email built from sections, open the Add menu and choose Custom HTML under Layout. It is a section like the others: click it, type or paste your code into the box on the left, and the email shows the result where the section sits. It follows the same rules as a whole email in HTML below, it is on the same plan, and the words such as {first_name} work inside it.

What your HTML can and cannot do:

Addresses to set first

Notification email is where your own alerts go. It is seeded from your Shopify store owner email. Clearing it is not a way to switch your alerts off: the app re-seeds it from your Shopify store owner email the next time you open the dashboard or the Payouts page, and that sync runs at most once every 5 minutes per store.

To stop the alerts, clear the two checkboxes under Settings > Notifications instead: "Email me when a new affiliate applies" and "Email me when an affiliate makes a sale".

Contact name is the name affiliates see on replies. Support email is what affiliates see and reply to, and it has its own card in Settings. Leave it blank to hide it from the portal, in which case replies fall back to your notification email.