Skip to main content

Loyalty & rewards

The building blocks

How to use it

Launch a rewards programme customers can see and spend — no code required:

  1. Set your earn rate & rewards. Points earned per $1, what points are worth, and your reward catalogue. (Loyalty → Setup)
  2. Choose tiers & perks. Rename tiers, set thresholds, pick perks like free shipping. (Loyalty → Tiers)
  3. Add the storefront widget. Drop the loyalty block into your theme so shoppers see their balance and rewards. (Theme editor → Add block)
  4. Switch on the extras you want. Referrals, daily check-in, birthday bonuses. (Loyalty → Settings)
  5. Announce it. Send a launch email or WhatsApp so customers start earning.

⏱ ~20 min to launch · 💳 Starter+ (check-in Pro+) · 🎯 First points earned same day

Why this matters for your business

Repeat customers are the cheapest revenue you have — no ad spend, higher AOV, better margins. But most loyalty apps are bolt-ons: points that don't connect to anything, a separate liability spreadsheet, discounts that blow your margin because there's no floor on redemption. This programme is built into the platform: it reads the same Customer 360 every other engine reads, its liability is a real accounting figure on your Revenue Hub, and every redemption is a native Shopify discount your checkout already understands.

How it works

Under the hood — the points ledger

The ledger is the source of truth. Every event — earn, redeem, expire, bonus, adjustment — is a row with a before/after balance, so a customer's balance is always reconstructable and auditable. Lifetime points (never decremented) drive the tier; the redeemable balance drives redemptions.

What earning looks like (defaults)

EventDefault reward
Every 1 unit of store currency spent10 points × your tier multiplier
Account sign-up200 points
Verified product review50 points
Birthday (annual)500 points
Friend's first order (referral)100 points to the referrer
Daily check-in5 points/day + streak bonuses (Pro+)

Every value above is a default — a store that hasn't touched the config behaves exactly like this, and each number is editable per store. Points are worth 1 unit of currency per 100 points when redeemed, and expire after 12 months by default (set to 0 for never).

The tier ladder (defaults)

TierLifetime pointsEarn multiplierPerks
Bronze01.0×
Silver5001.5×Early access to sales
Gold2,0002.0×Free shipping · early access
Platinum5,0003.0×Free shipping · early access · birthday gift · priority support

Tier is lifetime-based, so redeeming points never demotes a customer. When someone crosses a threshold, their tier is mirrored to the Shopify customer metafield loyalty.tier — a theme block or a Shopify Function reads that to grant free shipping or early access. See Tiers & VIP.

Guardrails that protect your margin

Two optional guardrails, off by default so nothing changes until you opt in:

  • Max redemption % — cap a fixed-amount redemption at a share of the order. A $6 code at 30% requires an order of at least $20, so the discount can never exceed 30% of the cart.
  • Minimum purchase — a floor subtotal required to use any loyalty code.

Both are enforced natively — they're stamped as a minimumRequirement on the minted Shopify code, so Shopify's checkout enforces them and they can't be bypassed client-side. Details in Rewards & redemption.

Programme status

A programme is active, paused, or draft:

StatusNew earningExisting balancesRedemption
Active
Paused / draft✗ (stops accruing)untouched✓ still allowed

Pausing never claws back points a customer already earned — it only stops new accrual. Customers can still redeem what they have.

Plan tiers

CapabilityFreeStarterProAgencyEnterprise
Points ledger + purchase earning
Tiers + Shopify metafield sync
Reward catalogue + redemption
Referrals (dual-sided)
Campaigns + milestones
Daily check-in / streaks
Paid membership club
Nudge holdout (causal lift)
Why this exists — the long version

Loyalty is the highest-ROI retention lever most stores never operate well, because the tooling is disconnected from everything else. A standalone loyalty app doesn't know a customer's predicted LTV, can't feed its tier into your ad audiences, and treats redemption liability as an off-platform spreadsheet. Worse, most of them mint discounts with no floor, so a "$10 reward" gets used on a $12 order and torches the margin on that sale.

This programme is built as a first-class engine on the same data spine as the rest of the platform. Points are a real ledger, tiers sync to Shopify so your storefront and Functions can act on them, redemptions are native discount codes with checkout-enforced guardrails, and the outstanding liability is a real number your finance view already tracks. The result is a loyalty programme you can actually reason about financially — not a black box that quietly erodes contribution margin.