Points activity
Earned vs redeemed per day — hover a day for figures
Redemption
Members who redeemed, of those who earned in the period
Revenue generated
Order subtotals after discounts and refunds
Points
Movements in the period
Codes & credit
What points turned into
Referrals
Share links in the period
Liability right now
What you owe members today
Tiers
Every member, by tier
| Tier | Members | Points held |
|---|
Rewards taken
In the period
| Reward | Taken | Used | Points |
|---|
Top customers
By lifetime points
| Customer | Lifetime | Balance | Tier |
|---|
Top referrers
Friends who ordered
| Customer | Code | Friends |
|---|
Latest activity
| When | Customer | What | Points |
|---|
Codes issued
| When | Customer | Reward | Code | Points | Status |
|---|
Revenue performance
Loyalty attributed revenue
Orders by members who had redeemed before (repeat purchases) plus orders that used a reward code — each order counted once
Loyalty attribution rate
Attributed revenue as a share of all revenue
Points position all time, as of now
Customers and points by tier
| Tier | Customers | Share | Points held | Share of points | Avg | Worth |
|---|
Balance bands
| Balance | Customers | Share | Points held | Share of points |
|---|
Biggest balances
| Customer | Tier | Points | Worth |
|---|
Points
Outstanding earnings balance
Points redemption rate
Points spent as a share of points earned in the period
Participation rate
Customers who earned or spent in the period, of all customers
Customers
Total customers
Members added
New rewards accounts in the period
Redeeming members added
Customers who redeemed for the first time
Programme
Rewards redeemed
Activities completed
Order analytics — redeeming members vs non-redeeming members vs non-members
Total revenue
By month, last 12 months
Average order value (trailing 12m)
Repeat purchase rate (trailing 12m)
Average purchase frequency (trailing 12m)
Discounts used by members
Discount value on members' orders in the period
Returning customer revenue
Revenue from customers who had bought before, by month
VIP tiers
Customers in tiers
| Tier | Customers | Share |
|---|
Tier entries
Customers moving into a tier in the period (new accounts count as entering their first tier)
Revenue by tier
By month, last 12 months
Order value, repeat rate & frequency by tier (trailing 12m)
| Tier | Customers | AOV | Repeat rate | Orders / customer | Revenue |
|---|
Reports
Customer lifetime value
Upcoming expirations
Points scheduled to expire, by month
Points earned by rule
All time
Customers
| Customer | Balance | Lifetime | 12-mo spend | Tier | Code |
|---|
Rewards catalogue — what points buy
Store credit is added to the customer's Shopify account and comes off at checkout by itself. Everything else becomes a single-use discount code locked to that customer. A free add-on is a "buy anything, get 1 of this free" code.
| Reward | Type | Value | Points | Active |
|---|
Earning
How customers collect pointz.
Basics
The programme's name, what a point is worth and when pointz run out.
How expiry works, and the expiry tools
Each earning: every earning has its own date, so pointz can go while somebody is still ordering. Suits weekly-purchase brands, not this one (McDonald's).
Social follows & shares
Paid once per customer when they tap through from the Rewards button, on their word (as Rivo did). An empty list turns it off.
Points for joining our texts
Paid once Klaviyo shows their number confirmed (they replied Y). Once per customer and per phone number.
How this works
Paid only once Klaviyo shows their SMS consent as subscribed: with double opt-in on in Klaviyo (Settings → SMS), that means they replied Y to the confirmation text, so the number is real and theirs. Once per customer and once per phone number across all accounts (the number is stored only as a one-way hash). Customers tap "I've replied Y: check now" in the Rewards button; a Klaviyo flow on Subscribed to SMS marketing with a Webhook action (POST …/hooks/klaviyo/sms, body {"email": "{{ person.email }}"}) pays them without the tap. The Klaviyo private key needs Profiles read access. Like social points, these never unlock a starter reward on their own.
Referrals
Their share link sends a friend to stimz.com with a discount already applied.
How this works
Each customer's share link is …/r/their-code. It sends the friend to stimz.com with their discount code already applied, and the order carries that code, which is how the referrer gets credited. The friend's code is created in Shopify the first time the link is used.
Tiers & bonuses
Tiers by pointz earned in a year, and bonus campaigns.
VIP tiers
0 in a column means "use the base number" from Earning.
Offers & bonus campaigns
Extra pointz on chosen products or collections, or when an order clears a threshold, between two UK times. The biggest multiplier wins.
How this works
Products or Collections: only the matching items in an order earn the multiplier; the rest of the basket earns the normal rate ("double pointz on Spikz this weekend"). Items in the order or £ spent: the whole order earns it once it clears the threshold ("2+ items = double pointz", "spend £30, earn 3×"), and the Rewardz panel shows a progress bar against the bag. Starts and ends are UK times (the clocks changing is handled); an offer runs from its start up to its end. Whatever applies to an item, the biggest multiplier wins: offers, the stamp card's double and the starter reward's double are never multiplied together. A collection's product list is read from Shopify when you save and every few hours while the offer is on, so a product added to a smart collection is picked up; "Refresh product lists" does it now. The multiplier is applied when the order is paid, and a refund takes back what that item earned.
Starter & stamps
Automatic early rewards for new members, and the stamp card.
Starter rewards
For members who join after it is switched on: pointz turn into money off by themselves.
Switch it on after the Rivo import and the 7-day order replay, so nobody who was already a customer counts as new.
How this works
For members who join after this is switched on; never imported Rivo members, Stimfluencers or the holdout group. When an order of at least the unlock amount takes them to the first number of points, those points come off by themselves and become a one-use code locked to them (it shows under Ready to use and fires Starter reward in Klaviyo with the code), and, if that was their first order, their next paid order earns the bonus points. The second works the same way, once, on the next 500 points they collect (their first 300 are already spent, so it takes about £100 of shopping, or £50 on a double-points order). Then it is the normal rewards. While they shop, the points bar works out what the bag would unlock and updates as they add things ("Add £12.50 more to unlock £5 off your next order + double pointz"); put <div data-stz-nudge></div> in the bag drawer or cart page for the same line with a progress bar. The unlock amount is what stops welcome, social and birthday points alone from unlocking one: at £20, the first order is £20 with all four socials and £35 without. Referral points unlock one straight away, because they come from a friend's real order. If the order that unlocked a code is refunded before the code is used, and they would no longer have reached it, the code is switched off in Shopify and the points go back.
Second-order boost
For customers who have ordered once, at least three months ago: a reason to come back.
Each one gets double pointz on their next order (the "Next order earns ×" above) and their first order counts as stamp 1, so their 3rd order earns the stamp card gift. Once per customer. Never the holdout group, Stimfluencers, excluded tags, members who joined since launch (starter rewards look after them), anyone whose one order is newer than the days above, or anyone who has ordered again since. If their one order is already a stamp, they keep that stamp and get no extra one. Each one fires Second order boost in Klaviyo, for email 26.
Do it after the Rivo import, with the stamp card and its gift switched on, and email 26's flow live in Klaviyo. Preview first: it only counts.
Stamp card
Every order over the minimum earns a stamp; a full card makes a voucher code.
How this works
Every paid order at or over the minimum adds a stamp. The order that fills the card makes a one-use code for the voucher value, locked to that customer: it shows under Ready to use in the widget and on the rewards page, and fires Stamp card voucher in Klaviyo (with the code) so a flow can email it. A new card starts straight away. A cancelled or refunded order loses its stamp; a voucher already made is never taken back. Only orders placed after it is first switched on count.
When a card reaches the gift stamp, the customer gets a one-use code, locked to them and with no end date, for one free unit of the gift product with any order. If the product is out of stock at that moment, the code is £ off instead, so nobody is sent a code that cannot be used. It shows under Ready to use and fires Stamp card gift in Klaviyo. One gift per card; a refund that takes the card back below the gift stamp does not take the gift back.
On the site
What customers see: the points bar, the Rewards button, the rewards page.
Points bar
A slim bar across the top of every page. Changes show on the site straight away.
Widget
The Rewards button and its panel. Also copy these into the theme snippet's STZ_REWARDS settings, so it can draw before it hears from us.
FAQs on the rewards page
An accordion at the bottom of the rewards page.
Placeholders
{program} {per_pound} {signup} {referral} {birthday} {wait} (birthday wait days) {expiry} (a sentence about expiry, written for you).
Calm settings
Quiet mode and the monthly spend reminder, both the customer's own choice.
How this works
Quiet mode always hides the points bar, review pop-ups, Clikz pop-ups and bag rescue, Klaviyo sign-up pop-ups and flyouts (except one the customer asked for), and the "add one of these" suggestions in the bag, and stops animation. It is saved on the device and, when signed in, on the account (stimz_quiet_mode in Klaviyo). The spend reminder fires Spend reminder reached in Klaviyo once per calendar month, on the order that takes a customer to or past the amount they chose.
Custom CSS
Added to the end of widget.js: it wins over the widget's own styles and needs no deploy. The widget's parts sit inside .stzr-panel, .stzr-launch and .stzr-bar.
Connections
Klaviyo, Shopify and Google.
Klaviyo
Metrics and profile properties
Every event also updates the profile:
stimz_points, stimz_points_value_gbp, stimz_lifetime_points, stimz_tier, stimz_spend_12m, stimz_referral_link, stimz_referral_code, stimz_referrals, stimz_birthday, stimz_double_points_next_order, stimz_starter_step — use them in segments and as {{ person|lookup:'stimz_points' }} in templates.Shopify
Google Customer Reviews
Seller ratings: Google's opt-in, linked from the order confirmation email.
The link for the order confirmation email
Shopify no longer lets non-Plus shops run Google's opt-in on the thank-you page, so the order confirmation email links to stimz.com/apps/rewards/gcr, which shows Google's opt-in for that order. Paste this into Settings → Notifications → Order confirmation, where you want the link:
<p><a href="https://stimz.com/apps/rewards/gcr?o={{ id }}&e={{ email | url_encode }}">Help other people find us: get Google's short survey about this order</a></p>Switch-over
Rivo balances turned into vouchers, and the 30 days to pick them.
Rivo cash-in
Each Rivo balance becomes vouchers the customer picks. Under £5 left over moves across as pointz at the new value.
How this works
At the Rivo import as much of every balance as makes whole £5s is cashed at Rivo's rate (500 = £5) into vouchers of the sizes above: 1,449 is £10 of vouchers, and the 449 left moves across as 225 pointz (half the number, an odd one rounded up: a pointz is now 2p, so the £ stays the same). Customers pick any mix in the Rewards button or on the rewards page: four £5s need four orders of £25, one £20 needs one order of £100. Every voucher is a one-use code locked to them, combining with product and shipping discounts but never another basket discount. Start the 30 days (after the import and the Points Logs file) sets everyone's pointz clock from their real last activity; anyone quiet for 6 months gets 30 days' notice ending on the deadline, and the "Points expiring soon" email (09) tells them, with their vouchers to pick. On the deadline, anyone who has not picked gets all £5s, unless their clock ended that day: then the vouchers go with their pointz. Picking counts as activity.
Testing
Measuring what the programme adds.
Holdout test
New customers split at random: one group sees no prompts. The only honest measure of what the programme adds.
How this works
Customers who are new after this is switched on are put in one of two groups at random. The holdout group sees no points bar, no Rewards button and no points on product cards, and their Klaviyo profile carries stimz_holdout = true: add "stimz_holdout is not true" to every programme flow's profile filter. They still earn and keep every point and can open the rewards page, but get no starter rewards.
Referrals
| When | Referrer | Friend | Order | Status |
|---|
Link clicks
| Code | Clicks |
|---|
Import points from Rivo
In Rivo: Customers → Export (CSV). Drop the file here, match the columns, check the preview, then import. Each customer gets one "carried over from Rivo" entry for their balance; their welcome bonus is skipped (they already had one). Running it twice skips customers already imported unless you tick Replace.