How to Track QR Code Scans (Analytics Explained) [2026]
You can track every QR code scan: how many, when, where, and on what device. Here's how QR analytics work and how to set up tracking for free.
![How to Track QR Code Scans (Analytics Explained) [2026]](https://bzvhkwxgnzgkyyuezhoj.supabase.co/storage/v1/object/public/blog-images/how-to-track-qr-code-scans/header-1782408947813.jpg)
Printing a QR code without tracking is like running an ad and never asking if anyone saw it. The good news: tracking scans is easy, and you can start for free. Here is how QR code analytics actually work and how to set them up.
This is not a niche concern. With over a trillion QR scans expected globally in a single year (Wave Connect, 2026), the businesses winning with QR are the ones measuring what happens after the scan, not just printing a square and hoping.
Why you cannot track a static code
First, the catch. A static QR code points straight at your link with nothing in between. There is no place to record the scan, so you get nothing. No count, no dates, no locations.
To track scans you need a dynamic QR code. A dynamic code points at a short redirect first, and that redirect logs the scan before forwarding the person to your real destination. That tiny middle step is what makes analytics possible. If this is new to you, start with Dynamic vs Static QR Codes.
What you can actually measure
A good QR analytics dashboard shows you:
- Total scans and scans over time, so you can see launch spikes and which days perform.
- Unique vs repeat scanning patterns.
- Location, usually country and city level, derived from the network, not precise GPS.
- Device, operating system, and browser (iPhone vs Android, Safari vs Chrome).
- Per-code performance when you run several codes, so you can compare a poster against a flyer.
That turns a printed code into a measurable channel. You stop guessing whether the campaign worked.
How to set up scan tracking (step by step)
- Create a dynamic code. Make a free account and create a dynamic QR code instead of a static one.
- Point it at your destination. A menu, a product page, a review link, whatever you want.
- Download and use it. Put it on your poster, packaging, or business card.
- Watch the dashboard. Every scan shows up with its time, rough location, and device.
- Edit anytime. Because it is dynamic, you can change the destination later without touching the printed code.
How to read the numbers
A few practical reads once data comes in:
- A flat line after launch usually means the code is not visible enough or is placed where people will not stop to scan. Move it or make it bigger.
- Lots of scans, no conversions means the code works but the destination page does not. Fix the landing page, not the code. Because it is dynamic, you can swap the destination in seconds.
- Most scans from one city tells you where your audience actually is, which is gold for planning.
- Mostly iPhone or mostly Android can shape which app store link or wallet pass you prioritize.
A worked example
Say you run a cafe and put a dynamic code on the table tents linking to your loyalty signup. After two weeks the dashboard shows 240 scans, almost all on mobile, peaking Friday and Saturday evenings, mostly from your own city. That tells you three things: the placement works, your weekend crowd is the most engaged, and your audience is local. If only 5 of those 240 actually signed up, you now know the problem is the signup page, not the code. You swap the destination to a simpler form (no reprint, because it is dynamic) and watch the next two weeks. That loop, scan data leading to a change leading to more scan data, is the entire point of tracking.
Comparing campaigns
If you run two versions, say two posters in two cafes, give each its own dynamic code. The dashboard shows scans per code so you can see which placement, design, or message wins. That is real A/B testing for the physical world.
Common mistakes
- Using a static code and expecting data. It will never report anything. Dynamic only.
- Not exporting. Pull a CSV of your scan log so you can keep records or chart it yourself.
- Reading city data as exact. Location is approximate by design. Treat it as a regional signal, not a home address.
- Judging too early. Give a printed campaign time. Scans trickle in as people encounter the code.
Frequently asked questions
Can I track a QR code I already printed? Only if it was a dynamic code. A static code cannot be tracked retroactively. For the next print run, use a dynamic code.
Does tracking slow down the scan? No. The scan is logged in the background and the person is forwarded instantly. They never notice a delay.
Is QR tracking accurate? Scan counts and device data are accurate. Location is approximate (country and city level), based on the network rather than GPS.
Do I need to pay to see analytics? With QRhubly you get full analytics on a free account, including the scan timeline and breakdowns. The free trial limits how long each code stays live (7 days or 50 scans), and a Pro plan keeps codes live with no caps.
What is the difference between scans and unique scans? Total scans count every read, including the same person scanning twice. Unique scans estimate distinct devices. Both are useful: total shows raw activity, unique gets closer to how many real people engaged.
Can I export my scan data? Yes. QRhubly lets you export your full scan log to CSV, so you can keep records or build your own charts in a spreadsheet.
Will tracking work if someone scans offline? The redirect needs a connection to forward the person and log the scan, which is the case for essentially any QR code that opens a web page. The scan is recorded the moment their phone reaches the link.
Start tracking
Make a dynamic code, put it out in the world, and watch the scans roll in.
Related guides
Make a QR code you can edit and track
Create dynamic QR codes, change the destination anytime, and see every scan. Free to start, no card.