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 QR code beside a funnel of narrowing bars, a text-free vector illustration.
Guide

What's a good QR code scan rate? How to set a benchmark you can defend

There is no meaningful "average" QR code scan rate. Learn what a scan rate really measures, why the published averages mislead, how to set a benchmark you can defend to a client, and the mechanical fixes that genuinely raise it.

ScanKit

ScanKit · Organization

· 13 min read

What's a good QR code scan rate?

It is the first question almost every client asks once the codes are printed: "So, how many people are actually scanning?" And it is usually followed by the harder one: "Is that good?"

Search for an answer and you will find a tidy figure waiting for you. One page says the average QR code scan rate is 14 per cent. Another quietly says it is 9 per cent, or 3 per cent, or "mid single digits". None of them defines what they divided by, and none cites where the number came from. The honest answer is less convenient and far more useful: there is no meaningful industry average, and any agency that quotes one to a client is setting itself up to look wrong.

This guide explains why a single average scan rate is close to meaningless, what a scan rate actually measures, how to set a baseline you can defend, and the changes that genuinely move the number. It pairs naturally with our piece on which scan metrics actually matter; think of this as the benchmark that sits underneath those metrics.

Why there is no single "average" scan rate

The reason the published averages disagree so wildly is not sloppy maths. It is that scan counts are not normally distributed, so an average barely describes anything.

Online attention follows a power-law: a small number of pages, links and posts collect most of the traffic while the long tail collects almost none. This has been measured directly. A study of web analytics data in Physical Review E found page traffic and incoming link traffic both follow power-law distributions, with a handful of items dominating the totals (Goncalves and Ramasco, 2008). That is a hard finding about how online clicks behave, and a scan of a QR code is just a click that started on a physical surface.

When a distribution is that skewed, the mean gets dragged upward by a few runaway performers and stops describing the typical case. The clearest illustration in the QR world comes from one generator's own platform data, covering roughly five million scans: the mean was about 44 scans per code while the median was 2, and around a third of codes were never scanned at all. Treat those exact figures as one vendor's self-reported data, not a law of nature. But the shape is the point. If the average code gets 44 scans and the middle code gets 2, the "average" is describing a world almost no individual campaign lives in.

So when a client asks "is our scan rate good compared to average?", the technically correct response is that the average is the wrong yardstick. A better campaign is not one that beats a mythical industry number; it is one that beats your own previous campaign in the same context.

What a scan rate actually measures

A scan rate looks like a simple fraction:

scan rate = scans / impressions

The trouble lives entirely in the denominator.

The numerator is solid. If your code redirects through a server (more on that below), every scan is a real, counted event with a timestamp. The denominator is not solid at all, and print and digital fail in opposite ways.

In digital advertising an "impression" is a precisely defined, counted event. The Media Rating Council and IAB viewability standard counts a display impression only when at least 50 per cent of the ad's pixels are in view for at least one continuous second. That is a hard specification. So for a QR code on a web page or in an email, you can in principle know your denominator.

On print and out-of-home, an impression is not counted at all; it is modelled. Geopath, the body that sets out-of-home measurement standards in the US, defines an impression as the number of people likely to notice a display, derived from circulation or passing traffic and then adjusted by a visibility index. For a magazine, the soft denominator is effectively the circulation. This is the crux: on a printed campaign you are dividing a hard count of scans by an estimate of exposure. The top of the fraction is real; the bottom is an educated guess.

That asymmetry is why cross-campaign scan-rate comparisons mislead. A flyer handed to 1,000 people who asked for it and a poster seen by an estimated 1,000 passers-by can post identical "scan rates" that mean completely different things. Before you report a percentage, write down exactly what you put in the denominator and whether it was counted or modelled. If it was modelled, say so.

You can only measure scans if the code redirects

Here is a detail that trips up new campaigns: a plain QR code cannot be measured by the people who printed it.

A QR code stores its data directly in the black-and-white grid. A static code bakes the final destination URL straight into the pattern. When someone scans it, their phone goes directly to that URL with no stop in between, so the code's owner has no way to count the scan. The destination is also frozen forever once it is printed.

A dynamic code instead encodes a short redirect URL that points at a server you control. Every scan lands on that server first, which then forwards the phone to the real destination with an HTTP redirect. That server hop is the entire reason a scan becomes countable, and the reason you can change the destination later without reprinting. The redirect mechanism is hard, factual behaviour; the words "static" and "dynamic" are industry convention rather than part of the ISO/IEC 18004 QR standard, but the mechanism they describe is real.

The practical consequence: if you want a scan rate at all, the code has to be dynamic. We cover the full trade-off in dynamic versus static QR codes. For this discussion, just remember that a static code's "scan rate" is unknowable, not low.

How to set a benchmark you can defend

If the industry average is the wrong yardstick, what do you give the client instead? You build a private benchmark from your own data, and you are honest about its limits.

  1. Set expectations before launch, in writing. Tell the client up front that the first campaign establishes the baseline and the second is the one you can judge. This single sentence prevents most "is this good?" arguments later.
  2. Treat campaign one as calibration. Whatever it returns is your starting line. Record the scans, and record the denominator you are dividing by and how you got it.
  3. Compare like with like. A scan rate is only comparable against another campaign with the same placement type, audience intent and exposure model. Group your benchmarks by context (table tents, direct mail, packaging, posters), never in one pooled number.
  4. Segment by reason to scan. A code someone scans to get the thing they are already holding (a menu, a parcel insert) behaves nothing like a code on a poster someone walks past. Keep those benchmarks separate or you will compare the incomparable.
  5. Watch the trend, not the absolute. The defensible claim to a client is never "14 per cent is good". It is "we lifted your repeat-campaign scan rate from X to Y by changing Z". Direction beats a borrowed absolute every time.

This is also where good tooling earns its keep: per-campaign, per-placement scan tracking is what lets you build these context-specific baselines instead of guessing. For the metrics that sit on top of the benchmark, see which scan metrics matter.

Where the scan rate leaks, and where to fix it

A benchmark gives you the number. Understanding why it lands where it does means seeing the scan as a funnel: every scan that happens has survived a sequence of stages, and your rate is whatever is left at the bottom. Knowing which stage leaks is what turns a flat percentage into something you can act on.

A six-stage scan funnel with numbered stages narrowing from exposure to a converted scan.
The scan funnel: six stages where scans leak away at each step, from exposure to a converted scan.

The six stages a scan has to survive, from top to bottom:

  1. Exposure. Someone with time to act has to be in front of the code at all. This is a placement decision, and it is the one most campaigns get wrong.
  2. Notice. A clear, benefit-led reason to scan, sitting right beside the code, is what turns a glance into intent. Peer-reviewed work on QR advertising found scan intention is driven by curiosity and by the perceived fit between the code and the brand, not by decoration (Okazaki and colleagues, Journal of Business Research, 2019).
  3. Scan succeeds. The code has to actually decode: enough size and contrast, an intact four-module quiet zone, and a sensible error-correction level. Our size and design guide and the guide to why a code will not scan own this gate.
  4. Page loads. A scan that lands on a slow page is a wasted scan. Google found 53 per cent of mobile visits are abandoned past a three-second load, with bounce probability rising 32 per cent as load time goes from one to three seconds (Google, 2016; Google/SOASTA, 2017). Point the redirect at a fast, mobile-first page.
  5. Trust. A small but real fraction of people hesitate before scanning a code they do not trust, a hesitation that the rise of "quishing" (QR phishing) has sharpened. A visible brand and a short branded domain reduce it; our guide to QR code security for agencies covers the defensive side.
  6. Convert. The scan is the midpoint, not the finish. Carry the campaign's UTM parameters through the redirect so the session is attributed correctly, as covered in tracking QR scans in GA4.

Working those levers is a whole topic of its own, and we cover it in how to get more QR code scans, so we will not repeat the playbook here. The point for benchmarking is narrower: when your rate moves, it moved at one of these stages. Because a dynamic code's destination is editable, you can change the offer, the page or the placement and measure the difference against your own baseline, a real before-and-after on your own audience that beats any borrowed number.

Marketing folklore to ignore

The QR space is unusually full of confident numbers that fall apart on inspection. Knowing the worst offenders protects your credibility with clients.

  • "Coloured codes get 35 per cent more scans." This is the cleanest example of laundered data. The same 35 per cent figure appears in different articles pointing in opposite directions, attributed to a study that does not appear to exist. Colour can help a code fit a brand, but the number is folklore.
  • "QR codes deliver 1,400 times more engagement than display ads." No traceable source exists for this anywhere, and it compares two different actions (a scan versus a display click) as if they were the same. Ignore it.
  • "A call to action increases scans by 37 per cent" (or 40, or 80). Each precise version traces to a single vendor's own platform with no control group, or to a citation that does not contain the figure when you check. The direction is sound; the decimal point is invented.

A useful contrast for what a real number looks like: a 2020 security survey of around 2,100 US adults found roughly 83 to 86 per cent had ever scanned a QR code. It names its sample and method. That is the bar a statistic should clear before it goes in a client deck.

Frequently asked questions

What is a good QR code scan rate?

There is no universal "good" rate, because scan counts follow a skewed, power-law distribution and the denominator (impressions) is defined differently for print and digital. A defensible benchmark is your own previous campaign in the same context. Judge a campaign by whether it beats your prior baseline for that placement type, not against a published average.

What is the average number of scans per QR code?

Be sceptical of any single figure. One QR generator's platform data put the mean at about 44 scans per code but the median at just 2, with roughly a third of codes never scanned. The large gap between mean and median is the real lesson: a few codes get most of the scans, so the average describes almost no individual campaign.

How do you calculate QR code scan rate?

Divide scans by impressions and multiply by 100. The scans are easy to count if the code redirects through a server. The hard part is the denominator: a digital impression is a counted event (the IAB standard counts an ad as viewed at 50 per cent of pixels for one second), while a print or out-of-home impression is a modelled estimate of how many people likely saw it. Always note which kind you used.

Why is my QR code not getting scanned?

Most failures are mechanical rather than about offer. Check, in order: is the code dynamic so scans are even countable; is it large enough for the scan distance (roughly one tenth of the viewing distance); does it have the required four-module quiet zone and dark-on-light contrast; does it have a clear reason to scan beside it; and does the landing page load in under three seconds on mobile. A code in a low-dwell spot like a passing billboard may simply be in an unscannable position.

Do dynamic QR codes get scanned more than static ones?

The honest answer is that you cannot compare, because a static code cannot be measured by its owner at all. A dynamic code routes each scan through a server, which is the only way scans become countable and the destination becomes editable. So the relevant difference is not "more scans" but "measurable scans".

How fast should the landing page after a scan load?

Under three seconds on mobile, and faster is better. Google found 53 per cent of mobile visits are abandoned past a three-second load, and that bounce probability rises 32 per cent as load time goes from one to three seconds. A scan that lands on a slow page is effectively a lost scan, so point the redirect at a light, mobile-first page.

The short version

A single "average QR code scan rate" is close to meaningless: scan counts follow a power-law distribution, so the mean describes almost no real campaign, and the denominator (impressions) is a counted event in digital but only a modelled estimate in print. Stop benchmarking against borrowed numbers. Make the code dynamic so scans are countable at all, build a private baseline from your own first campaign, compare only like-for-like placements, and then raise the rate with mechanical fixes: a clear reason to scan, a properly sized high-contrast code with its quiet zone intact, a sub-three-second mobile page, and placement where people actually have time to act. The next time a client asks "is that good?", give them the answer that holds up: good is better than last time, in the same context, measured honestly. Set your first dynamic campaign live, record its real baseline, and you will never have to borrow a number again.

Share

Keep reading