Back to Blog

QR Code Tracking: How to Measure Scan Analytics

QRStar Team7 min read

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:

  1. Your destination URL is stored on a server
  2. The QR code contains a short redirect URL
  3. When someone scans, they hit the redirect server first
  4. The server logs the scan (time, location, device)
  5. 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:

MetricWhat It Tells You
Total scansOverall engagement
Unique scannersIndividual people (deduplicated)
Scans today/week/monthTrend over time
Scans per codeComparison 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 NameGood Name
QR1Summer-2026-NYC-Subway-A
Code_001Product-Launch-Flyer-Downtown
TestBlack-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:

  1. Use dynamic (not static) QR codes
  2. Create unique codes per channel
  3. Name codes descriptively
  4. Analyze regularly
  5. 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.

Ready to get started?

Create your free account and start generating QR codes in minutes.