Points
Points that clear at the counter.
Earn on purchases, profiles, follows and referrals. One balance, one ledger, one call to move it.
Available onShopify
Issue points
One call, at the
moment of sale.
Send the transaction and the balance comes back with it. Money writes take an idempotency key, so a terminal that retries never credits the same sale twice.
awaitclient.transactions.recordPurchase({customerId:"7c9e6679-…",amountCents:3840,idempotencyKey:"ord_8812",});Ways to earn
Points for more
than spending.
Ten trigger types out of the box - purchases, profile completion, social follows, referrals and check-ins. Each one is a rule you switch on, not code you write.
Purchase
2 triggers
Every euro spent
The baseline rate for the programme, applied to the order total.
Per order
First purchase
Converts a sign-up into a customer. A lifetime cap makes it fire once.
One-time
The purchase rule also sets which sales channels earn, whether shipping and discounts count toward the total, and whether it fires when the order is placed or when it ships.
Profile
5 triggers
Create an account
Enrolment on the card they already pay with.
One-time
Complete the profile
Pick up to five fields - name, phone, birthday, city, address or marketing consent.
One-time
Add the wallet pass
Opens the push channel.
One-time
Birthday
Credited on the date they gave you, every year it comes round.
Every year
Sign-up anniversary
A year on the programme, marked without them having to do anything.
Every year
Advocacy
4 triggers
Refer a friend
Credited when the friend's first order clears, with fraud states of its own.
Per referral
Referred friend joins
The other side of the same rule.
One-time
Follow on Instagram or TikTok
Seven platforms, resolved to the handle you set.
One-time
Share to Facebook or X
A one-tap share intent, pointed at your store or a campaign page.
Per share
Referrals carry their own states and fraud reasons, so a self-referral is caught before it credits rather than after.
Behaviour
3 triggers
Check in at a location
Any of your locations, or a named few. Cap it per week to build the habit.
Per check-in
Subscribe to marketing
Verified against Shopify's own consent record, so it cannot be gamed.
One-time
Click a signed link
Your own URL, your own landing page - a review ask, a form, anything you already send.
Per link
Caps, approval holds and campaign windows are available on any rule. These are the ones that tend to need them.
Rules you control
Set the rules once.
Enforced on every surface.
Earn rates, expiry windows and caps live with the programme, not in the code that calls it - and every write that moves a balance is accountable after the fact.
Earn rules
Ten trigger types, each with its own value, its own cap and an optional campaign window.
Expiry windows
Rolling or fixed-date, counted from the activity you choose to treat as activity.
Caps and limits
Once per member for life, or a ceiling per day, week, month or year. Abuse stops at the ledger, not in review.
Approval
Credit immediately, hold for a returns window, or review by hand before anything posts.
Idempotent writes
Money writes require an idempotency key. A retry is free; a double credit is not possible.
Adjustments carry a reason
A manual correction is rejected without one, so the audit trail cannot be empty.
Observability
Every accrual, with
the reason it happened.
The ledger records the write, what it moved, and who was behind any correction. When a customer disputes a balance you read the answer rather than reconstruct it.
Activity
| TIME | EVENT | DELTA | BALANCE |
|---|---|---|---|
| 14:02 | purchase · order 8812 | +384 | 1,240 |
| 11:20 | redemption · one reward | -500 | 856 |
| 09:04 | purchase · order 8790 | +212 | 1,356 |
| 02 Jul | adjustment · goodwill | +100 | 1,144 |
| 28 Jun | signup · welcome | +50 | 1,044 |
Where it shows up
One balance, wherever
the customer is standing.
At the counter
Read off the card they are already paying with. Nothing to scan, nothing to install.
In the wallet
A pass that updates itself after every purchase, on the phone that is already out.
Into tiers
The same balance drives status, recalculated on the cycle you set.