← All posts

Analytics · 7 min read

How to Track QR Code Scans (and What You Can Actually See)

July 5, 2026

If a QR code doesn't route through a server, nobody knows it was scanned. Static codes are a black box — the phone reads the URL and goes there directly. Dynamic codes pass through your generator's redirect, and that redirect is where every measurable signal lives.

What you can see on every scan

  • Timestamp (millisecond precision).
  • Country and city (inferred from the scanner's IP).
  • Device type (mobile, tablet, desktop) and OS.
  • Browser and browser version.
  • Referrer — where the scanner opened the link from (some browsers block this).
  • Whether it's a repeat scan from the same device that day.

What you can't see

  • Who the person is. QR analytics is anonymous — no email, no phone number.
  • Whether they converted. That requires UTMs on the destination URL and analytics on the landing page.
  • Exact GPS location. Country is very accurate, city is close for most WiFi and cable, less accurate on cellular.

Set up tracking in two minutes

  1. Create a QR Lift account and pick 'Dynamic' as the code type.
  2. Paste your destination URL. Add UTMs if you want to attribute post-scan behavior in Google Analytics.
  3. Style the code (colors, logo) and download PNG or SVG.
  4. Print or share. Scans appear in the dashboard within seconds.

Why UTMs matter

QR analytics tell you the scan happened. UTMs on the destination URL tell you what the scanner did after — did they browse, sign up, buy? Combine both for the full picture.

A typical setup: utm_source=qr, utm_medium=poster, utm_campaign=summer_launch. If you're running multiple placements (window cling vs table tent vs flyer), give each a different code and different utm_content so you can compare conversion by placement, not just scan count.

Spotting fake or bot scans

Bots do scan short links (link previewers, security scanners). Signs of a bot: no country, unusual user-agent, all scans in the same second. Good analytics tools flag and separate these. QR Lift filters obvious bot traffic out of the primary dashboard by default.

Exporting the data

For dashboards and BI stacks, export raw scan rows as CSV. On QR Lift this is on the Business tier. Each row is one scan, with all the columns above — ready to join to your GA or warehouse data.

Try QR Lift free

Three dynamic codes, no watermark, no expiring links. Set up in under two minutes.

Create your first code