Analytics · 9 min read
QR Code Analytics: A Complete Guide to What You Can Track
July 12, 2026
QR analytics is the invisible half of every printed campaign. Done right, it tells you which flyer worked, which city cared, and whether the audience was who you thought it was. Done wrong, it tells you a number and nothing else.
Everything a dynamic QR scan captures
Time
The exact millisecond the redirect was requested. Aggregate by hour to find peak scan windows; aggregate by day to see campaign momentum.
Geography
Country, region, and city — inferred from the IP address that hit the redirect. Country is ~99% accurate. City is right most of the time on residential and business networks; less reliable on cellular, where the tower's IP might be hundreds of miles from the user.
Device
Mobile, tablet, or desktop, plus OS name and version. Useful for spotting audience skew — a code on outdoor signage should be almost entirely mobile; anything else suggests bots or manual URL-typing.
Browser
Browser name and version. Because most in-app scanners open the URL in the app's embedded browser (Instagram's, Facebook's, TikTok's), this field also tells you which social platform your scans are coming from.
Referrer
Where the scanner came from before hitting the link. For camera-app scans this is empty. For in-app scans it often includes the source app. Sparse but occasionally revealing.
Bot flag
Most analytics tools mark scans that look automated — link previewers, security scanners, uptime monitors. QR Lift filters these out of the primary count and shows them under a separate 'automated' tab.
What you cannot capture
- The scanner's identity — no email, phone, or name.
- Precise GPS location. Only IP-based geo.
- Actions after the redirect. That's the destination page's job (see below).
- The physical location of the printed code — unless you use different codes for different placements.
Combining QR analytics with Google Analytics
QR analytics ends at the redirect. Google Analytics starts at the landing page. To measure the full funnel, put UTM parameters on your dynamic code's destination URL.
Example destination: https://your-site.com/summer?utm_source=qr&utm_medium=poster&utm_campaign=summer&utm_content=coffee_shop_A. GA will now attribute every session and conversion from that scan to that campaign — and utm_content lets you compare placements even if they share a destination.
The one metric almost everyone misses
Scans-per-day-per-code is more useful than total scans. A code that averages 12 scans/day for 90 days beats a code that got 800 scans in week one and died. The former is a working evergreen placement; the latter is a launch spike. Track both.
Reporting patterns that work
- Weekly: total scans, unique-device scans, and top-3 countries.
- Monthly: scans-per-day trend, best and worst placement, device split.
- Per-campaign: cross-reference with the GA campaign report to compare scans to conversions.
Try QR Lift free
Three dynamic codes, no watermark, no expiring links. Set up in under two minutes.
Create your first codeKeep reading
Dynamic vs Static QR Codes: Which One Should You Use?
Static QR codes are permanent and free forever. Dynamic QR codes are editable and trackable. Here's exactly when each one makes sense.
How to Track QR Code Scans (and What You Can Actually See)
You can only track scans on dynamic QR codes. Here's what data you get, what you don't, and how to set up tracking in under two minutes.
How to Change a QR Code's Destination Without Reprinting
You can only change a QR code's destination if it's dynamic. Here's how it works, why it's possible, and how to convert a static code to a dynamic one.