Skip to content

Points & rewards

The points ledger

Every customer has a points balance backed by an append-only ledger. Earning, redemption, manual adjustments, refunds, and migration imports are all ledger entries — so balance is always sum(signed entries) and every change is auditable (who, what, when, why).

  • Earning is driven automatically by your earning rules — most commonly when an order is paid. The base earn rate reads as “N points per Y spent”, and Y doesn’t have to be 1: on the spending rule, set Points earned and For every amount spent (e.g. 1 point per 10 € spent). Any bonus tiers share the same denominator, and storefront surfaces spell out the full “points per amount spent” phrasing.
  • Redemption deducts points and mints a discount code, store credit, or free product.
  • Refunds / cancellations reverse the points awarded for the affected order.
  • Manual adjustments require a logged reason and appear in the customer’s history.

Point value (e.g. 1 point = $0.05) is a separate setting from earning rules, so you can re-price loyalty liability without rewriting earn history. Outstanding liability = outstanding points × point value.

Rewards

Charm ships six reward types:

TypeBehavior
Amount discountA fixed amount off, auto-generated and emailed at redemption
Percentage discountA percentage off (store-wide or scoped to a collection)
Store creditNative Shopify store credit, applied at checkout (and at POS)
Free shippingFree-shipping discount applied at checkout
Product discountA free or discounted product, granted via a Shopify Function discount
Collection discountA percentage off items from a specific collection

Rewards support stack/exclusive flags, minimum-order requirements, expiry windows, and per-customer redemption caps. Each reward also carries a channel — redeemable everywhere (default), online only, or at the register only — so you can run in-store-exclusive rewards without extra apps.

Layering on the other programs

Points are the base layer. On top of them you can layer VIP tiers (earned cohorts with multipliers and perks), referrals, and paid memberships. They all resolve through the same checkout discount Function, so a customer can be in a tier and a paying member and get both — compounded — with no conflicts.