Rewards & redemption
Building the rewards catalogue, and what happens between "redeem" and the customer actually saving money.
5 min read
On this page
Rewards → Rewards Catalog. A reward is a points price and a thing the customer gets.
Reward types
| Type | Notes |
|---|---|
FIXED_DISCOUNT | A cash amount off. Redeems as store credit where possible, which is the smoothest experience. |
PERCENTAGE_DISCOUNT | A percentage off. Cannot be store credit — always issues a coupon. |
FREE_SHIPPING | Always a coupon. |
FREE_PRODUCT | Always a coupon, scoped to the product. |
How a redemption is delivered
Your store’s redemption method (under loyalty settings) decides the default:
- Store credit — the default, and the best experience. Credit is applied to the customer’s account and comes off automatically at checkout. Nothing to copy, nothing to paste, nothing to forget.
- Coupon — a generated discount code in your platform, emailed to the customer.
- Webhook — a signed POST to an endpoint you control, so you can fulfil in your own systems.
Store credit falls back to a coupon automatically when it cannot apply: a percentage discount, free shipping, or a guest with no customer account. You do not have to handle this; it is decided per redemption.
Requirements on the platform connection
Issuing a redemption writes to your store, so the connection needs the scope:
- BigCommerce —
store_v2_marketingfor coupons. - Shopify —
write_discountsfor coupons,write_store_credit_account_transactionsfor store credit.
If your connection was made before you turned loyalty on, it very likely lacks these. Everything will look configured and redemption will fail at the last step. Reconnecting is the fix — and on a BigCommerce manual API account, remember that scopes are immutable, so this means a new API account and a duplicate store row to clean up. See Connecting your store.
Currency
Store credit on Shopify is currently issued in USD regardless of the store’s currency. If you sell in another currency, use coupons rather than store credit until this is fixed.
Expiry
Redemptions can carry an expiry, after which an unused coupon is no longer valid. A nightly job handles expiring them.
Note that the coupon is not revoked at your platform when a redemption expires in Evident — the expiry date on the coupon itself is what stops it being used. Set one.
What the customer sees
The loyalty widget shows the balance, the tier, the ways to earn and the rewards available, and lets the customer redeem. Add it to an account page:
<div data-evident-widget="loyalty" data-email="CUSTOMER_EMAIL"></div>
You supply the email — the widget does not authenticate anyone. Render it only on a page your storefront has already gated behind a customer login, or you will be showing one customer’s balance to whoever asks for it.
Adjusting a balance by hand
Rewards → Members lets you adjust a balance with a reason, which is recorded as an ADJUSTED transaction. Use it for goodwill, for correcting an import, or for honouring something that happened outside the system.
Adjustments are visible in the customer’s history and in the activity log. They also count as activity for the purposes of points expiry.
What is not there yet
Worth knowing before you promise it to anyone:
- There is no merchant view of individual redemptions beyond the transaction list — no “who redeemed what this month” report.
- Coupons are never revoked by Evident once issued, including when a redemption is reversed.
- A redemption cooldown knob exists but ships unset, so there is no rate limit on redeeming by default.
Something missing or out of date? Email [email protected] — docs corrections go straight to the team that builds the feature.