Referral conditions & limits
This article's section starts at 0:53 in the video.
Referral configs have four gates that decide whether a referee's checkout accepts the code and whether the referrer gets paid. This page walks each one with a failing case and a passing case, so you can predict exactly what a customer will see.
Prerequisites
A referral config saved and generated. See Set up your referral program.
The four gates
Minimum order value
Minimum Order Value (Referee Discount section)
Codes on carts below the threshold
New customers only
Allow discounts for new customers only (Usage Limits)
Existing customers using a referral code
Max uses
Maximum discount code uses per referee (Usage Limits)
A referred customer reusing the discount
Expiration
Expires after (Usage Limits)
The referrer's reward expiring after N days
Minimum order value
Say the config requires a $30 minimum.
Fails: the referee carts a $18 item and enters the code. Checkout rejects the discount because the order is under $30.
Passes: they add a second item, bringing the cart to $42, and the same code now applies.
The minimum is evaluated by Shopify at checkout against the order the code is applied to.
New customers only
With Allow discounts for new customers only on:
Fails: a customer who has ordered from you before enters a friend's code; the discount doesn't apply to their account.
Passes: a genuinely new customer (no prior orders on that account) uses the same code and gets the discount.
Turn this off if you want referrals to work as a general share-a-discount program where existing customers can also redeem a friend's code.
"New" is judged per customer account. A returning shopper checking out with a brand-new email counts as new, which is worth knowing when you're testing.
Maximum uses per referee
Maximum discount code uses per referee caps how many times one referred customer can use the discount.
Fails: with the limit at 1, the referee tries the code on a second order; it's rejected.
Passes: their first order with the code, or a higher limit (e.g. 3) that hasn't been reached yet.
This is a per-referee cap; it does not limit how many different friends can use one referrer's code.
Expiration
Expires after sets the number of days before the referrer's reward expires. It governs how long earned referral credit stays spendable, working like any other store-credit expiry.
Fails (expires): with a 30-day expiry, a referrer who leaves the credit untouched for 31 days loses it; the expiry shows in their balance history.
Passes: the same credit spent within the window works like any store credit at checkout.
Expiry reminders and the expiry email follow your credit-expiry setup. See Credit expiry & reminders.
Verify it works
Run the failing case for each gate on a test account before you launch: an under-minimum cart, an existing account, a second use beyond the limit. Each should be rejected at checkout; fixing the condition should make the same code pass. This is the fastest way to be sure the config does what you think it does.
Common issues
"The code doesn't work" reports β almost always one of the four gates; test in the order above. See A referral wasn't tracked.
Code applies but no reward is issued β conditions passed at checkout, but the reward was skipped in calculation (e.g. fully credit-paid order); see How referral rewards are calculated & tracked.
A VIP customer gets the wrong limits β they may be matching a different config; see Run multiple referral configs.
Related articles
Last updated