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, and store credit.
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 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 opens whichever program you marked as the default, using the radio button in the Default column on the Programs page. With none marked, it opens your oldest program.
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, Which products earn commission, Storefront widgets, Customer discount and Payout methods offered. 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 > Payments (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.
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. Flat programs cannot use tiers or special product rates. 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.
- An affiliate's own rate beats the program rate, but not on a tiered program. There the tier rate wins.
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 only for percent commission. 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.
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.
Customer discount
You have three choices:
- No discount: leave "Offer a customer discount" unticked. 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 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. If you pick "Only selected products or collections" you must add at least one product or collection, or the save is refused. 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 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. A program's three product lists (the commission list, the special-rate list and the customer discount list) hold 100 products or collections each at most, whatever your plan.
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 & coupons ("Personal link ending, instead of a ?ref= link" 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.
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 a Growth feature. Only turning it on is gated, so if you downgrade you can still turn it off.
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 | Growth |
| Percent or flat commission | Free |
| Special product commission | Free (15 overrides on Free and Growth, 100 on Professional and 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 |
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.
- "Only selected products" chosen with nothing selected, for commission or for the discount.
- 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.
- 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.