QR Code Analytics: The Metrics That Actually Matter
Scan counts alone tell you very little. Here is how to read QR analytics in a way that changes decisions.
A scan count on its own is a vanity metric. It goes up, which feels good, and it tells you nothing about what to do next. The useful signal is in how scans are distributed: across placements, time, and context.
Use one code per placement
This is the highest-value habit in QR measurement and it costs nothing. Generate a separate tracked code for each poster location, each publication, each pack variant. Same destination, different codes.
With one shared code you learn that 4,000 people scanned something. With eight codes you learn that the station poster outperformed the mall poster six to one, which tells you where next quarter's budget goes.
Generate one tracked code per placement: same destination, different codes. It is the cheapest thing you can do, and it turns "4,000 people scanned something" into "the station poster beat the mall six to one."
Read the timing curve
When scans happen is often more informative than how many. A sharp spike then silence means an event or a mailing, which is expected. A slow, steady trickle means a placement people encounter repeatedly, like packaging or signage, and it is worth keeping.
A curve that dies faster than the campaign should is the useful alarm: the code is still up but nobody is scanning, which usually means it has been obscured, damaged, or has stopped being interesting. Go and look at it.
Device and OS breakdown
Mostly a QA signal rather than a strategic one. A heavy skew toward one platform, when your audience is not skewed that way, points at something failing on the other: a landing page broken on older Android, say. Treat an unexpected imbalance as a bug report.
Country and region
Useful for two things: confirming a placement is reaching the audience you paid for, and catching abuse. Scans from a country where you have no presence, arriving in bursts, usually mean a link is being scraped or the code has been reposted somewhere you did not intend.
What QR analytics cannot tell you
Be clear about the limits, especially when reporting to someone else:
- Scans are not people. One person scanning twice looks like two scans. Privacy-respecting tracking cannot distinguish them, and that is a deliberate trade.
- A scan is not a conversion. It measures interest at the moment of contact. What happens after the redirect is your site analytics' job.
- Country data is coarse. It comes from network-level geography and is wrong for VPN users.
CQRG records the scan time, device category, OS, and country, and deliberately stores no IP address or cross-scan identifier. That ceiling is intentional: those four fields answer the questions above, and anything more would mean tracking individuals to produce numbers you would not act on differently.
A workable measurement setup
One tracked code per placement, named so you can tell them apart six months later. A note of when each went live. A check of the trend a week in, to catch a code that has been obscured. Then a comparison at the end of the campaign, placement against placement, to decide what to repeat.
Ready to make a Dynamic QR code?
Put these tips into practice in seconds, no sign-up required.
Dynamic QR Code GeneratorRead next
More from Guides.
QR Code Security: How Quishing Works and How to Stay Safe
Malicious QR codes are a real and growing problem. What the attacks look like, and what both scanners and publishers should do.
Static vs Dynamic QR Codes: Which One Do You Need?
Static codes encode the destination directly; dynamic codes point at a redirect you control. The difference matters most after printing.
Why Your QR Code Is Not Scanning: 9 Causes and Fixes
A checklist for diagnosing a QR code that will not scan, ordered from the most common cause to the most obscure.