Rewards & redemption

Build the catalog of rewards customers can unlock with their points. Each reward becomes a real Shopify discount code, generated only at the moment of redemption.

Reward types

TypeBecomesExample
FixedFixed-amount discount code$5 off · 500 pts
PercentagePercentage discount code10% off · 800 pts
Free shippingFree-shipping discount codeFree shipping · 300 pts

Reward fields

FieldRangeWhat it does
NamerequiredThe reward's display name in storefront blocks.
TypeFixed · Percentage · Free shippingThe kind of discount created.
Discount value> 0 (≤ 100 for %)Dollar amount or percent. Hidden for free shipping.
Points costinteger > 0Points the customer spends to redeem.
Minimum order≥ 0, optionalMinimum order subtotal required to use the reward.
Activeon / offWhether the reward is currently redeemable.

How redemption works

  1. Customer selects a reward

    From the cart widget, checkout extension or account page.

  2. The balance is checked

    If the customer has enough points, that amount is deducted and the rest is held safely — they can't accidentally spend more than they have, even with multiple devices open.

  3. A unique code is created

    A single-use discount code just for that customer, using your program prefix — for example LOYALTY-10OFF-AB3X.

  4. It's applied instantly

    In checkout the code is applied to the order automatically; elsewhere it's saved to the customer's active codes with an Apply button.

🛡️

If the discount can't be created for any reason, the spent points are returned automatically — customers never lose points to a failed redemption. Redemption codes are valid for 12 months.

Managing the catalog

Rewards are listed by point cost. Use the row menu to edit, activate / deactivate, or delete a reward. Deactivating hides a reward from customers without affecting codes already redeemed.

ℹ️

On the checkout extension and in storefront blocks, percentage rewards that wouldn't beat the customer's current tier discount are hidden automatically — the best deal always wins.