QR Code Tracking: How to Measure Scan Analytics
You printed 10,000 flyers with QR codes. How many people actually scanned them?
Without tracking, you'll never know. This guide shows you how to track QR code scans and use analytics to improve campaign performance.
Why Track QR Code Scans?
Tracking transforms QR codes from static links into measurable marketing tools:
- Prove ROI: Show exactly how many people engaged
- Compare channels: See which placements perform best
- Optimize timing: Learn when your audience scans
- Understand users: Know what devices and locations dominate
Without tracking, QR codes are a black box. With tracking, they're a data source.
How QR Code Tracking Works
Traditional (static) QR codes encode your URL directly. There's no middleman, so there's no tracking.
Dynamic QR codes work differently:
- Your destination URL is stored on a server
- The QR code contains a short redirect URL
- When someone scans, they hit the redirect server first
- The server logs the scan (time, location, device)
- The user is instantly redirected to your destination
This redirect happens in milliseconds. Users don't notice, but you get full analytics.
What Metrics Can You Track?
Scan Volume
The basics:
| Metric | What It Tells You |
|---|---|
| Total scans | Overall engagement |
| Unique scanners | Individual people (deduplicated) |
| Scans today/week/month | Trend over time |
| Scans per code | Comparison across codes |
Geographic Data
Where are people scanning?
Country breakdown:
United States 823 (66.7%)
United Kingdom 201 (16.3%)
Canada 156 (12.6%)
Australia 34 (2.8%)
Other 20 (1.6%)
Drill down to city level for local campaigns:
Top cities:
New York 234
Los Angeles 189
Chicago 156
Houston 112
Phoenix 89
Device Information
What devices are people using?
Operating System:
iOS 512 (41.5%)
Android 456 (36.9%)
Other 266 (21.6%)
Device type matters for:
- Optimizing landing pages
- Understanding your audience
- Technical debugging
Time-Based Patterns
When do people scan?
By hour:
6am-9am ███████ 12%
9am-12pm ██████████████ 24%
12pm-3pm ████████████ 20%
3pm-6pm ███████████████ 26%
6pm-9pm ██████████ 18%
By day of week:
Monday ████████████████ 203
Tuesday █████████████ 167
Wednesday ███████████████████ 245
Thursday ██████████████████ 231
Friday ██████████████ 189
Saturday ██████████ 112
Sunday ██████ 87
Use this data to time promotions and understand audience behavior.
Setting Up Tracking
Step 1: Use Dynamic QR Codes
Static codes can't be tracked. You need dynamic codes with a redirect server.
When generating, look for options like:
- "Dynamic QR code"
- "Trackable QR code"
- "QR code with analytics"
Step 2: Name Your Codes
Good naming makes analysis easier:
| Bad Name | Good Name |
|---|---|
| QR1 | Summer-2026-NYC-Subway-A |
| Code_001 | Product-Launch-Flyer-Downtown |
| Test | Black-Friday-Email-Header |
Include:
- Campaign name
- Channel or location
- Date or version
Step 3: Create Unique Codes Per Channel
Don't use one QR code everywhere. Create separate codes for:
- Different physical locations
- Different print materials
- Different digital placements
This lets you compare performance:
Summer Campaign Results:
Subway ads: 1,234 scans
Bus stops: 567 scans
Flyers: 890 scans
Email footer: 234 scans
Step 4: Set Up Regular Reporting
Check analytics regularly:
- Daily: During active campaigns
- Weekly: For ongoing placements
- Monthly: For evergreen codes
Look for:
- Unexpected spikes (viral moment? news coverage?)
- Declining trends (fatigue? placement issues?)
- Geographic patterns (expansion opportunities?)
Analyzing Your Data
Calculating Conversion Rate
If you track scans and downstream actions:
Scans: 1,000
Signups: 150
Conversion: 15%
Compare across campaigns to find what works.
Cost Per Scan
Calculate the true cost of engagement:
Print cost: $500
Distribution: $200
Total cost: $700
Total scans: 350
Cost per scan: $2.00
Compare to digital advertising CPM/CPC for context.
A/B Testing with QR Codes
Test different approaches:
Test 1: Call to Action
- Code A: "Scan for menu" → 234 scans
- Code B: "Scan for 10% off" → 456 scans
- Winner: Discount messaging (+95%)
Test 2: Placement
- Code A: Table tent → 123 scans
- Code B: Receipt → 89 scans
- Winner: Table tent (+38%)
Identifying Top Performers
Sort codes by scan rate:
Top 5 QR Codes This Month:
1. Black-Friday-Store-Window 2,345 scans
2. Holiday-Email-Banner 1,567 scans
3. Product-Box-Insert 1,234 scans
4. Restaurant-Table-Tent 890 scans
5. Business-Card-Back 567 scans
Double down on what works. Kill what doesn't.
Common Tracking Mistakes
Using One Code Everywhere
Problem: You can't tell which placement drove scans.
Solution: Create unique codes per channel and location.
Ignoring Time Patterns
Problem: You don't know when to promote.
Solution: Analyze day-of-week and hour-of-day patterns.
Not Setting Baselines
Problem: You can't tell if performance is good or bad.
Solution: Establish benchmarks from initial campaigns.
Forgetting Mobile Optimization
Problem: High scan rates but low conversions.
Solution: Ensure landing pages work perfectly on mobile devices.
Advanced Tracking Techniques
UTM Parameters
Add UTM parameters to your destination URLs for Google Analytics integration:
https://example.com/landing?
utm_source=qr_code
&utm_medium=print
&utm_campaign=summer_2026
&utm_content=subway_ad
This connects QR scans to your broader analytics.
Webhook Notifications
Get real-time alerts for scans:
{
"event": "scan",
"code_id": "abc123",
"timestamp": "2025-12-30T14:32:00Z",
"country": "US",
"device": "ios"
}
Use webhooks for:
- Real-time dashboards
- Triggering workflows
- Alerting on milestones
Heatmaps
For physical locations, map scan data geographically:
Store Performance Map:
[NYC] ████████████ 1,234 scans
[LA] ████████ 890 scans
[CHI] ██████ 567 scans
[HOU] ████ 345 scans
Identify high and low performers by region.
Privacy Considerations
QR code tracking collects data. Be responsible:
What's Typically Collected
- Approximate location (city level, not exact address)
- Device type (iOS, Android)
- Browser information
- Timestamp
What's NOT Collected
- Personal identity
- Exact GPS coordinates
- Browsing history
- Cross-site tracking
Best Practices
- Mention tracking in privacy policy
- Use aggregate data, not individual profiles
- Respect regional privacy laws (GDPR, CCPA)
- Allow opt-out where required
Reporting Templates
Weekly Performance Report
Campaign: Summer 2026
Week: Dec 23-29
Total Scans: 3,456
vs Last Week: +12%
Top Channels:
1. Subway ads: 1,234 (+8%)
2. Email: 890 (+15%)
3. Flyers: 567 (-3%)
Geographic:
NYC: 45%
LA: 25%
Other: 30%
Devices:
iOS: 58%
Android: 42%
Campaign Summary Report
Campaign: Black Friday 2026
Duration: Nov 25 - Dec 2
Results:
- Total scans: 12,345
- Unique scanners: 8,901
- Peak day: Nov 29 (2,345 scans)
- Top city: New York (4,567 scans)
Cost Analysis:
- Total spend: $5,000
- Cost per scan: $0.41
- vs target ($0.50): +18% efficiency
Recommendations:
- Increase subway placement (+45% above average)
- Reduce bus stop spend (-23% below average)
- Test evening promotions (6pm peak)
Summary
QR code tracking answers the question: "Is this working?"
To track effectively:
- Use dynamic (not static) QR codes
- Create unique codes per channel
- Name codes descriptively
- Analyze regularly
- Act on the data
Without tracking, you're guessing. With tracking, you're optimizing.
Ready to track your QR codes? Create a free account and get full scan analytics.