1) To answer how to track qr code scans, you need a dynamic QR code that routes scanners through a redirect URL. 2) That redirect logs each scan event with basics like timestamp, IP address, and user agent. 3) Add UTM parameters to the final destination so the resulting sessions are identifiable in Google Analytics.

You can only track QR code scans when the code routes through a trackable redirect (dynamic QR). This guide explains what you can measure and how to attribute scans in analytics reporting.

A quick safety note: Treat QR codes like any other link. Be cautious with untrusted QR codes, since a scan can send you to a destination you did not expect.

TLDRQR code scan tracking comes from a redirect layer that can log scan events, not from the QR pattern itself. Use UTMs so QR-driven visits show up in Google Analytics, then measure scans separately from on-page conversions like form submits or purchases.

What “tracking QR code scans” actually means

When people say they want to track QR code scans, they usually mean two different things:

  • Scan analytics: What happened at the moment of scanning (scan statistics like counts, time patterns, device breakdown, and approximate location).
  • Conversion analytics: What happened after the scan (actions on the landing page such as purchases, signups, or form submissions).

A scan event is the moment a phone camera (or scanner) reads the code and requests whatever the code points to. If that request hits a system you control (typically a redirect server behind a dynamic QR), the scan can be logged.

Common scan metadata that may be captured at the scan logging point includes:

  • Timestamp: When the request occurred.
  • Device clues: Derived from the user agent, which often includes device type, operating system, and browser.
  • Approximate location: Commonly inferred from IP address using IP-based geolocation (approximate, not GPS-precise).
  • Referring URL: Sometimes available, depending on how the scan opens and the browser behavior.

Scan counts alone are not conversions. A scan can happen without any meaningful outcome, for example if someone is curious, scans twice, or bounces immediately after the landing page loads. For measurement that holds up, keep scan analytics and conversion analytics separate, then connect them with campaign attribution.

A simple measurement model (scan analytics vs conversion analytics)

Use this separation to avoid over-reading scan numbers:

  • Scan analytics (redirect layer): Total scans, unique scans, timestamp patterns, device and OS mix, approximate location.
  • Conversion analytics (landing page): Page views, scroll depth, button clicks, form submits, purchases, signups, and other on-page events.

The bridge between them is consistent campaign tagging, usually via URL parameters.

Static vs dynamic QR codes: which can be tracked (and why)

Two printed QR code cards side by side on a table to compare static and dynamic

A static QR code stores its data directly in the QR pattern. This varies by tool, but in general a scan reads the embedded data and opens it directly, with no intermediary logging step. Without that logging point, scan tracking is not available from the code itself.

A dynamic QR code typically points to a short URL or other redirect URL managed by a provider or redirect service. This varies by tool, but the redirect is what makes tracking possible because the redirect server can record the request before sending the scanner onward.

Dynamic QR codes also let you change the destination after printing because the QR points to the redirect, and the redirect can be updated to send traffic to a new destination. This varies by tool.

Decision tree: When you can track scans (and when you cannot)

Use this quick decision tree before you print anything:

  • Does the QR code open a destination directly (the full destination is embedded in the code pattern)?
  • Yes: It is a static QR code. Scan tracking is not possible from the QR itself because there is no server request you control at scan time.
  • No, it opens a short redirect first: It is likely a dynamic QR code. Scan tracking is possible because the redirect can log the scan event.
  • Do you need scan statistics like device breakdown or approximate location?
  • Yes: You must use a dynamic QR code with redirect logging.
  • No, you only care about conversions on the landing page: You can still measure conversions with on-page analytics, but you will not get scan counts unless a redirect logs them.

Static vs dynamic QR codes table

Aspect Static QR code Dynamic QR code
Trackability of scans This varies by tool, but typically not trackable because there is no intermediary logging step This varies by tool, but typically trackable because scans hit a redirect first
What the code points to Data embedded in the code pattern A redirect URL or short URL that forwards to a destination
Edit destination after printing No This varies by tool, but often yes by updating the redirect destination
Scan statistics Typically unavailable Often available (scan event logs and scan statistics)
Dependencies None beyond the destination being reachable This varies by tool, but often depends on the provider/service and subscription status
Best use Permanent destinations where scan counts are not needed Campaigns where measurement, attribution, or destination changes matter

Takeaway: If you need scan tracking, a redirect-based dynamic QR is the deciding factor.

How dynamic QR code scan tracking works (redirect logging)

Person scanning a printed QR code poster in a hallway to show redirect logging

This varies by tool, but the basic architecture is consistent: the QR leads to a redirect, and the redirect is the measurement point.

Here is the scan flow and where logging happens:

Phone Camera / Scanner
        |
        v
Redirect URL (Short URL)
(Scan event logged here)
        |
        v
Destination URL (Landing Page)
(On-page events tracked here)

At the moment the redirect server receives the request, it can record scan statistics. Common fields captured at that point include:

  • Timestamp: When the request reached the redirect.
  • IP address: The network address making the request.
  • User agent: A header string that can be parsed for device type, operating system, and browser.
  • Referring URL (when applicable): Some contexts provide it, many do not.

This varies by tool, but if you want to track dynamic qr code scans analytics, you are effectively relying on that redirect-layer request logging. If the redirect is bypassed or does not exist, scan logging does not happen.

Two practical implications follow from this architecture:

  • Scan analytics can be collected even if the destination page has limited analytics, because the redirect sees the request first.
  • Conversion analytics still require tracking on the landing page, because the redirect cannot see what a visitor does after they arrive.

What metrics you can measure: total scans, unique scans, time, location, device

A dynamic QR dashboard usually reports a set of scan statistics that help you understand volume and context. It helps to interpret each metric with care, since many are inferred from request data.

QR scan metrics glossary (quick definitions)

Metric What it means How to interpret it
Total scans This varies by tool, but generally counts every scan event, including repeats Good for overall activity, but inflated by repeat scanning
Unique scans This varies by tool, but attempts to estimate distinct devices or users Directional, not a guarantee of unique people
Timestamp Time when the redirect received the scan request Use for day-of-week and time-of-day patterns
Location This varies by tool, but often derived from IP address via IP-based geolocation Approximate area only, not GPS-precise
Device type This varies by tool, inferred from user agent Useful for UX checks, like mobile layout issues
Operating system / browser This varies by tool, inferred from user agent Helps diagnose compatibility or rendering issues

Takeaway: Treat scan metrics as campaign signals, then validate outcomes with on-page conversion tracking.

Interpret scan metrics (especially total scans vs unique scans)

Total scans count all scans, including repeated scans by the same person or device. Unique scans attempt to estimate how many distinct scanners you reached, usually using device and request characteristics. This varies by tool, and it cannot guarantee unique people.

A practical way to read them:

  • If total scans and unique scans rise together, you likely have broader reach.
  • If total scans rises faster than unique scans, you may be seeing repeat scanning behavior, re-checking directions, or one person scanning multiple times.

Example interpretation (hypothetical): You see high total scans but low unique scans. That often suggests repeated scanning, such as customers scanning the same code multiple times to re-open a menu or re-check an offer, rather than many new scanners.

Time patterns: time-of-day and day-of-week

Timestamp reporting lets you spot patterns like:

  • Peaks during store hours or event sessions.
  • Drops during overnight periods.
  • Spikes after a distribution moment (handouts, poster placement, email send that includes the QR).

Use time patterns to sanity-check whether scans align with when the code was visible.

Location: what it means (and what it does not)

If you want to track qr code scans by location, set expectations correctly. This varies by tool, but location is typically inferred from IP address using IP-based geolocation. That means:

  • It is an approximation of area, not a precise physical spot.
  • It can reflect the network route, VPNs, or carrier gateways.
  • It can be wrong or missing for some scans.

Treat location as a directional clue, not an audit trail.

Device, OS, and browser breakdown

If you want to track qr code scans by device, you are usually looking at user agent parsing. This varies by tool, but it often includes:

  • Device type: Phone, tablet, sometimes desktop (if scanned via another method).
  • Operating system: For example, iOS or Android.
  • Browser: For example, Safari or Chrome.

Use this to find practical issues, like a landing page that behaves differently on one browser, or a form that fails on a specific operating system version.

How to track QR code scans in Google Analytics (attribution approach)

Person writing campaign tagging notes next to a printed QR code sheet

If your goal is how to track qr code scans in google analytics, the clean approach is to make QR traffic identifiable as a campaign once the visitor lands on your site. Scan counts live at the redirect layer, but attribution inside analytics typically comes from URL parameters, especially UTM parameters.

This is where many teams get tripped up: the redirect logs scans, but Google Analytics reports sessions and events on your site. UTMs help you connect the scan-driven visit to a campaign label in reporting.

This section also covers how to track qr code scans with utm parameters, in a tool-agnostic way.

UTM parameter checklist for QR campaigns

Item What to set Example value (no URL shown)
utm_source Where the traffic originates qr
utm_medium The channel type offline
utm_campaign The campaign name spring_menu
utm_content Placement or creative variant poster_front_door
utm_term (optional) Optional classifier, if you use it consistently variant_a

Takeaway: Consistent UTMs make QR-driven sessions visible and filterable in Google Analytics reporting.

Practical steps (redirect + UTMs + verification)

This varies by tool, but the workflow usually looks like this:

  1. Create or use a dynamic QR code that routes to a redirect URL (often a short URL).
  2. Set the redirect destination to your landing page destination, and append UTM parameters to that destination.
  3. Confirm the redirect preserves query parameters so UTMs reach the landing page intact.
  4. Scan the code and confirm a session appears in Google Analytics with the expected source, medium, and campaign fields.
  5. Keep scan statistics (from the redirect) and website behavior (from Google Analytics) as separate views of performance.

Example UTM-tagged destination (string only)

Use a destination string formatted like this (hypothetical example):

LandingPagePath?utm_source=qr&utm_medium=offline&utm_campaign=SpringCampaign&utm_content=PosterA

The key requirement is that UTM parameters survive the hop from the redirect URL to the destination URL. This varies by tool, so always test.

How to measure what happens after the scan (conversions and goals)

Scan analytics tell you that people reached your QR. They do not tell you what happened next. To measure outcomes, treat the QR landing page like any campaign landing page and track conversions on-page.

Common post-scan actions to measure include:

  • Form submissions.
  • Signups.
  • Purchases.
  • Clicks on key buttons (for example, call, directions, or download).
  • Engagement signals (depending on your measurement approach).

In analytics terms, those actions become events (or conversions) tied to the session that arrived on your landing page. Because your destination included UTM parameters, those conversions can be attributed back to the QR campaign in reporting.

A clean way to think about it:

  • The redirect layer answers: How many scan events happened, and what basic context did they have?
  • Google Analytics answers: What did people do on the site after arriving, and did they convert?

If total scans are high but conversions are low, that points to landing page issues, mismatch between the QR promise and the page, slow load, confusing UX, or an audience that is curious but not ready to act. If scans are low but conversion rate is strong, distribution or placement may be the limiting factor.

Operational considerations and best practices (before and after printing)

Dynamic QR scan tracking depends on the redirect continuing to work. This varies by tool, but dynamic QR codes can depend on an active provider service and subscription status for continued functionality and tracking. If access lapses, the redirect may stop resolving correctly, and both scan logging and routing can break.

Before printing: reduce measurement surprises

Do these checks while changes are still easy:

  • Decide upfront whether you need scan statistics. If yes, confirm you are using a dynamic QR with a redirect logging layer.
  • Build a dedicated landing page (or a dedicated variant) so post-scan behavior is clear to interpret.
  • Append URL parameters for attribution, and keep naming consistent across placements.
  • Confirm the destination is mobile-friendly, since most scans come from phones.

After printing: use dynamic flexibility without breaking attribution

One of the practical benefits of dynamic QR codes is the ability to update the destination without reprinting. This varies by tool, but it can help with:

  • Fixing a broken page quickly.
  • Swapping to a better-performing landing page.
  • Running simple A/B testing by rotating destination variants (be careful to keep UTMs consistent so reporting stays clean).

If you do change destinations mid-campaign, keep a basic change log (date, what changed, and why). That helps explain shifts in total scans, unique scans, or conversions.

Quick checks (scan tracking and attribution)

  • Confirm you are using a dynamic QR (redirect-based) if you need scan tracking.
  • Test scan the code on iOS and Android before printing or distribution.
  • Confirm query parameters (UTMs) reach the landing page after redirect.
  • Sanity-check that location is IP-based and presented as approximate.

References:

Ready to Create Your Own QR Code?

Join thousands of users creating beautiful QR codes.

Try QRplify FreeNo credit card required
Create QR Code