The iPhone app
There is one Sprout Affiliate app on the App Store, and one download. Its opening screen has two buttons, Affiliate login and Merchant login, and which one you tap decides which of the two apps you get.
Affiliate login is for your affiliates. They sign in with the email and password they set when they joined, the same ones the web portal uses. If they have forgotten the password, they can have a six-digit code emailed instead, which lasts 10 minutes. They get their link and coupon, what they have earned and been paid, and a way to message you. Free on every plan.
Merchant login is for you. You sign in by tapping a pairing link that Sprout Affiliate generates inside your Shopify admin, never by typing a password or a code, and can approve affiliates, watch referral orders, and run payouts. It needs the Growth plan.
The affiliate app
The affiliate side is free on every plan, including Free. There is no plan check in the affiliate sign-in path, so your affiliates can use it whatever you are paying.
They sign in with their email and password, the pair they chose when they applied. That is what the app tries first. If they have forgotten it, they can ask for a 6-digit code instead: it is emailed to the address on their affiliate record and expires after 10 minutes.
A password can be set or changed in the app under their profile, or in the web portal, and has to be at least 8 characters. Five rules that generate support questions:
- If the email does not match an active affiliate on any store, nothing is sent and no error is shown. That is deliberate, because otherwise a stranger could test addresses to find out who is an affiliate. It does mean "I never got the code" usually means the application is still pending, the email was never confirmed, the account was deactivated, or the address is spelled differently on their record. The match is exact, so a typo in their record is a silent failure.
- Five code requests per address in any rolling hour. Further requests are quietly ignored.
- Six wrong guesses and the outstanding codes for that address stop working. They can request a fresh one.
- Sixty days without opening the app signs that device out. Opening the app starts the sixty days again, so ordinary use never reaches it.
- If you deactivate an affiliate, their app session is deleted the next time the app makes a request.
What the affiliate app covers: a Dashboard (pending, approved, and paid commission over a date window, a trend chart, their share link, their discount code, and any program invitations waiting for them), Commission (every referred order with its status), Payouts (past batches, with an invoice the app draws itself), Messages (chat with you), and settings covering profile, password, payout details, tax form (W-9 or W-8BEN), three notification toggles (New commission, Free referrals, Messages), the Sprout network listing, the marketplace directory, their own coupon codes, and saved links.


An affiliate who works with several stores that use Sprout Affiliate can see Commission and Payouts merged across stores, and can switch which account the app is signed in as. Switching only works between active accounts that share the same email address and where both accounts have confirmed that address. Payout details and notification toggles are held per store, so changing them on one store does not change the others unless they tick "Use these details for all my stores" on payout details, or "Use these settings for all my stores" on notifications. The payout one skips any store whose program does not offer that payout method.


Chat, link click stats, the link features (link builder, custom link endings, and short links) and their own extra coupon codes follow your plan and your settings, not anything the affiliate can change:

- Chat needs Growth or higher. On Free, the Messages tab comes back empty and sending returns
Chat is on the Growth plan.The check reads the store the affiliate is signed in as, not the store they picked in a multi-store view, so an affiliate signed in on a Free store sees no chat at all. - Link click stats on their dashboard (clicks, conversion rate, average time on your store, last 30 days) need Growth or higher.
- The link builder, custom link endings and short links need Professional, plus their own switch under Settings, Links & coupons: "Link builder: link to any page, and tag where it was posted", "Personal link ending, instead of a ?ref= link", and "Short branded referral links".
- Their own extra coupon codes only appear if you ticked "Let this affiliate create their own coupons" on their profile. The "Coupon limit" box beside it sets how many they can have, and it starts at 1.
The merchant app
The merchant side needs Growth or higher. The plan is checked on every request, not only when you pair, so a downgrade closes it. Nothing stops a Free store from generating a pairing link and pairing successfully, but every screen after that is refused: each request re-checks the plan first and answers "plan required" instead of returning any data.
Pairing your phone
- On your iPhone, open your Shopify admin and open Sprout Affiliate.
- Go to Settings and scroll to the bottom of the General tab to "Sprout Affiliate on your phone". The card only appears on a phone or iPad, because the link it makes can only be opened by the app on the device that generated it.
- Tap Pair on this phone, then tap the link that appears. The app opens signed in as the store owner.
You are never issued a merchant password, and there is nothing to type. The pairing link is minted only after Shopify has authenticated you as an admin of that store, so being signed in to your Shopify admin is the entire credential. There used to be a short code to read off the screen and it was removed: a code short enough to read aloud is short enough to be read over your shoulder, and it proved nothing the Shopify sign-in had not already proved.
The link works once and expires in five minutes. Generating a new one cancels the previous unused link for that store, but it does not sign out a phone that is already paired. A pairing belongs to one store, and there is no store switcher on the merchant side.
What you can do from the merchant app
- Dashboard: what is pending, what you owe, total affiliate sales, active affiliate count, applications waiting, and a chart you can flip between Referred sales, Commission, and Referred orders.
- Affiliates: the full list, plus one affiliate's detail, chart, and orders. You can change their rate, make them active or inactive, edit your private note, change their order auto-approval, add or remove coupon codes, and add or remove bonuses. Bonuses need Professional. Rate, status, note, and auto-approval are refused while an affiliate is still pending or unverified, with "Approve their application first".
- Applications: approve or decline. Both send the affiliate the same email the web admin sends, and approving creates their discount code in Shopify exactly as the web does.
- Orders: approve or reject a pending order, or put an approved or rejected order back on hold (including a $0 one, which shows as Paid). A paid order can never be rejected, because the affiliate already has the money while the rejection would credit the fee back. Rejecting a pending order credits back the transaction fee Sprout Affiliate charged on that sale (2% on Growth, 1.5% on Professional, 1% on Enterprise), and if that credit does not go through, the app says so instead of reporting a clean success.
- Payouts: a preview that pays nobody and changes nothing, then a manual or PayPal run, for everyone or for one affiliate. A run claims the same per-store payout lock the web admin claims, and a second run is refused while the first holds it, so two devices cannot pay the same affiliate twice. A manual batch can be undone; a PayPal batch cannot, because that money has left.
- Analytics, Programs (including creating one), Messages, and the Settings for affiliate and order approval, tax forms, fraud, your marketplace listing, affiliate links, search visibility, notification emails, and the minimum payout.
What the merchant app will not do
Anything needing a product picker stays in the web admin: product-scoped commission, the discount's product scope, and program scopes. Commission tier ladders cannot be edited from the phone either. You cannot connect PayPal from the phone, because that needs a Client ID and Secret pasted in (two long strings you copy from the PayPal Developer Dashboard), which is a job for a keyboard and a password manager; the app shows the connection status only, and a PayPal run refuses until it is connected on the web.
The two fraud switches that would match a buyer's email address, or the IP address their internet connection is identified by, are shown but locked, and nothing can turn them on: matching on email needs Shopify's Protected Customer Data access, which this app does not request, and Shopify never gives apps the buyer's IP address at all.
Bulk email, CSV export, and imports are web only. A program created on the phone carries its name, the commission, the customer discount, and the payout methods, and starts with a 30-day cookie window (a click on the affiliate's link keeps crediting them for 30 days). Everything else, including that window, is set afterwards by editing the program.
If the live order read from Shopify fails, the app shows pending and approved figures as unknown rather than as zero, and refuses order decisions until it recovers. Paid history still shows, because it comes from Sprout Affiliate's own record of what has been paid.
Push notifications
| Goes to | Sent when | Turned off by |
|---|---|---|
| Affiliate | A referred order credits them a commission | Their own "New commission" toggle, per store |
| You | A new affiliate application arrives | "Email me when a new affiliate applies" in Settings |
| You | An affiliate brings in a referral order | "Email me when an affiliate makes a sale" in Settings, with "Include free orders" underneath it for orders that come to zero |
| You | A scheduled payout fails | Always sent |
| You | A scheduled payout goes out | Always sent |
The merchant pushes obey the same switches as the notification emails, but they are sent even when you have no notification email address on file, so a paired phone is a delivery route of its own. Each referral order produces one merchant notification in total, whichever of the two ways Sprout Affiliate hears about a sale gets there first: Shopify's new-order message to the app, or the Web Pixel, the small tracking script Shopify runs on your storefront.
Chat messages do not push. A message from you emails the affiliate (once per conversation per hour, not once per line) if their "Messages" notification toggle is on, and it raises the unread badge next time they open the app. A message from an affiliate raises your unread count but sends nothing. There is no push for chat in either direction.
When something goes wrong
A pairing is meant to last. It is not dropped by a temporary problem. If your store cannot be reached for a moment (for example while Shopify re-authorises the install), the phone is told the store is unavailable and retries; it is not told the pairing is dead. That distinction matters because the app deletes the sign-in token that keeps it paired the moment it is told a pairing is dead, and an earlier version unpaired healthy phones over a momentary gap.
If your plan drops below Growth, every merchant screen answers "plan required" instead of data, and the pairing stays intact, so upgrading brings it straight back with nothing to redo. If your billing plan cannot be read at all, the app stays open: an unreadable plan counts as a billing hiccup, not as a drop to Free.
Signing out deletes that device's session, which also removes its push token, so a signed-out phone gets nothing. Deleting the app clears the push token as well, because Apple reports it as dead on the next send, but the session itself stays until it is signed out or times out. Reinstalling and signing in registers a fresh token.