QR code tracking: what scan analytics show and what they don't
Scan analytics count scans by day, city, country, device and OS, with no personal data attached. How dynamic codes make it work and where the numbers blur.
A printed poster gives you no numbers on its own. Put a dynamic QR code on it and each scan turns into a logged event with a time, a rough location and a device type. The numbers are useful, and they have edges worth knowing before you present them to anyone.
How does QR code tracking work?
A dynamic QR code encodes a short link instead of the final destination. A scan sends the phone to our server, the server logs the request and redirects to your destination in the same instant. The hop takes milliseconds, and the scanner sees only the page they expected.
Static codes skip the hop, so nothing counts them. The phone reads the URL from the pattern and goes straight to the page, with no server in between to notice. Tracking is the main reason to choose dynamic for anything you print at volume.
What do scan analytics show?
Each logged scan carries what any web request carries:
- Time, so the dashboard charts scans by day and hour.
- City and country, derived from the network address.
- Operating system and device type: iOS or Android, phone or tablet.
Across scans, the dashboard separates unique scanners from returning ones and breaks totals down per code. Two posters with two codes become two lines you can compare, which is the whole game: print the same design in two places, give each its own code, and let the scan counts settle the argument about placement.
What can scan analytics not tell you?
Identity. A scan carries no name, no email and no phone number, and we could not attach one if we wanted to; the request holds nothing personal. Location resolves to a city at best, derived from the network address rather than GPS, and a scanner on mobile data sometimes appears in a neighboring city or the carrier's hub. Read locations as a pattern across many scans, and treat any single scan's city as a guess.
How do you read the dashboard?
Start with scans over time. Spikes should line up with when print went up, when the mailer landed, when the event ran. Then check cities: a poster in one city drawing scans from another means someone photographed and shared it, a finding worth having. Device and OS splits tell you where to test the destination. A page that gets 80 percent of its scans from iPhones deserves a design pass on an iPhone.
Add UTM parameters to the destination when you want the same scans to appear in Google Analytics next to your email and social channels.
Where do the numbers get fuzzy?
Camera and messaging apps sometimes fetch a link before anyone taps it. The prefetch registers as a scan with no human behind it, and iOS and Android differ here, then change behavior between versions. The practical result: totals run somewhat high, and a burst of scans within one second from one city is often a single phone producing a prefetch and a tap.
So use the numbers for what they hold up for. Trends over weeks are solid, comparisons between codes are solid, and raw totals presented as people counted will overstate. A dashboard read with that one caveat beats a poster with no numbers at all.
A free account includes three dynamic QR codes with full analytics, enough to test whether your print earns its space. Plans and limits sit on the pricing page, and codes never expire on any of them.
Print a code you can still edit next year
3 dynamic QR codes free, with scan analytics. They never expire, even if you never upgrade. No card needed.
Create a free QR code