QR Code Campaigns That Actually Get Scanned
When a QR campaign flops, the code is almost never the reason. The failure is upstream: nobody was given a reason to scan, or the code sat somewhere people were moving, or the page it opened was a desktop layout on a phone. The code is the last mile of the job and the least interesting part of it.
What follows is the part that moves the number — the words next to the code, where it sits, and what happens in the two seconds after the scan.
Write the payoff, not the instruction
"Scan me" is the default and it is close to worthless. It tells the reader that a QR code is present, which they can already see. What it does not tell them is what they get, or what it will cost them in effort. Every extra second of uncertainty is a scan you do not get.
A working call to action has two components: the specific thing on the other side, and the effort required. "Today's menu — three specials" beats "Scan for menu". "Hear this room's story — 2 minutes, no app" beats "Audio guide". Each works because it answers the question the reader is actually asking, which is is this worth my time?
A set you can lift directly:
| Context | Instead of | Write |
|---|---|---|
| Restaurant table | "Scan me" | "Today's menu — 3 dishes that aren't on the printed card" |
| CafĂ© WiFi | "WiFi" | "Free WiFi. Scan to join — no password to type." |
| Review request | "Review us" | "Enjoyed dinner? Tell us in 30 seconds." |
| Business card | "Scan" | "Save my number directly — no typing." |
| Retail shelf | "Learn more" | "Full ingredient list and 40 verified reviews." |
| Conference talk | "More info" | "Grab the slide deck (PDF, 2 MB)." |
| Delivery box | "Scan" | "Track this parcel and pick a return slot." |
| Museum exhibit | "Audio guide" | "Hear the story of this room — 2 min, no app." |
| Parking machine | "Pay here" | "Pay by card. No app, no coins." |
| Recruiting poster | "Apply now" | "See the salary band, then apply in about 6 minutes." |
Say what happens next
The most underrated line on a QR display is the one that manages expectations: what will load, how long it takes, whether anything gets installed. "Opens a PDF, about 2 MB" removes a real hesitation. So does "no app needed", worth putting on almost everything, because plenty of people have been burned by a code that led to an app store.
Then make the first screen of the landing page repeat the promise in the same words. If the poster says "three specials" and the page opens on your homepage, the reader assumes they scanned the wrong thing and leaves. Message match is the cheapest conversion win in the whole exercise.
Find the idle moment
People scan when they are stopped and slightly bored, not in motion. Reliable windows: waiting for food, waiting for a bus, sitting in a waiting room, queuing, and the minute after someone sits down. Unreliable ones: walking down a corridor, standing at a busy bar, anything involving a shopping trolley.
This is why placement beats size. A 3 cm code on a table tent someone looks at for two minutes outperforms a 20 cm code on a wall they walk past. Before making the code bigger, ask whether you can move it somewhere with dwell time.
Two practical rules. Put the code where a seated or standing person's hands and eyes already are — roughly 80–140 cm from the floor, angled toward the approach, not behind glass if you can avoid it. And tell the staff: a server who says "the specials are on the code there" generates more scans than any amount of design work.
The domain is the trust signal
Camera previews show the URL before opening it, so the domain does the job a sender name does in email. A branded short domain reads as legitimate at a glance; a random string on a shared shortener reads as a risk, and a meaningful number of people stop there.
If you can put the code on your own domain — yourbrand.com/menu — do it. You get the recognisable domain, you keep control of the redirect, and you are not betting on a vendor staying in business. See static vs dynamic QR codes for how that trade works.
The landing page is the campaign
Almost every technical failure in a QR campaign is really a landing page failure:
- Not mobile-first. If the page needs pinch-zoom, it is broken. Test on a mid-range Android, not your laptop.
- A PDF menu on a phone. It renders as a tiny page of scanned text. Build a real mobile page.
- Forced app install. Every step between scan and content costs you a large share of users. If an app is genuinely required, say so on the poster rather than surprising people.
- Slow load. Past about three seconds on mobile data, abandonment climbs steeply. Compress images, drop the tracking scripts you never read.
- Too many choices. One action per page. A menu page should show the menu, not your homepage.
Plan for no signal
This gets missed constantly. Underground stations, thick-walled buildings, festival fields and rural sites have no usable mobile data, and a code that needs a web page is dead there. If your scan location has poor coverage, provide offline content or a fallback — a short URL someone can type later, or an SMS short code.
Before launch, stand where the code will be and try it with the wifi off. Thirty seconds, and it is the test most campaigns never get.
How to test it
Change one thing at a time, in this order, because cost and effect size differ sharply at each step:
- Call-to-action copy. Free to change, usually the largest effect. Run two variants for two weeks.
- Placement. Move the code somewhere with more dwell time. Use a separate code per location so you can tell them apart.
- Size and contrast. Only after the first two; this is about people who already decided to scan and failed.
- Design. Last. Colours and logos change scan reliability far more than they change intent.
Measure the funnel, not the total: scans, then landing page views, then the action you wanted. The gap between scans and page views is the number worth watching — it captures everyone who tried and gave up. Published benchmarks are useless here because variance between contexts is enormous; your own baseline across placements is the only comparison that means anything.
Give each variant a couple of hundred scans before calling a winner, and make sure both see the same days of the week — weekend and weekday behaviour differ enough to flip a result.
When a QR code is the wrong tool
Sometimes the answer is not to optimise the code but to leave it out:
- Short, memorable URLs. If the address is one word, typing beats unlocking a phone and aiming a camera.
- Anything moving. A bus, a delivery van, a scroll past on screen. No dwell time, no aiming opportunity.
- TV and video. There is a case for a code on a paused frame or a slide; in motion it is decoration.
- Desktop web pages. A QR code on a website is almost always pointless — the person is already on a device that can click. The one genuine use is a "send this to my phone" handoff.
- Beyond about five metres. The code would need to be enormous, and nobody scans a billboard.
Saying that out loud will save you more money than any of the optimisation above.
Frequently asked questions
What is the single biggest factor in whether people scan?
A stated reason to. Given the choice between a better-designed code and a clearer sentence next to it, the sentence wins by a wide margin. In order: the offer, where the code sits, whether the page loads fast on a phone, then the code's physical design.
Should the code have my logo in the middle?
Only if the code is large enough to lose the modules. A logo reduces scan reliability and forces a higher error correction level, making the code denser. On a 2 cm business card code, skip it; on a 10 cm poster code it helps people recognise what the square is. Detail in the error correction guide.
How do I measure a campaign that uses static codes?
Put UTM parameters in the encoded URL and you will see visits and conversions in your analytics, with the source labelled. You will not see how many people scanned and then gave up. If that gap matters to you, use a dynamic code or a redirect on your own domain.
Why do my scan counts look higher than my page views?
That gap is normal and it is your most useful diagnostic. It covers slow loads, no signal, people who changed their mind on the preview screen, and link preview bots inflating the scan side. Past about a third, suspect the landing page or the connection at the scan point.
What size should the code be on a poster?
About 10 cm for a poster read from a metre, and 20 cm or more if it is behind a shop window read from the pavement. Full table in the print sizing guide.
Should I ask for a review with a QR code?
Yes, but timing does the work. The best moment is right after a positive interaction and while the person is still on site — not on a receipt they read at home. Ask at the table or at the counter, and tell them how long it takes. Our Google Review QR generator builds the link for you.
How long should a campaign run before I judge it?
Two weeks minimum, so you capture both weekend and weekday patterns. For a seasonal or event-driven campaign, judge it against the same period last year rather than against last month.
Do colours and rounded corners help engagement?
Marginally on recognition, and they cost you reliability. Every deviation from black modules on a white background narrows the set of phones that can read the code. If you style the code, test it on an older handset before the print run — see the troubleshooting guide for what goes wrong.
Related guides
Get the physical side right first: What Size Should a QR Code Be? and Why Your QR Code Won't Scan. For measurement and editability, read Static vs Dynamic QR Codes; for the trust side of the preview screen, QR Code Security Risks. Campaign-by-campaign: restaurant menus, review requests, business cards and PDF handouts.