Loyalty & Rewards is a points program built into your store. Customers earn points when they shop and do things you value, then spend them on money off. Your best customers move up VIP tiers and earn faster. Friends they refer get a welcome discount, and the customer who referred them earns points when the friend’s first order is paid. It is off until you turn it on. Everything lives under Customers → Loyalty:

Turn it on

  1. Open Loyalty → Settings.
  2. Set how customers earn and spend (below), then switch Program on and Save.
Points start from the moment you switch the program on. Orders placed before that don’t earn.

Ways to earn

Set any of them to 0 to turn that way of earning off. Refunds and cancellations. Points follow the order. Refund 30% of an order and 30% of its points come back off the balance. Refund it in full or cancel it and all of its points come off. This can take the balance below zero, as it does in Smile.io. Points from Subscription Journeys rewards (“grant loyalty points”) go into the same balance.

Ways to spend

A reward is N points = X off, for example 100 points = 1.00 off.
  • Minimum points — the fewest points a customer can spend at once.
  • Max share of an order — a reward never covers more than this percentage of an order. For example, at 50% a customer can’t use more than 20.00 of points on a 40.00 order.
Customers spend points three ways:
  • At checkout. A signed-in customer sees Use 1,000 points for 10.00 off. One tap adds the reward as a discount code on the order. If they remove it, the points go straight back.
  • On their Rewards page. They choose how many points to spend and get a one-use code they can use within 90 days. An unused code expires after 90 days and its points go back. They can also cancel an unused code to get the points back.
  • On their next subscription renewal. They set points aside for a subscription, and the renewal charge is lowered by them. If you cap how much a renewal price can rise, points come off after the cap. If a renewal payment fails, the points wait for the retry. If the subscription ends first, the points go back.
A reward is an ordinary discount code on the order, so tax, refunds and your discount reports work the same as for any other code. It can’t be combined with another discount code on the same order. Reward codes don’t appear in your own list of discounts. You can see them under Discounts → Automated, or on the member in Loyalty → Members. If an order paid with a points reward is refunded in full or cancelled, the points spent on it go back to the customer.

Points expiry

Off by default. Turn on Points expire and choose a number of days (30 to 3,650). A customer’s whole balance expires after that many days with no activity. Earning, spending or an adjustment all count as activity. Customers get an email 30 days before their points expire.

VIP tiers

Tiers reward your best customers. Choose how customers qualify:
  • Basis — Points earned or Money spent.
  • Period — Lifetime, or Calendar year (progress starts again every 1 January).
Each tier has:
  • Threshold — the points or amount spent to reach it.
  • Points multiplier — for example 1.5x: members of the tier earn 1.5 times the points on every order.
  • Welcome reward — optional: a one-use code for an amount off, or free shipping, sent once when a member first reaches the tier.
Members move up as soon as they qualify and are emailed. If a refund or the new year moves a member down, nothing they already received is taken back.

Referrals

Turn on Referrals and set:
  • Friend’s discount — an amount or a percentage off the friend’s first order, with an optional minimum order.
  • Points for the member — what the customer who referred them earns.
Every member gets a referral link on their Rewards page. A friend who opens it enters their email and gets a one-use code, on screen and by email. When the friend’s first order is paid, the member earns their points and gets an email. The member doesn’t earn the points when:
  • the friend uses the member’s own email, or already had an order at your store;
  • the order is placed with a different email than the one that claimed the code;
  • the order is paid with a card the member has used at your store, or shipped to an address the member has used.
These referrals show as Not rewarded with the reason. A friend can be referred to your store once. If the friend’s order is refunded in full, the member’s referral points come off again.

Members and adjustments

Loyalty → Members lists everyone with a balance, their tier and last activity. Search by name, email or referral code, or filter by tier. Open a member to see their full points history: every order, refund, reward, adjustment and expiry, with the balance after each one. Use Adjust points to add or remove points with a reason. The member sees the reason in their history. You can’t remove more points than the member has. Adjustments count toward tiers. A customer’s page in Customers shows their balance and tier when they’re a member.

What customers see

  • Rewards page in their customer account: balance and what it’s worth, tier and progress to the next one, when their points expire, get a reward, their codes, points on a subscription, ways to earn, tiers, their referral link and referred friends, their birthday and their full history.
  • Checkout: the rewards line when they’re signed in. Signed-out customers are offered to sign in to use their points.
  • Emails (turn off with Customer emails): points earned, new tier (with the welcome reward), referral reward, points about to expire. The friend’s welcome code email is always sent, because the friend asked for it. Edit them in Settings → Notifications, under Accounts and outreach.

For developers and agents

The program, members and adjustments are available through the Agent Gateway and the MCP tools dtc_loyalty_get_program, dtc_loyalty_update_program, dtc_loyalty_program_stats, dtc_loyalty_list_members, dtc_loyalty_get_member and dtc_loyalty_adjust_points (scopes customers:read and customers:write). An agent adjustment worth more than 50.00 needs your confirmation first.