Referrals customers actually share.
Friend-of-friend referrals with anti-fraud cooldowns, milestone bonuses, and a full per-customer ledger. Both sides win — quietly, in a way that doesn't read as MLM.
What it is
A referral program rewards an existing customer (the referrer) for sending a new customer (the referee) to your store, conditional on the new customer making a purchase. It's the cheapest customer acquisition channel that exists, when the offer is calibrated honestly.
Charm's referral engine ships with anti-fraud controls built in. Cooldowns, per-customer caps, milestone bonuses, and a complete ledger that shows pending vs completed referrals at the customer level.
How it works
Four moving parts.
The configuration surface is small on purpose. Most stores set this up in one sitting.
- 1
Configure the friend-of-friend offer
Both sides get rewarded. The referee (new customer) typically gets a discount on their first order (10-15% off works best). The referrer (existing customer) earns points or store credit only after the referee's order ships and the return window closes.
Most stores set the referrer's reward at 1-1.5× their average gross margin on the referee's first order — making the program self-funding even before second-order revenue.
- 2
Lock in the anti-fraud controls
Cooldown period: a customer who just signed up can't earn the referrer reward for at least N days (default 7). This blocks the 'refer yourself' loophole.
Per-customer cap: limit how many referrals a single customer can convert in a month (default 10). Stops the long-tail of fake-account abusers.
Manual review queue: referrals above a configurable threshold pause for human review before the reward fires.
- 3
Add milestone bonuses
Stack additional bonuses on top of the per-referral reward: 250 pts at 5 successful referrals, 1000 pts at 10, free product at 25. Milestones turn casual referrers into engaged advocates.
Milestones are global per-customer (counted across their lifetime) not reset annually. The point is that hitting 25 referrals feels significant — making it expire defeats the purpose.
- 4
Track the ledger
Every referral has a clear state: pending (referee signed up, hasn't ordered) → converted (referee placed order) → eligible (return window cleared) → paid (referrer rewarded).
The customer's account hub shows their full referral history with statuses. The admin shows a referral leaderboard you can use to identify advocates worth reaching out to personally.
Examples
Three configurations to steal.
Ready-to-copy patterns we see in production. Tune the numbers to your margin and audience.
Pattern 1
Classic give-get
Friend gets 10% off first order. You earn 500 pts when their order ships (and return window closes).
Pattern 2
Premium beauty
Friend gets a free sample bundle. You earn $20 store credit. Cap: 5 referrals per month per customer.
Pattern 3
Subscription-first
Friend gets 25% off first subscription delivery. You earn 1,500 pts at delivery + 5,000 pts if they stay subscribed past 90 days.
Use cases
What it looks like in the wild.
DTC beauty: friend-gets-product
Friend gets a free travel-size with their first order (high perceived value, low CAC). You earn store credit. Typical conversion: 18% of referees become repeat customers.
Coffee subscription: subscription-conditional reward
Friend gets 50% off first month. You earn nothing until their second month renews. Filters tire-kickers, rewards genuine advocacy.
Apparel: milestone bonuses for advocates
Standard 10% off / 200 pts per referral. At 5 successful referrals: free embroidered product (high-margin, low-cost gesture). Creates word-of-mouth volume.
FAQ
Common questions.
How is fraud actually blocked?
Can referrers share their code on social media?
What happens if the referee returns the order?
Can I see who my best advocates are?
Does the referral discount stack with VIP tier perks?
Related
The rest of the platform.
Loyalty works best when the pillars work together.
When you're ready
Free up to 150 orders / mo.
Every feature on this page is included in Free. Upgrade only when your order volume crosses the threshold.