|7 min read

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

  1. Build your UTM URL using Google's Campaign URL Builder
  2. Create your QR code at QRGen using the full UTM-tagged URL
  3. View results in Google Analytics under Acquisition > Traffic Acquisition

Viewing UTM Data in GA4

In Google Analytics 4:

  1. Go to Reports > Acquisition > Traffic Acquisition
  2. Change the primary dimension to Session source/medium
  3. Filter or search for your UTM source (e.g., "qrcode")
  4. 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

  1. Create your landing page URL
  2. Shorten it with your chosen service
  3. Create a QR code using the shortened URL at QRGen
  4. 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