How to Track QR Code Scans: Analytics & Monitoring Guide
Learn how to track QR code scans using UTM parameters, link shorteners, and analytics tools. Measure campaign performance and understand your audience.
How to Track QR Code Scans: Complete Analytics Guide
You've printed QR codes on your marketing materials, but how do you know if anyone's actually scanning them? Tracking QR code scans helps you measure ROI, understand your audience, and optimise campaigns. Here's how to do it.
Why Track QR Code Scans?
Without tracking, your QR codes are a black box. You won't know:
- How many people scanned your code
- When they scanned it (time of day, day of week)
- Where they were when they scanned
- What device they used
- Whether they took action after scanning
Tracking answers these questions and helps you make data-driven marketing decisions.
Method 1: UTM Parameters (Free, Works with Google Analytics)
The simplest way to track QR code scans is using UTM parameters — tags added to your URL that Google Analytics (and most analytics platforms) can read.
How UTM Tracking Works
Instead of encoding https://example.com, you encode:
https://example.com?utm_source=qrcode&utm_medium=print&utm_campaign=spring2026&utm_content=poster-a3
When someone scans and visits this URL, your analytics shows exactly where they came from.
UTM Parameter Breakdown
| Parameter | Purpose | Example |
|---|---|---|
| utm_source | Where the traffic came from | qrcode, flyer, businesscard |
| utm_medium | Type of marketing | print, packaging, signage |
| utm_campaign | Specific campaign name | spring2026, productlaunch |
| utm_content | Distinguish variations | poster-a3, table-tent, shop-window |
Setting Up UTM Tracking
- Build your UTM URL using Google's Campaign URL Builder
- Create your QR code at QRGen using the full UTM-tagged URL
- View results in Google Analytics under Acquisition > Traffic Acquisition
Viewing UTM Data in GA4
In Google Analytics 4:
- Go to Reports > Acquisition > Traffic Acquisition
- Change the primary dimension to Session source/medium
- Filter or search for your UTM source (e.g., "qrcode")
- Click through to see campaign and content breakdowns
You'll see total sessions, engagement metrics, and conversions from each QR code placement.
Method 2: Link Shorteners with Analytics
URL shorteners like Bitly, Short.io, or Rebrandly provide click tracking out of the box.
Advantages of Link Shorteners
- Shorter URLs = simpler QR codes (easier to scan at smaller sizes)
- Built-in analytics dashboard (clicks, locations, referrers)
- Editable redirects — change the destination without reprinting
- Custom branded domains (e.g., yourco.link/menu)
Recommended Link Shorteners for QR Tracking
| Service | Free Tier | Best For |
|---|---|---|
| Bitly | 10 links/month, basic stats | Small campaigns |
| Short.io | 1,000 links, unlimited clicks | Growing businesses |
| Rebrandly | 25 links, 1,000 clicks/month | Branded links |
| TinyURL | Unlimited, limited tracking | Casual use |
How to Use with QR Codes
- Create your landing page URL
- Shorten it with your chosen service
- Create a QR code using the shortened URL at QRGen
- Check the link shortener dashboard for scan analytics
Method 3: Dynamic QR Codes (Paid Services)
Dynamic QR codes redirect through a server, providing detailed analytics and the ability to change the destination URL without reprinting.
What Dynamic QR Services Track
- Total scans and unique visitors
- Geographic location (city/country)
- Device type (iOS, Android, desktop)
- Time and date of each scan
- Referring medium (camera app, QR scanner app)
Popular Dynamic QR Code Platforms
- QR Code Generator (qr-code-generator.com)
- Beaconstac
- Scanova
- QR Tiger
Trade-off: Dynamic QR codes require ongoing subscriptions (£5-£50/month) and depend on the service staying online. If the service shuts down, your QR codes stop working.
Method 4: Self-Hosted Redirect Tracking
For full control, host your own redirect page that logs visits before forwarding users.
Simple PHP Example
<?php
// Log the scan
file_put_contents('scans.log', date('Y-m-d H:i:s') . " - " . $_SERVER['REMOTE_ADDR'] . "\n", FILE_APPEND);
// Redirect to final destination
header('Location: https://example.com/landing-page');
exit;
?>
More Sophisticated Options
- WordPress — Use a redirect plugin like Redirection that logs hits
- Cloudflare Workers — Serverless redirects with analytics
- Vercel/Netlify — Edge functions that log before redirecting
Best Practices for QR Code Tracking
Use Unique URLs for Each Placement
Don't use the same QR code everywhere. Create separate UTM-tagged URLs (or separate short links) for:
- Different locations (shop A vs shop B)
- Different materials (poster vs business card)
- Different campaigns (spring vs summer)
- A/B tests (design A vs design B)
Track Conversions, Not Just Scans
Scans are vanity metrics. What matters is whether people take action:
- Set up conversion goals in Google Analytics
- Track form submissions, purchases, or sign-ups
- Compare conversion rates across QR placements
Monitor Over Time
Check your QR analytics weekly to spot:
- Which placements perform best
- Optimal days/times for engagement
- Seasonal patterns
- Declining performance (time to refresh?)
Test Before Deploying
Always scan your tracked QR code yourself before printing to verify:
- The URL loads correctly
- UTM parameters appear in your analytics
- Link shortener is recording clicks
- Redirect works on both iOS and Android
Privacy Considerations
When tracking QR scans:
- Comply with GDPR/UK data protection — Don't collect personal data without consent
- Anonymise IP addresses in Google Analytics if required
- Be transparent — If you're tracking location data, mention it in your privacy policy
- Don't over-collect — Only track what you need
Create trackable QR codes at QRGen — add your UTM-tagged URL and download instantly. Free, no account required.
Ready to Create Your QR Code?
Generate custom QR codes for URLs, WiFi, contacts, and more. Free, no sign-up required.
Create Free QR Code