Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 places

Ecommerce & retail

QR codes for loyalty programmes

The winning pattern is QR-to-wallet-pass: one scan enrols the customer and puts a barcode-bearing card in Apple or Google Wallet, no app install. An app you must remember to open loses to a card that surfaces in the wallet; QR codes remove the friction at both enrolment and the till.

View as MarkdownPaste this page into any AI assistant. It is plain, portable Markdown.

Enrolment is where loyalty schemes die

Every loyalty programme's economics depend on enrolment being nearly free for the customer, and most schemes fail this at the till: "download our app" is a 2–5 minute ask delivered to someone holding a coffee. The QR pattern that works compresses enrolment to under thirty seconds:

  1. A code at the counter or on the receipt opens a one-field form (email or phone).
  2. The confirmation page offers Add to Apple Wallet / Google Wallet.
  3. A pass (carrying the member's scannable code) lands in the wallet they already have.

No app, no password, no store-listing detour. The counter code is ordinary merchant-presented print: ≥ 2 × 2 cm at the till, labelled with the payoff ("Scan, every 10th coffee free"), following the usual print rules.

The behavioural honesty

Say the quiet part: a loyalty app you must remember to open loses to a card that is already in the wallet. Apps demand installation, an account, notification permission and (hardest of all) being remembered at the till. Wallet passes surface on the lock screen near the shop, update remotely (points balance, current offer) and cost the customer nothing to keep. Unless you are a chain whose app does real work (ordering, payment, personalised menus) the app is serving the marketing department, not the customer. A wallet pass plus a decent email is the honest mid-market answer.

Paper punch cards, for completeness, still work for a single-site café: zero tech, zero data, instantly understood. What they cannot do is stop casual fraud (self-stamping), survive being forgotten, or tell you anything. The digital pass fixes all three at the cost of an enrolment scan.

At the till: the member code

Redemption reverses the direction: the customer presents, the shop scans, the same consumer-presented pattern as payment and collection codes:

  • The pass carries a short opaque member token, rendered as QR (or as a 1D barcode where legacy POS scanners require it: check what your till hardware actually reads before choosing the symbology).
  • Short payload, fast lock: a member ID, not a data dump. Balances live server-side.
  • Screen-scanning failure modes apply (cracked screens, low brightness), so support a phone-number lookup as the fallback at the till.

Points, coupons and fraud

The moment loyalty codes carry value (a free item, a discount voucher) screenshot economics arrive: a static "member reward" code forwarded to a group chat redeems many times unless designed otherwise. Rewards should be single-use server-validated tokens, issued into the pass and burned on redemption. The full threat model and the fraud-versus-friction trade-offs live on preventing coupon QR fraud; the coupon generator covers the static end for low-stakes offers.

One more placement worth stealing: the enrolment code on the receipt rather than the counter catches the customer post-purchase with evidence of what they just spent, the same logic that makes receipts the best review-request placement.

FAQ

How does QR-based loyalty enrolment work?

A code at the till or on the receipt opens a one-field sign-up, and the confirmation offers a wallet pass carrying the member's scannable code. Enrolment takes under thirty seconds with no app install, which is why completion rates beat app-based schemes.

Is a loyalty app or a wallet pass better?

For most businesses, the wallet pass. Apps require installation and being remembered; passes sit in the wallet the customer already opens, surface near the shop and update remotely. Apps earn their place only when they do real work like ordering or payment.

What does the member's QR code contain?

A short opaque member identifier, nothing more. Points balances and entitlements live server-side, so the code stays low-density, scans quickly from a screen, and reveals nothing if screenshotted.

How do you stop loyalty rewards being shared as screenshots?

Issue rewards as single-use tokens validated and burned at redemption, rather than static codes. A static discount code will circulate; server-validated tokens make a forwarded screenshot worthless after first use.

Try it: free, no signup