← All docs

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

Commission, on the program form
Commission basis
Percent of sale ▾
Rate
20 %
Cookie duration
30 days

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:

Tiered commission

Tiered commission: three levels on one program
When they have soldRate from then on
0 – 5 orders10%
6 – 15 orders15%
16 orders and up20%

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:

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 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

Which orders earn, on the program form
Pay commission on a customer's first order only
On
Pay commission on renewals
For a set number of months ▾
Months from the first order
12

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.

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:

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.

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.

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:

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.

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

Commission by customer, on the program form
Rule 1: The customer has a tag
vip, wholesale
Commission %
15
Rule 2: The customer's email is
@brightside.example
Commission %
5

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:

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.

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.

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.

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.

  1. In the program editor, find the Custom events card and click Add event.
  2. 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.
  3. Enter the Amount per event, and optionally Most paid per affiliate per day. Blank is no limit.
  4. Save the program.
  5. Have your system send each event to POST /api/v1/events with a write API key: the event's key as type, the affiliate's ref (or the visit's click number), and your own id for the event as externalId. To connect it without code, use the Record Custom Event action in Zapier.

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

FeatureLowest plan
More than one programGrowth
Customer referral programFree
Start and end datesFree
Percent or flat commissionFree
Pay per click and pay per leadGrowth
Custom eventsProfessional
Special product commissionFree (15 overrides on Free and Growth, 100 on Professional, unlimited on Enterprise)
Tiered commissionGrowth (3 rungs, unlimited on Professional and Enterprise)
Limit commission to selected productsProfessional
Limit the customer discount to selected productsProfessional
Commission by customerProfessional
Split commission by clicksProfessional
RoyaltiesProfessional
Recruiting commission, any number of levelsProfessional

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

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.