What to put next to the till: the counter QR code
The counter QR code is the whole acquisition funnel for a shop loyalty program. Most of them fail for reasons that take a minute to fix.

For a physical shop, the sign next to the till is the signup flow. There is no landing page, no ad, no funnel. There is a person holding a card machine and about four seconds of attention.
Most counter QR codes waste those four seconds.
That matters more than any other decision in the program, because enrollment is the gate. A program with 60 members cannot move a quiet Tuesday no matter how well the card is designed. A program with 600 can, even if the card is slightly too long and the reward slightly too small.
Key takeaways
- Enrollment gates every other number in a loyalty program. Card length and reward design matter far less than how many people are on the card.
- Put the code on the front of the counter at the till, at the height a phone is already being held. Not the door, not behind the staff.
- Lead with the reward, not the mechanism. “Your 10th coffee is free” reads as an offer; “Join our loyalty program” reads as admin.
- Every required field on the join form costs you completions. Name is usually enough to start, and a name-only member is still reachable.
- Staff saying one sentence, every time, out-performs any poster you can print. That one is our experience rather than a published finding.
- Scanning is not in decline. Bitly recorded QR scans growing faster than new codes across every region in 2025, including North America.
The three failures
It does not say what happens. “Scan me” is not an offer. The customer has no idea whether they are joining a mailing list, downloading an app, or getting something. Say the reward: “Nine coffees, tenth free. Scan to start.”
It is in the wrong place. Next to the card reader, at the height a phone is already being held. Not on the wall behind the barista, not on the door, not flat on a counter where it is under someone’s bag by ten past nine.
Nobody mentions it. In our experience a sign on its own converts a fraction of what a sign plus one sentence from staff converts, though we go into the evidence for that below. The sentence does not need to be a script: “want a stamp for that?” is enough, and it works because it is asked while the card is already out.
The rest of this post is those three in detail, plus the form behind the code, which is where a surprising number of scans quietly die.
Where the code goes
Walk into your own shop and stand where the queue stands. Look straight ahead. Whatever is there is the only surface that matters.
In practice that means:
- On the front of the counter, at the till. The moment of payment is when someone has their phone out and thirty spare seconds. This one placement does most of the work.
- On the table, for anywhere with table service. A small card or a sticker, reachable during the wait for the bill.
- On the bill presenter, same reason.
And where it does not work:
- The door. People are walking, carrying things, and have not decided whether they like you yet.
- Behind the counter, next to the staff. It reads as staff signage. Nobody scans a code that is on your side of the till.
- Laminated A4 on a cluttered board. It disappears into the noise of the allergen notices and the card-machine minimum.
Two or three placements is the ceiling. Past that it reads as pestering, and each one gets less attention than it would have alone.
What the sign says
The most common mistake is describing the mechanism instead of the reward.
Weak: Join our loyalty program. Scan to sign up. Download our card.
Strong: Your 10th coffee is free. Scan here. Every 6th cut on us. Free pastry after five visits. Scan to start.
The first set asks for a commitment and promises admin. The second states a benefit and makes the scan incidental. We have not found published data comparing the two, so treat this as a strong recommendation rather than a measured result, and it costs nothing to test both.
Three details worth getting right:
- Name the actual product. Coffee, cut, loaf. Not “reward”, not “item”.
- Say there is no app. “No app needed” removes the objection most people are actually having when they hesitate.
- Make the code big enough. A code the size of a stamp needs someone to lean in. A useful rule from QR vendors is 10:1, so a code meant to be scanned from a metre away wants to be around 10cm across. At counter distance, 4–5cm is comfortable.
Ask for less on the form
The code leads to a join page, and that page is where a surprising share of people leave.
You generally get to choose what it collects (name, email, phone, birthday) and whether each field is required. Every required field costs you completions. A name and nothing else converts far better than a form that wants a birthday and a phone number before it will give someone a card.
The temptation is to collect everything on the grounds that you might want it later. Resist it. A member with only a first name can still be messaged through their wallet pass, still counted in your analytics, and still targeted by a campaign. A person who abandoned the form is none of those things.
A reasonable default: name required, everything else optional or absent. Birthday is the one extra field we think earns its place, because it enables a campaign you cannot run any other way, but make it optional and let people skip it.
Marketing consent is a separate matter and should be an explicit choice, not a pre-ticked box. That is both the law and, in practice, better for you: a list of people who actually agreed to hear from you responds; a list of people who did not notice mutes you.
What you collect decides what you can reach them with
This is the real trade-off behind the form, and it is worth understanding before you decide which fields to keep.
- The card alone lets you send a push to their wallet. No address, no number. Every member is reachable this way.
- An email address lets you send the things worth more than one line: a new menu, a monthly offer for regulars, the welcome.
- A phone number lets you send a text, which is the message that gets read within minutes. Keep it for the ones that matter, like a win-back or an appointment reminder.
So a name-only form still gives you a reachable member from day one. Email and phone widen what you can say later, and both are worth offering as optional fields rather than required ones. You can always ask again once someone has a few stamps and a reason to trust you.
The sentence staff say
In our view this is the largest single factor, and it is free. Worth being straight about the evidence: we could not find a published study measuring what a verbal ask at the till does to signup rate. This is a recommendation drawn from what operators report, not a finding, so treat the size of the effect as untested and worth measuring in your own shop.
One line, said by whoever is at the till, at the moment of payment, every time:
“There’s a card if you want it. The code’s just there. Tenth coffee’s free.”
That is it. Not a pitch, not an explanation of how the tiers work, no asking for an email address. Point at the code, name the reward, move on.
Two things make it stick. Write the sentence down and put it where staff can see it, so everyone says the same one. And do not make it conditional on the customer seeming interested: the judgment call is what kills it, because on a busy shift the answer is always “not this one”.
Getting the pass onto the phone
Once someone scans, the path has to be short: a join page, a couple of taps, and a pass in Apple Wallet or Google Wallet.
The reason this matters is that every alternative is worse. An app install loses most people at the App Store. An account with a password loses them at the password. A plastic card gets left in a drawer. The wallet route works because the software is already on the phone and there is nothing to remember.
There are small differences in how the two wallets handle the hand-off, covered in Apple Wallet vs Google Wallet. Neither requires anything of the customer beyond a tap.
The thing to measure
Not scans. Scans include the curious, the accidental and the person who bailed at the first form field.
Measure cards added per hundred transactions, and watch it by shift. It will vary more between staff than between locations, and that tells you the sign was never the bottleneck.
Two supporting numbers are worth having:
Completion rate on the join page. Of the people who scanned, how many finished. A low figure here means the form is asking too much, not that the poster is wrong.
Where they joined, if you run more than one code. A separate code per placement (counter, table, window) tells you which surface is earning its space, and usually confirms that the till is doing nearly all of it.
If you want a single experiment to run: watch enrollment for a week with the staff sentence and a week without. The gap is usually larger than anything a redesign of the poster would produce.
Frequently asked questions
Should I offer a bonus for joining? A first stamp on the house works well and costs almost nothing. It also gives the new member visible progress immediately, which tends to improve the odds they finish the card.
Can we sign people up on our own tablet instead? It works, but it puts a staff member and a device in the loop for every join, which does not survive a rush. The customer’s own phone scales; your tablet does not.
What about people who scan and never come back? Normal, and not a problem worth solving. They cost you nothing, and a portion of them will reappear when a campaign gives them a reason to.
What is a good enrollment rate? There is no published benchmark we would trust, and the number depends heavily on how many of your transactions are regulars who already joined. Compare yourself against your own previous week instead. The direction of travel matters more than the level.
Should I ask at the door or at payment? At payment. Nobody joins a loyalty program before they know whether they like the place, and at the door they are carrying things and walking.
Where to go next
Enrollment feeds everything downstream. Once you have a list worth messaging, the next question is who to send what, which is loyalty segmentation. The card people are scanning onto their phones is designed in about twenty minutes: designing a loyalty card. Why the card is worth running at all is what a stamp card is actually for, and the whole sequence in order is in the complete guide.
Passumo generates the join page and a printable counter code from the card you design, and lets you choose which details the form asks for.
Sources: Bitly, The State of QR Code Scans in 2026, published 10 March 2026; and QR Code Generator, How to create high-performing QR codes, published 23 June 2026. Both draw on approximately 2 billion scans on the QR Code Generator platform between January and December 2025. These are vendor publications rather than independent research. These are codes created on a paid QR platform, so the sample skews commercial, and the design comparisons are observational averages rather than controlled tests. We found no published data measuring scan rate by physical placement, or the effect of a staff prompt on signups; the recommendations on both are ours, and are worth testing in your own shop.