QR Code Tracking: What You Can Measure and How It Works

Dynamic QR codes log every scan. Here's exactly what data you get, how it's collected, what it can't tell you, and how to use it.

Static vs. dynamic: why tracking requires a redirect

Static QR codes encode your target URL directly in the code pattern. When scanned, the phone opens that URL with zero server involvement from the QR code generator. There's nothing to log because no request passes through a third-party server.

Dynamic QR codes work differently. They encode a short redirect URL - something like qr4everyone.com/abc123 - that points to your actual destination. Every scan hits the redirect server first, which logs the event before sending the visitor to your destination. That logging step is how QR code tracking works.

The tradeoff is dependency: if the redirect service goes down, your QR code stops working. For marketing materials with any expected lifespan, choose a reliable provider and verify uptime before printing at volume.

What QR code tracking actually measures

Data point Available? Notes
Total scan count Yes Every redirect request is logged
Scan timestamp Yes Server time of each redirect
Device type (mobile/desktop) Yes Parsed from User-Agent header
OS (iOS/Android/other) Yes Parsed from User-Agent header
Approximate location (country/city) Yes (via IP) City-level, not exact. VPNs skew this.
Browser type Yes Parsed from User-Agent header
Exact GPS location No Phones don't share GPS during camera scan
Identity of the scanner No Anonymous unless they log in post-redirect
Whether they converted Requires GA/pixel Add UTM params + destination analytics

How to track conversions, not just scans

A raw scan count tells you whether the QR code was noticed. It doesn't tell you whether anyone completed a purchase, signed up, or took any other action. For conversion tracking, combine two things:

  1. UTM parameters on the destination URL. Add ?utm_source=qr&utm_medium=print&utm_campaign=flyer-may to your destination URL before creating the QR code. Google Analytics will attribute sessions from this QR code to the correct source/medium/campaign.
  2. Goal or conversion tracking on the destination page. Set up GA4 events or Meta Pixel events on your thank-you page, purchase confirmation, or sign-up success page. When a user lands from the UTM-tagged QR redirect and completes that action, it's attributed to your QR campaign.

With both pieces in place, you can see in GA4: how many scanned, how many bounced, how many converted, and the revenue or value attributed to each QR code.

Per-location and per-material tracking

One of the most practical uses of QR tracking is comparing performance across locations or materials. Create a separate dynamic QR code for each piece of print material, each location, or each campaign variation.

Example: a restaurant chain with 5 locations prints different QR codes on each table tent - qr4everyone.com/menu-downtown, qr4everyone.com/menu-uptown, and so on. Each redirect points to the same menu URL. The scan logs show which location drives the most digital menu views, which informs staffing and placement decisions.

This approach works for any multi-location or multi-channel scenario: trade show booth A vs. booth B, billboard on Main Street vs. billboard on Oak Avenue, product packaging batch 1 vs. batch 2.

Privacy considerations

QR code tracking collects IP addresses in the redirect request. IP addresses are personal data under GDPR in many interpretations. Most QR tracking services (including QR4Everyone) hash or truncate IPs before storage to reduce privacy risk while retaining useful analytics.

If your audience is in the EU, include QR code analytics in your privacy policy. You may also need to disclose that scanning the code triggers a logged redirect. The minimum practical step: mention "scan logging" in any consent notice where users interact with your printed materials.

Setting up QR code tracking

  1. Create an account at QR4Everyone.
  2. Create a new short link. Paste your destination URL - with UTM params if you want GA4 attribution.
  3. Optionally set a custom slug (e.g., qr4everyone.com/spring-flyer) for recognizable tracking.
  4. Download the QR code PNG. Place it on your material.
  5. After your campaign runs, check scan count per link in your QR4Everyone dashboard, and conversion data in GA4 under the UTM source you specified.

Start tracking your QR code scans

Free account. Create dynamic QR codes with scan analytics in under a minute.

Create free account