Programs and commission
A program is the deal you offer. It sets the commission, the customer discount, how long a click still counts, which products earn, and which payout methods affiliates can pick at signup: PayPal, Venmo, bank transfer, check, store credit, and gift card.
Every affiliate account belongs to exactly one program (the same person can join a second program, but that creates a second account). Each program has its own signup link, shown on the Programs page with a Copy button.
The Programs page lists each program with its commission, the payout methods it offers (the Payout methods offered column), how many affiliates are on it, and its referrals and sales. In the phone apps, the methods show under each program's name.
The link ends in ?campaign= plus the program's handle (its name in lowercase, with spaces and punctuation turned into hyphens, fixed when the program is created). A signup link with no ?campaign= on the end joins nobody to anything: it shows your store's 404 page, because a link that names no program should not be able to put someone in one. The radio button in the Default column on the Programs page still decides which program the sign-in page's signup link joins, and which program an imported affiliate lands in when their row names none.
You create and edit programs in Programs. The editor is one long form: name, status, cookie duration, and the approval settings at the top, then Commission (with Subscription renewals at its foot), Commission by customer, Coupon codes, Recruiting, Pay per click, Pay per lead, Custom events, Which products earn commission, Storefront widgets and Payout methods offered. With Store credit and another method ticked there, a Split payouts box appears: see Split payouts. Storefront widgets and Coupon codes each have an Enable switch at the right of their heading, and the section's settings show only while it is on. While any widget is on, the Storefront widgets section shows a preview of the bar, popup and pill as you type, drawn by the same script your store runs, over a plain stand-in page with your store's name. Preview on your store opens your storefront itself with them. The button at the bottom reads Add program on a new one and Save changes once the program exists. A first save keeps you on the page and switches into edit mode, so pressing the button again updates the program instead of creating a second one.
How many programs you can have
The free plan includes one program. Growth and above are unlimited. On the free plan the "Create new program" button shows a padlock and takes you to the Plans page instead of the editor.
The count includes paused programs. Pausing does not free the slot, so on the free plan you have to remove the old program to make a different one. Removing takes effect at once, but an undo bar appears for 10 seconds; press Undo on it (or Cmd/Ctrl+Z) and the program comes back with the same settings and the same signup link. Removing a program does not remove its affiliates: they stay on your list and keep earning at the rate stored on their own record.
If you downgrade to Free while several programs are active, the app keeps the oldest one active and pauses the rest, and tells you how many it paused. Paused programs keep their affiliates, links, and history.
Percent or flat commission
Flat swaps the rate for an amount per order. Decimals are allowed, and 0% is a valid rate.
Percent of sale pays a percentage from 0 to 100. The base is the order's discounted subtotal, adjusted by the three Commission calculation tick boxes in Settings > General (Discounts, Shipping, Tax). Out of the box that means commission is paid on the subtotal after discounts, with shipping and tax excluded. Refunded items shrink the amount the order is worth. That same card holds Pay commission on subscription renewals, which decides whether an affiliate keeps earning on the recurring charges of a subscription they referred. It is off unless you turn it on.
Flat amount per order pays a fixed sum for every attributed order (an order the app has credited to an affiliate, through their link or their discount code), whatever the order is worth. A fully refunded order pays nothing. It must be greater than 0 and no more than 100,000. A flat program can pay per item instead of per order, which multiplies the amount by the units in the order. Flat programs can also use tiers and special product rates: a rung may name a dollar amount rather than a percentage, and a per-product override applies whatever the program pays. If a flat program is limited to certain products, the full flat amount is paid when the order contains at least one qualifying product, and nothing when it does not.
The rate is locked to each order the first time the app sees it. Changing a program's rate later affects new orders only, which is why the editor shows a banner when you open an existing program: "Rate changes apply to new orders, orders already placed keep the rate they had when the sale was made." Flat programs lock their dollar amount the same way.
Two rules about rates catch people out:
- Saving a new program rate also moves every affiliate on this program who was still on the old program rate to the new one. Anyone you gave a custom rate keeps theirs. On an affiliate's page, their rate carries the line "This setting will override the program default" and a green Program default pill naming the program's rate, which opens the program at it.
- An affiliate's own rate beats the program rate, but not on a tiered program. There the tier rate wins. Two program rates sit above the ladder: the commission on orders that used a discount code, and the commission on each renewal of a referred subscription. A rate locked onto one affiliate beats all of them.
- In full, from the top: the rate already locked onto the order, then the discount code's rate (the code's own, then the program's rate for coupon orders), then the renewal rate, then the tier ladder, then the affiliate's own rate, then the first Commission by customer rule the order matches, and last the program's rate.
Tiered commission
| When they have sold | Rate from then on |
|---|---|
| 0 – 5 orders | 10% |
| 6 – 15 orders | 15% |
| 16 orders and up | 20% |
The first five sales earn 10%, the next ten earn 15%, everything after that earns 20%. Tiers reset weekly, monthly, quarterly, yearly or never.
Tiers are on the Growth plan and above, and they work on flat programs too, since a rung may name a dollar amount. Tiers are based on picks what the ladder reads. Order count is a rung per sale: orders 1 through 10 earn 10%, then the next rung starts at 11, and the reset choices below apply. Order value is a band per order: each order's own value picks its rate, so a large first order earns the top rate straight away. Nothing accumulates on the value basis, so there is nothing to reset and no reset control is shown. You can add a final open-ended rate for everything after the last rung.
The threshold counts that affiliate's attributed orders in date order. It is per affiliate, not a total across the program. Bonuses, refund adjustments, and any past earnings you imported from a previous app are deliberately left out of the count, because an import is a record of history, not a decision to promote someone up a rung.
The reset choice decides which orders count toward the ladder:
- Never: the count is lifetime.
- Weekly, monthly, quarterly, yearly: the count restarts at each boundary. You pick the weekday, the day of month, or the month and day, plus the time of day. Boundaries use your store's timezone. A monthly reset day past the end of a short month means the last day of that month.
- After order number: the count restarts once the affiliate passes that order number, so the ladder repeats. Set it to exactly the last rung and there is no open-ended rate at all.
How many rungs you get depends on the plan: Growth allows 3, Professional and Enterprise are unlimited. The open-ended "after that" rate counts as one of them, so Growth means two numbered rungs plus the final rate. The + Add tier button stops once the rows plus that final rate reach your allowance, and a save that goes over anyway is refused with a message naming both numbers, like "Your plan allows 3 commission tiers; this program has 4."
Cookie duration
Cookie duration is how long after a click a purchase still pays the affiliate. The field starts at 30 days, and whatever you save becomes this program's own window. You can enter up to 365 days, or tick Infinite cookie duration, which stores 0. Zero means no expiry is enforced and no window is shown on the signup page. Choose Hours beside the field for a window shorter than a day: up to 8,760 hours, and the signup page then says it in hours ("12 hours").
Stop tracking after a purchase sits under it, off unless you turn it on. With it on, a click credits one order, and the customer's next order earns commission only after a new click on the affiliate's link. A discount code still pays its affiliate, and an order paid through the affiliate's own code uses up their click as well. Lifetime commission is not affected. See Stop tracking after a purchase.
Two things record a click, and the window is checked on both: Shopify's Web Pixel (a small script Shopify runs on your storefront that reports the click to the app), and the Sprout Ref cart attribute (a hidden note the app's storefront script writes on the shopper's cart, holding the affiliate's reference and the moment they clicked). A click older than the window does not pay, even if the cart still carries that note. A sale made with an affiliate's discount code carries no click, so no window applies to it: the code pays them however long ago you handed it out.
First orders and renewals
A monthly subscription limited to 12 months pays on its first order and the next 11 renewals.
Pay commission on a customer's first order only is a switch beside Lifetime commission, off unless you turn it on. With it on, an order earns commission only when it is the customer's first order with your store. A returning customer's order earns the affiliate nothing: it does not appear in your payout lists, it is not paid, it is not counted toward tiers, and it carries no fee. The app decides this when the order arrives, before any email goes out, so the order is not tagged as a referral in Shopify and nobody is told it earned anything.
- How a returning customer is told apart. Shopify counts a customer's orders as the count stands today, so a customer who has bought again since would make their first order look like a repeat. The app takes away the orders the customer placed after this one before it decides, so a first order stays a first order however late it is looked at.
- The answer is decided once. It is worked out the first time the app sees the order and kept with the order's rate. Turning the switch on affects only orders seen after that, and turning it off does not bring back orders it already decided.
- Orders with no customer. A guest checkout Shopify matched to nobody, or a sale with no customer attached, cannot be judged. It is held for your review with the reason "Could not tell whether this is the customer's first order", and your Approve pays it as normal. The same happens if Shopify cannot be reached, until it answers.
- Lifetime commission. A connected customer's later orders are repeat orders, so with both switches on they earn nothing, and the editor says so under the switch. A customer you connected to an affiliate by hand still earns the affiliate commission on their first order.
- Subscription renewals. A renewal belongs to the order that started the subscription. If that was the customer's first order, its renewals pay as your renewal settings say. If the customer had ordered before, its renewals earn nothing either.
Pay commission on renewals sits under Subscription renewals at the foot of the Commission section, beside the renewal rate, and works on flat programs too. For as long as the subscription renews is the default. For a set number of months pays renewals from 1 to 120 months, counted in your store's calendar from the day of the subscription's first referred order. A renewal charged on or after the anniversary day earns nothing, and lifetime commission does not pay it instead. Each renewal is checked when it is placed, so changing the limit later does not change renewals already credited. Renewals are paid only while Pay commission on subscription renewals is on in Settings > General.
Affiliates see both rules. The signup page lists "Orders that earn commission: Each customer's first order", and the affiliate's dashboard says that commission is paid only on each customer's first order and, when renewals are limited, for how long they earn.
Coupon codes
You have three choices:
- No discount: switch off Enable beside the Coupon codes heading. No discount code is created for affiliates on this program.
- Discount code: each affiliate gets a real Shopify discount code that customers type at checkout. The code is created in Shopify when you approve the affiliate.
- Auto-applied by the affiliate's link: the code still exists, but the affiliate's link routes through Shopify's
/discount/CODEroute and then on to your store, so the discount is applied on click and the referral is still tracked. The code shows in the link, so while Anti-leak discount protection is off, the section warns that a copied code still pays the affiliate.
While Settings > Coupons is off, the Coupon codes section warns you. That switch turns every affiliate code in your store off in Shopify, so a program you create or edit then reads "Coupons are turned off for your store in Settings, so this program's discount codes will not work at checkout.", with a link to the switch. The program's own settings still save and take effect once Coupons is back on.
Switching a program's coupon codes off turns its codes off in Shopify. If the program's affiliates have codes, the switch first asks "Turn off coupon codes?" and says how many. When you save, those codes are deactivated, so they stop working at checkout. Orders already placed with them stay credited. Switching the program back on reactivates the same codes. An affiliate whose coupons are their own (see Coupons for one affiliate) is left alone either way, and while Settings > Coupons is off, a program's codes stay off until the store's switch comes back on. The codes switch in the background after the save, so on a program with many affiliates they can take a minute to catch up.
The percentage must be between 1 and 100. You can also set a total use limit per code, restrict it to one use per customer, and (in code mode) require that an affiliate's chosen code is reviewed before it goes live. With review on, an affiliate changing their code files a request and their current code keeps working until you decide.
The percentage, the total use limit, the one-use-per-customer rule and the product list are stamped onto each Shopify discount when it is created. Shopify holds them on the discount itself, so editing the program later changes nothing about codes that already exist. Only codes created after the change get the new percentage, the new limits or the new product list. There is no bulk re-issue.
Which products earn commission
By default all products earn. Limiting commission to selected products or collections is a Professional feature. The scope has three settings: all products, only the products or collections you pick, or everything except those you pick. Picking one of the last two without adding a product or collection refuses the save. A collection counts every product in it.
An order with no qualifying products earns nothing, and (unless it is a $0 order) it does not appear in your referral list at all. Hiding a zero-earning order is intentional, but it does mean a product list you set too narrowly looks like tracking is broken.
Special product commission gives specific products or collections their own rate while everything else uses the program default. Every plan has it, but the number of overrides is capped: 15 on Free and Growth, 100 on Professional, and unlimited on Enterprise. A product-specific rate beats a collection rate, which beats the program or tier rate.
A rate outside 0 to 100 is dropped silently on save rather than refused, so check the row is still there afterwards. The commission list and the customer discount list hold 100 products or collections each at most, whatever your plan. The special-rate list is bounded by your plan's number of overrides instead, which is what makes Enterprise's unlimited one mean anything.
You can limit the customer discount to specific products separately from commission. Limiting the discount is a Professional feature too. A Shopify discount can target products or collections, not both, so the form refuses a mixed selection.
Approving this program's orders
Approve referral orders can be set per program or left as "Use store default". It decides whether this program's orders auto-approve for payout or always wait for your review. Precedence is the individual affiliate's setting first, then the program's, then the store default ("Auto-approve referral orders" in Settings > General).
The editor also shows two selects for custom links, meaning a personal link ending like /sarah instead of ?ref=sarah: Custom link requests and Approve custom links. Both save, and the program beats the store default: an affiliate's own setting is read first, then this program's, then the two store-wide boxes in Settings, Links ("Allow affiliates to create their own custom links" and "Approve custom links automatically"). Publishing custom links is a Professional feature in any case, so on a lower plan an affiliate who saves one has it filed as a request for you to approve by hand.
Active and paused
The Status toggle at the top of the editor sets a program active or paused, and paused programs show a "Paused" pill in the list. Paused closes that program's signup page to new affiliates. Existing affiliates, their links and their commission are unaffected: their referrals still attribute and still earn.
Start and end dates
Under the program's name, Start date and End date are optional, and either can be set alone. Both are days on your store's calendar, in the timezone set in Shopify: the program opens at midnight at the start of its start day and takes its last signup at 11:59 PM on its end day. Nothing has to be opened or saved for it to happen, and the Status toggle is left as you set it.
- Before the start date the signup page says the day applications open, such as "Applications open Oct 12", and takes no signups. The Programs list shows a "Starts Oct 12" pill.
- After the end date the program behaves exactly as a paused one: its signup page says applications are closed, and it is left out of the sign-in page's Create one link, invites, and your marketplace listing. The Programs list shows an "Ended Sep 30" pill.
- The program's affiliates keep their links, their coupon codes, and their commission after the end date, as they do on a paused program: orders they refer still earn.
An end date before the start date is refused. Moving either date, or clearing it, takes effect at once. The dates are on every plan, and the Sprout Affiliate apps for iPhone and Android edit them too.
Customer referral programs
Ticking Customer referral program turns the program into a refer-a-friend scheme. Anyone who signs up is approved instantly with no review, whether or not "Auto-approve new affiliates" is ticked in Settings > General. Use it when you want buyers referring buyers rather than partners you screen. Customer referral programs are free on every plan. The switch is labelled Instant approval in the editor.
Recruiting commission and levels
The program editor's Recruiting card decides what an affiliate earns for bringing in other affiliates. Affiliates can send invite links puts an invite link in each affiliate's portal, and anyone who joins through it is listed as that affiliate's recruit. Recruiter earns and Most the recruiter can earn per order pay the recruiter a percentage of the commission on each of the recruit's sales, held to that cap. Leave both blank and recruiting pays nothing.
Add a level pays further up the chain, with no limit on how many levels. Level 2 is whoever recruited the recruiter, level 3 is whoever recruited level 2, and so on. Each level has its own percentage and its own cap per order, and every level's percentage is taken from the seller's commission, not from the level below. With a 10% commission on a $1,000 sale, level 1 at 20% and level 2 at 10% pay $20 and $10, and the seller still earns the full $100.
- Each level is its own line in Payouts, named for the order and the level ("#1042 level 2 override (sarah)"), and is approved, held, or rejected on its own.
- The rates and the people at each level are fixed when the order is first seen. Changing the levels later prices new orders only, and moving a recruit to another recruiter does not move money already earned.
- A refund takes back the same share of every level that was paid. A recruiter who has been deactivated earns nothing, and the levels above them still earn theirs. Nobody is paid twice on one order, even if two affiliates recruited each other.
- The rates come from the program of the affiliate who made the sale.
- On the portal's Recruits page, each recruit's row includes what that recruit's own recruits earned the affiliate, and the page lists the share for each level when every program pays the same ones.
Recruiting commission and levels are on the Professional plan. Below it, no new order pays a recruiting share, and orders that already do keep paying. A program that already has them can still be saved, and its recruiting commission can be cleared but not changed. Invite links stay on every plan.
Pay per click and pay per lead
Two more ways for a program to pay, on top of its sale commission. Both are off until you switch them on in the program editor, and both are on the Growth plan.
Pay per click pays a flat Amount per visit for each visitor an affiliate sends, up to Most paid visits per affiliate per day. A visit counts once per visitor's IP address, per affiliate, per day in your store's time zone. These visits pay nothing:
- Visits from a bot, a crawler, or an automated browser.
- Visits from the address the affiliate signed up from.
- Visits from an address you blocked under Settings > Fraud protection.
- Visits with no address Sprout Affiliate can read.
- Visits while your online store is behind its password.
- Visits from an address that starts visits faster than a person can. These are not recorded at all.
A day's visits become one line in Payouts, "Paid visits", once that day is over. If Sprout Affiliate couldn't confirm your store was open to the public that day, the line waits for you to approve it.
Pay per lead pays a flat Amount per new customer account when a visitor who arrived through an affiliate's link creates a customer account in your store, inside the program's cookie duration. An account made before the visitor clicked does not count, and a customer counts once per affiliate, ever. A lead from the affiliate's own signup address, or from an address that already gave that affiliate a lead, waits for you to approve it. Each lead is its own "Lead" line in Payouts.
- Paid visits and leads are approved like orders: your Approve, Unapprove, and Reject come first, and automatic approval follows your store, program, and affiliate settings, after your approval wait.
- The amount and the daily limit are fixed when a day's first visit or a lead is recorded. Changing them later only affects visits and leads recorded afterward.
- They are paid with the affiliate's other commission and appear on statements. They count as compensation on Form 1099-NEC.
- They are not referral orders. They count toward no plan limit and no commission tier, and no maintenance fee is applied to them.
- Affiliates see both amounts on their dashboard, and each paid visit day and lead on their Commission page.
- Visits are recorded by the Sprout Affiliate tracking app embed, and leads are reported through your store's app proxy, so the app embed has to be on in your theme.
If your store drops below Growth, a program keeps its settings and can still be saved, but new visits and leads stop being recorded.
Commission by customer
An order that matches more than one rule pays the first rule's rate.
The Commission by customer section pays a different percentage on orders from particular customers. Switch on Enable beside its heading, then for each rule pick what it Applies when, list the tags or addresses separated by commas, and set its Commission %. Add a rule adds another:
- A customer tag. The rule matches when the customer has one of the Shopify customer tags you list, whatever its capitals. Tag customers in Shopify (Customers, then a customer's Tags box) or with any app that sets tags.
- A customer email. List whole addresses, or a domain written as
@example.com, which matches every address at that domain. The email is the one on the order.
Rules are read from the top, and the first one an order matches sets its rate, in place of the program's rate. They rank below everything else that sets a rate: an order that used a discount code with a rate, a renewal with a renewal rate, an order on a commission tier, and an affiliate you gave a rate of their own all keep those (see the full order under Percent or flat commission). Up to 10 rules, each with up to 50 tags or addresses.
- The rate is locked onto the order the first time the app sees it, like every other rate. Adding, changing or removing a rule prices new orders only.
- An order whose customer Shopify does not show the app (a guest checkout with no customer, for one) matches no tag rule and pays the program's rate.
- An order the app read without the customer's tags or email, so a rule cannot be decided, waits in Pending with the reason "Could not read the customer's tags or email for this program's commission rules". It is priced again on the next sweep that can read them, and nothing is locked until then. Approving or rejecting it yourself locks it at the rate it shows.
- Rules are percentages, so a flat-amount program does not have them.
- Commission by customer is on the Professional plan. Below it the section is locked, and a program that already has rules keeps them and can still be saved, but new orders are priced without them.
Split commission by clicks
When a customer clicked more than one affiliate's link before buying, a program can share the order's commission among all of them instead of paying one. In the program editor, set Who gets the sale when a customer clicks more than one affiliate's link to Split between every affiliate the customer clicked, then set the First click's share and the Last click's share. They start at 40% each. Whatever is left is shared evenly by the affiliates clicked in between, and the editor shows how much that is. Store default, which every program starts on, pays the order the way your store's own setting does (last click or first click).
With a 10% commission on a $1,000 sale, and a customer who clicked Ana's link, then Ben's, then Cai's: Ana is paid $40, Ben $20, and Cai $40. You pay the same $100 you would have paid one affiliate.
- Two affiliates: nobody was clicked in between, so the middle share goes half to each: 50% and 50% at the starting shares. One affiliate: that affiliate is paid all of it. An affiliate whose link was clicked first and last takes both shares, and anyone clicked only in between shares the middle.
- Who counts: each affiliate once, however many times their link was clicked, and only active affiliates on the same program as the affiliate the order counts for. A click counts when it was made before the order and inside the program's cookie duration at the order's time, in hours when the program sets hours. With Stop tracking after a purchase on, a click another order already used counts for nothing, and the order uses up every click it splits by.
- The order counts once, for the affiliate your store's setting credits (the last click unless you chose first click). That affiliate keeps their own part and the sale: their referral count, their commission tier, their sales figures, and your plan's monthly referral limit. Everyone else's part is a share of the order: it carries no sale and is not a referral of theirs.
- Each affiliate sees their own part, on their Commission page and their statements, as shared with other affiliates who referred the order, and never who the others were. In Payouts each part is its own line ("#1042 shared commission"), held, approved, or rejected with the order. The order's page lists who got what part, on the web and in the phone apps.
- Each affiliate is told their own part. The "You earned a commission" email (and the phone notification) waits until the split is locked onto the order, then goes once to every affiliate in it, with that affiliate's own amount and "Shared with other affiliates who referred this order". The others are never named. Each affiliate's "New commission" toggle governs theirs, and if you switched the email off in Messaging, none is emailed. In your own wording of the email, the affiliate's part and the shared line go right above its button. Your own HTML is sent as you wrote it.
- Discount codes: an order that used an affiliate's code with no link clicked before it pays that affiliate alone. An order that used a code after the customer clicked other affiliates' links is split: the code was the last thing the customer used, at checkout, so the code's affiliate takes the last click's share and the order counts for them.
- Recruiting commission is one, figured on the whole commission and paid to the recruiter of the affiliate the order counts for. The other affiliates' recruiters earn nothing on their parts, so the split never costs you more than one commission and one recruiting share.
- Self-referral is judged for each affiliate. When the buyer has the same name as one of them, or checked out from the address one of them signed up from, that affiliate's part waits for you, and the other parts go ahead.
- Where the clicks come from: the Web Pixel keeps the last 25 link clicks in the customer's browser and reports them at checkout. On a store whose theme app embed records clicks, a click that is not on the store's own click record is left out. An order on a splitting program waits up to 15 minutes, with the reason "Waiting for the links the customer clicked", for that report. With no report (the Thank you page did not load, or the browser blocked the pixel), the order is paid the way your store's setting credits it.
- The split is locked onto each order the first time the app sees it. Changing the shares, or switching the split off, prices new orders only. A refund takes back each part by its own share.
- Split commission by clicks is on the Professional plan. Below it, new orders are not split, and orders already split stay split.
Royalties
A Royalty, in the Commission structure card on an affiliate's own page, pays that affiliate on every sale of the products or collections you pick, whether or not anyone referred the order. Use it for a designer's own line or a collaborator's product. Use Add products or Add collections, then pick how the Royalty paid as: a Percentage of each sale of a matching product, or an Amount per item sold.
- It comes on top of the referral. When another affiliate referred the order, that affiliate earns their commission as usual, and the royalty is paid as well. When nobody referred it, the royalty is still paid.
- What a percentage is taken on. Each matching line's total after its discounts. An amount per item counts the items of matching products left on the order.
- Only orders placed after a product is added. Each product and collection keeps the day it was added, and an order placed before then pays nothing on it. A royalty never reaches back into orders already placed.
- Each royalty is its own line in Payouts ("#1042 royalty"). It is decided on its own, separately from any referral on the order: your Approve, Unapprove and Reject come first, a test, canceled or unpaid order waits for you, and so does an order whose buyer has the affiliate's name when that fraud check is on. Otherwise automatic approval follows the affiliate's, the program's and your store's settings. The affiliate sees the line on their Commission page and statements.
- Refunds take it down. A refund lowers what the royalty is worth, and one already paid is taken back from the affiliate's next payout.
- The maintenance fee. An order nobody referred is never charged, even when it pays a royalty. On a referred order the royalty comes off the fee's base, like the commission does (see Billing).
- A royalty is not a referral order. It counts toward no plan limit and no commission tier. It is compensation, so it is in the affiliate's 1099-NEC totals.
- The royalty is locked onto each order the first time the app sees it, with its rate or amount. Changing it later affects new orders only.
- A deactivated affiliate's royalty is still locked onto the orders that come in, and is paid on them once you switch the affiliate back on, as with a part of an order split by clicks.
- Royalties are on the Professional plan. Below it, no new order pays one, and orders that already do keep paying.
Custom events
A custom event pays a flat amount for an action Sprout Affiliate cannot see on its own: an app signup, a booked call, a form someone filled in, a trial start. Your own system reports each one through the API, and the affiliate earns the amount the program pays for it, on top of the sale commission. Custom events are on the Professional plan, as the API is. A program has none until you add one.
- In the program editor, find the Custom events card and click Add event.
- Enter a Name. The Key fills in from it, for example "Booked call" becomes
booked_call. Your system sends the key, so change it now if you want a different one: lowercase letters, numbers, and underscores, starting with a letter. - Enter the Amount per event, and optionally Most paid per affiliate per day. Blank is no limit.
- Save the program.
- Have your system send each event to
POST /api/v1/eventswith a write API key: the event's key astype, the affiliate's ref (or the visit's click number), and your own id for the event asexternalId. To connect it without code, use the Record Custom Event action in Zapier.
- Each
externalIdis paid once per store, ever. Reporting the same event again is refused, so a retry never pays twice. - An event over the daily limit is refused and pays nothing. The day is your store's day, by when the event happened. An event you rejected does not count toward the limit.
- The amount and the name are fixed when an event is recorded. Changing or removing the event type later only affects events reported afterward.
- Events are approved like orders: each is its own line in Payouts under the event's name, your Approve, Unapprove, and Reject come first, and automatic approval follows your store, program, and affiliate settings. Your approval wait counts from when the event was reported, so an event reported late still waits it out.
- They are paid with the affiliate's other commission and appear on statements under the event's name. They count as compensation on Form 1099-NEC.
- They are not referral orders. They count toward no plan limit and no commission tier, and no maintenance fee is applied to them.
- Affiliates see what each event pays on their dashboard, what their events have earned in an Events card, and each event on their Commission page.
- Each program has its own event types, so the same key can pay a different amount on another program. An event is priced by the program the affiliate is on.
If your store drops below Professional, a program keeps its event types and you can still edit or remove them, but no new event type can be added and new events are refused.
When money changes after the fact
A refund on an order that was already paid out creates a negative "refund" referral for that affiliate. It goes through the same approval and payout flow as any other referral and nets against their next payout. Approving one is a decision about that specific amount, so a second, deeper refund asks you again.
Plan gates at a glance
| Feature | Lowest plan |
|---|---|
| More than one program | Growth |
| Customer referral program | Free |
| Start and end dates | Free |
| Percent or flat commission | Free |
| Pay per click and pay per lead | Growth |
| Custom events | Professional |
| Special product commission | Free (15 overrides on Free and Growth, 100 on Professional, unlimited on Enterprise) |
| Tiered commission | Growth (3 rungs, unlimited on Professional and Enterprise) |
| Limit commission to selected products | Professional |
| Limit the customer discount to selected products | Professional |
| Commission by customer | Professional |
| Split commission by clicks | Professional |
| Royalties | Professional |
| Recruiting commission, any number of levels | Professional |
If a program already has a restricted commission product list or a restricted discount product list saved and you then downgrade, that program keeps it and stays editable. Without that rule you would be unable to save any change at all to that program.
Saves that get refused
- No program name, or a name with no letters or numbers in it. Names are cut to 60 characters.
- A name that makes the same handle as an existing program: "VIP Tier" and "VIP-Tier" both make
vip-tier. - Flat commission of 0 or less, or above 100,000.
- A percent or tier rate outside 0 to 100, or a customer discount outside 1 to 100.
- A recruiting level with only a percentage or only a cap, or levels added while level 1 is blank.
- Pay per click with only an amount per visit or only a daily limit, an amount per visit above $100, or a daily limit that is not a whole number from 1 to 10,000.
- An amount per new customer account above $10,000.
- A custom event with no name, a key that is not lowercase letters, numbers, and underscores starting with a letter, two events in one program with the same key, an amount of 0 or above $10,000, or a daily limit that is not a whole number from 1 to 10,000. A program can have up to 20 custom events.
- "Only selected products" chosen with nothing selected, for commission or for the discount.
- An end date before the start date.
- A discount product list mixing products and collections.
- Tier order counts that are not whole numbers of 1 or more, counts that do not increase, more than one open-ended rung, or an open-ended rung that is not the last row.
- A reset point lower than the last rung.
- Cookie duration outside 0 to 365 days, or outside 1 to 8,760 hours.
- A renewal limit that is not a whole number of months from 1 to 120.
- A Commission by customer rule with no tags or addresses, an email entry that is neither a whole address nor a domain like
@example.com, a rate outside 0 to 100, or more than 10 rules. - A split by clicks whose first or last click's share is outside 0% to 100%, or whose two shares add up to more than 100%.
- No payout method ticked. Every program must offer at least one.
Renaming a program never changes its signup link. The link is built from the handle made when the program was created, and that handle never changes.