Free tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teamsFree tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teamsFree tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teamsFree tier, no card requiredDynamic QR codes that update after printGDPR-compliant scan analyticsBuilt for agencies, freelancers & in-house teams
All posts
A poster with a clear call to action and a QR code being scanned by a phone, with the scan registering as a successful tap.
Guide

How to get more QR code scans: the offer, the call to action, and where you put it

Why won't people scan your QR code? Almost always because there's no reason to, the offer is buried, or the page is slow. An honest guide to getting more scans: the offer, the call to action, placement and dwell time, and why chasing an 'average scan rate' is a trap.

ScanKit

ScanKit · Organization

· 15 min read

You can make a QR code that is perfectly sized, beautifully branded, safe to scan, and wired to a dashboard that records every tap. None of it matters if the person walking past never lifts their phone. The hard part of a QR campaign was never the code. It is the half-second in which a real human, with their own reasons and their own hurry, decides that scanning is worth the effort.

That decision is the whole game, and most of the advice written about it is either wishful or invented. This guide is about winning it honestly: the reason you give someone to scan, the words next to the code, where you place it, and what waits on the other side. We will start by throwing out the one number everyone wants you to chase.

The scan stopped being the hard part in 2017

For years the honest objection to QR codes was that scanning them was a chore. You needed a separate app, you had to remember which one, and half the time it failed. That objection is dead, and it died on a specific date.

Since iOS 11 shipped in the autumn of 2017, every iPhone has recognised a QR code straight from the built-in Camera app, with no extra software. Android closed the gap over the following two years through Google Lens and built-in camera support. Then the pandemic turned occasional scanning into a reflex: menus, check-ins and payments trained an entire population to point a phone at a square and trust it.

Capability is no longer the constraint. In a 2024 usability study by the US Census Bureau, all twenty participants scanned a test code successfully, in about twelve seconds each, and rated the process extremely easy. The detail that matters most is in the limitations: the researchers wrote that they could not find a single participant who had never used a QR code before. So if your code is being ignored, the problem is almost never the technology. It is that you have not given anyone a reason to bother.

Forget the "average scan rate"

The first thing most people want is a benchmark. What is a good scan rate? What is the average? It is a reasonable question with a dishonest answer, and the honest version is more useful.

There is no trustworthy industry-average scan rate, and there cannot be one. A rate needs a denominator: scans divided by the number of people who saw the code. Nobody observes the total real-world impressions of physical codes. The platforms that publish "average scan rate" figures see only the scans on their own systems, with no idea how many people walked past without scanning. When you read that the average is "around 14 per cent", ask where the bottom of that fraction came from. It came from nowhere.

Even within a single campaign, the average lies. Response follows a power-law: a few placements do most of the work and a long tail does almost nothing, so the mean is dragged around by one or two winners and describes none of the individual placements. A code on a restaurant table and a code on a motorway billboard are not two samples of the same thing to be averaged together.

So the right metric is not an industry figure you borrow. It is a baseline you build. Run the campaign, watch how each placement type actually performs, and report the median and the share of placements that got essentially zero scans, not the flattering mean. That is exactly what scan analytics are for. Set your own baseline first, and every change you make has something real to beat.

Give people a reason: the offer

A scan is not free to the person doing it. They have to notice the code, stop, take out a phone, open the camera, aim, and wait the ten-or-so seconds it takes. That is a small but real cost, and the visible benefit has to clearly exceed it. Most codes that go unscanned are not ugly or broken. They simply never answered the only question the viewer is asking, which is "what do I get?"

The strongest reason is concrete and immediate. "Scan for the wine list" beats "scan to learn more". "Scan to claim your 20 per cent off" beats "follow us online". A specific, useful, slightly time-sensitive promise does the heavy lifting; a vague gesture at "more information" does none. If the only honest answer to "what do I get?" is "a marketing page", you have a campaign problem that no design can rescue.

Incentives are a reliable lever, and you do not need an invented statistic to justify one. The pattern holds across channels: digital offers and coupons redeem at far higher rates than the paper inserts they replaced, because a concrete saving moves behaviour where a brand message does not. Borrow the principle, not a percentage. Put a real offer behind the code, then measure the lift against your own baseline.

Write a call to action, not a label

The text beside the code does more work than the code itself, and "Scan here" wastes it. "Here" is not a reason. A call to action that earns scans pairs an action verb with the specific benefit: scan to save, to watch, to book, to skip the queue. Tell the person what to do and what they get in the same short breath.

Keep it short. A few words, read and understood in the second or two of attention you actually get, is the working guideline. This is a rule of thumb from direct-response copywriting rather than a measured law, but it holds up: the longer your call to action, the less of it gets read. Lead with the verb, name the benefit, stop.

It also helps to say what happens next, because uncertainty is friction. "Scan to open the menu" tells someone they are about to see a menu, not download an app or hand over an email address. The more accurately the words predict the experience, the more readily people commit.

Match the promise to the page

Usability researchers at the Nielsen Norman Group describe how people navigate by "information scent": before committing to a path, they judge from the cues in front of them whether it is likely to lead where they want. A printed call to action is a scent cue. When the promise on the poster matches what appears after the scan, the trail is strong and people follow it. When it does not, the trail breaks, and a broken trail does not just lose this scan; it teaches the person not to scan your next one.

In practice the destination has to honour the words. "Scan to claim 20 per cent off" must land on the offer, ready to use, not on a generic homepage where the visitor has to hunt for what you promised. A scan that lands on the wrong page is worse than no scan, because you spent attention and trust to deliver a disappointment.

This is where pointing a code at a fixed URL becomes a liability and a dynamic code earns its place. With a dynamic QR code the printed square stays the same while you control where it leads. If the campaign moves on, the offer expires, or the landing page is simply wrong, you change the destination without reprinting a single poster. The promise can always be made to match the page, even after the ink has dried.

Placement is a dwell-time decision

Here is the honest replacement for the fabricated "scan rate by placement" tables you will find everywhere: rank a placement by the seconds of still, undivided attention it offers. That single idea predicts more than any borrowed benchmark.

Scanning needs a stationary phone and a few seconds of intent. A motorway billboard gives a moving driver perhaps five to seven seconds of divided attention, by out-of-home measurement, and none of it is hands-free. That is below the floor for an action that requires holding a phone still and waiting. The billboard is not failing because your code is wrong; it is failing because the context cannot support a scan at all.

Five QR code placements ranked on a rising scale by dwell time, from a motorway billboard with little attention up to a product held in the hand.
Rank a placement by dwell time, the seconds of still attention it offers. 1 = a motorway billboard glanced from a moving car, the lowest; 2 = a street poster; 3 = a table tent; 4 = a transit seat-back; 5 = a product in the hand, the highest. Choose surfaces by the attention they hold, not the crowd that passes.

The diagram ranks five common placements by the dwell time they offer, from least to most:

  1. A motorway billboard, glanced from a moving car: a few seconds of divided attention, below the floor for a scan.
  2. A street poster or panel: more time than a billboard, but a hurrying passer-by still has to choose to stop.
  3. A table tent in front of a seated diner: minutes of idle attention, and a natural reason to look down.
  4. A transit seat-back, or a platform poster with the next train four minutes away: a captive, settled audience.
  5. A product in someone's hand at home, or a ticket or receipt they are already holding: the most attention of all, and the easiest scan you will ever earn.

The pattern is the point: choose surfaces by the attention they contain, not by how many people pass them. A thousand glances at a billboard are worth less than fifty captive waits at a bus shelter.

None of this matters, of course, if the code is physically too small to read at the distance people stand from it. Dwell time gets the intent; the code still has to be scannable from where the viewer actually is, which is a question of size, contrast and quiet zone worth getting right alongside the placement.

The scan is the easy part; the page is where scans die

You can win every battle above and still lose at the last step, when someone gives you the scan and the page makes them regret it. This is the most common and most fixable waste in a QR campaign, and the numbers on it are real.

Google's research on mobile sites found that more than half of visits are abandoned when a page takes longer than three seconds to load, and that the probability of a bounce climbs steeply with load time: roughly a third more likely at three seconds than at one, and around ninety per cent more likely by five. A QR scanner is on mobile data, often on weak signal, and impatient because they just made an effort. A slow page punishes exactly the people you worked hardest to attract.

Speed is not the only self-inflicted wound. Surveys of why people abandon scans put the leading causes as codes that will not scan, links that are dead or expired, and destinations that load slowly or look broken. None of that is fraud or bad luck; it is all under your control. Test the printed code at the real distance and lighting, not on your monitor. Confirm the link is live before the run and keep confirming it after. And because pages rot, point the code at a dynamic destination so a slow or broken landing page can be swapped in seconds rather than reprinted in weeks.

Make it feel safe to scan

One last reason people hesitate has grown sharper: a QR code hides its destination, and the public has learned to be wary. In January 2026 the FBI warned that attackers were using malicious QR codes in phishing campaigns, the practice now widely called "quishing". You lower that hesitation by making the code look like it belongs to you. A code that carries your brand, sits inside your own materials and resolves to a recognisable address reassures in a way a bare black square on a sloppy flyer never will, which is one practical reason to learn how to put a logo in a QR code without breaking the scan. The broader habits that keep codes trustworthy sit in our guide to QR code security for agencies. People scan what they trust, and trust is something you can design.

How an agency sets expectations without a benchmark

For agencies the awkward conversation is the first one, when a client asks what scan rate to expect. The temptation is to quote a comforting industry average. Resist it, and you will both be better served.

Tell the client the truth: there is no credible industry average, so the first campaign's job is to establish a baseline for this brand, this placement and this offer. From then on you compare like with like. A table tent this month against the same table tent last month. Offer A against offer B on identical placements run at the same time. Never your client's real numbers against a vendor's invented ones, which is the kind of honest comparison that tracking a print campaign properly is built to support.

Be explicit, too, about what you control and what you do not. You control the offer, the call to action, the match between promise and page, the placement and its dwell time, the scannability of the code, the speed of the landing page, and the trust signals around it. You do not control foot traffic, the weather, a competitor's louder display, or whether someone had a reason to be there at all. Saying this out loud is what separates an honest agency from a vendor selling optimism.

The thread through every lever is that you want to keep iterating after the print run, not freeze your decisions at the printer. Dynamic codes, organised so each client's campaigns live in their own workspace, turn the offer, the destination and the page into things you can change while the posters are still on the wall. The baseline tells you what to fix; the dynamic code lets you fix it.

Frequently asked questions

What is a good QR code scan rate?

There is no reliable industry figure, because a true scan rate needs to know how many people saw the code, and nobody measures that for physical placements. Published "averages" have no denominator and no methodology behind them. A good scan rate is one that beats your own previous baseline for the same placement and offer. Measure your campaigns, report the median rather than the mean, and judge performance against yourself.

Why won't people scan my QR code?

Usually one of five reasons: there is no clear benefit to scanning, the call to action is buried or missing, the placement offers no time to scan, the code is too small or low-contrast to read, or the page behind it is slow or broken. Work down that list in order. The most common single cause is the first: you never told the viewer what they would get.

Where is the best place to put a QR code?

Wherever people are already still and have a few seconds to spare. Restaurant tables, product packaging held at home, transit interiors, waiting areas, and tickets or receipts all offer the dwell time a scan needs. Moving contexts like motorway billboards offer too little attention for an action that requires holding a phone steady, no matter how many people pass them.

Should the call to action go above or beside the QR code?

Put it right next to the code, in the natural reading flow, so the reason to scan is seen alongside the square rather than hunted for afterwards. Never separate the call to action from the code or bury it in fine print. If someone has to work out why they would scan, they will not.

How many words should a QR code call to action be?

Short enough to read in the second or two of attention you get, which in practice means a handful of words built from an action verb and a specific benefit, such as "Scan to save 20 per cent". This is a copywriting guideline rather than a hard rule, but longer calls to action reliably get read less.

Do branded or coloured QR codes get more scans?

Branding helps, mainly because it signals the code is legitimate and worth trusting, which lowers hesitation. Ignore the precise "plus 30 per cent" figures vendors quote for branded codes; they are not sourced. The real rule is to brand the code for trust while keeping it comfortably scannable, which is a question of contrast and error correction, not decoration.

Do incentives increase scans?

A concrete offer is one of the most dependable ways to give people a reason, and offers reliably move behaviour across channels. The honest caveat is the same as everywhere else: measure the lift against your own baseline instead of trusting a borrowed percentage. A real saving or a genuinely useful piece of content will out-pull a vague "learn more" every time.

How do I know if my QR code is performing well?

Compare it to your own baseline and to like-for-like placements, not to an industry average. Look at whether scans are turning into the action you actually wanted, link the scan through to outcomes with proper scan analytics, and treat a placement with no dwell time differently from one with plenty. Performance is relative to context and to your own past, never to a number you read online.

The short version

People can scan; almost everyone has, and the friction died with iOS 11 in 2017. Getting scanned is no longer a technical problem but a motivation one, and the levers are these. Give a concrete reason to scan. Write a call to action that names the benefit, not "scan here". Match the promise to the page so the trail does not break. Place the code where people are still and have time, not merely where crowds pass. Send the scan to a fast page, because more than half of mobile visits die past three seconds. And make the code look trustworthy so people feel safe pointing a phone at it.

Stop chasing an average scan rate that no one can actually measure. Make one code with a real reason behind it, put it somewhere with dwell time, send it to a fast page that keeps its promise, and measure your own baseline. Then use a dynamic code to fix whatever that first run reveals, without reprinting a thing. That loop is how scans go up.

Share

Keep reading