Referrals
Referrals turn happy customers into a growth channel. A customer shares their referral link; when a referred friend places a qualifying first order, both sides can be rewarded.
The reward
Section titled “The reward”A referral rule has two payouts:
- The referrer’s reward — points, a single-use discount code, a free product, or a combination, awarded to the advocate who shared the link (points default 500). See referrer vs friend rewards.
- The referred friend’s reward — points and/or a discount after their first qualifying order (points default 200), optionally with a free product on top.
A referral counts as successful only when the friend completes a qualifying purchase — not on link clicks or sign-ups alone.
A product instead of points
Section titled “A product instead of points”Both sides can be paid in product. Pick the product in the referral settings and Charm issues a single-use code that covers it in full.
The friend’s gift has one extra choice — How the gift is delivered:
| Option | Behavior |
|---|---|
| Add it to the friend’s first order for free | The product drops into that order at 100% off |
| Single-use code for a later order | A code goes out instead |
Orders that can’t be edited fall back to a code automatically.
How a referral is attributed
Section titled “How a referral is attributed”Charm reads the referral from two independent places, so a friend doesn’t have to behave in any particular way for it to count:
- The referral discount code, when the friend uses it at checkout.
- The
?ref=link, which the storefront carries into the cart and Charm then reads off the order itself. This path needs no account and no sign-in, so it covers guest checkout.
Whichever arrives first wins; a friend can never be attributed twice, and a replayed order never double-counts.
Referrals are for new customers, so someone who has already ordered from your store never earns as a referred friend. A signed-in returning customer who opens another customer’s link isn’t recorded as a referral at all, so they don’t show up as a pending referral either.
Protecting the program
Section titled “Protecting the program”Referrals are the rule most exposed to abuse, so Charm builds in three guards:
- Cooldown — days to wait after the friend’s order before the referrer’s reward is released. This absorbs refunds and fraudulent orders before you pay out. It covers the whole reward: points, the discount code, and a product gift alike, so a refunded order can’t cost you a product. 30 days is recommended; set 0 to award instantly.
- Per-customer cap — optionally cap how many referral rewards a single advocate can earn.
- Minimum order value: no part of the referral (the referrer’s reward, the friend’s points, or a gift) is awarded until the friend’s first order reaches the subtotal you set. If the friend gets a discount code, the code carries the same minimum, so Shopify enforces it at checkout too. See what the subtotal measures and set the minimum.
- Milestone bonuses — award extra points when an advocate reaches a referral count (e.g. a bonus after 3 successful referrals), on top of the per-referral reward — great for powering your most active advocates.
See Eligibility, expiry & anti-fraud for how qualifying orders and cooldowns interact.
Where it shows up
Section titled “Where it shows up”The referral share link and progress surface in the storefront widget and the customer account hub, alongside the customer’s other ways to earn.
Each customer’s referral link, code, and active discount code are also written to their Shopify customer record as charm_loyalty metafields, so Shopify Flow, Klaviyo, and Ecomail can read them into automations and emails.