All posts
5 min readMongi Gazelle

How to track QR code scans (and what the numbers mean)

You can only count scans if the scan passes through something you control. Here is what QR code tracking actually records, which numbers to trust, and how to connect scans to a campaign.

qr code trackingqr code analyticsdynamic qr codeutmqr codes

A QR code is just a pattern. When a phone reads it, nothing is reported anywhere, unless the code points at something that counts. That's why tracking always needs a dynamic code: the code holds a short link, the short link records the scan, then sends the visitor on.

A static code, which holds your website address directly, can't be tracked by the code itself. Your website analytics may see the visit, but they can't tell it came from a scan.

What one scan record contains

When someone scans a dynamic qrlia code, the short link records:

  • When: date and time.
  • Where: country and city, looked up from the IP address in an offline database.
  • Which device: phone or desktop, and the operating system.
  • From where: the referrer, when the scanning app passes one.

The IP address itself is not stored. qrlia keeps only a hash that changes every day, which is enough to tell whether the same visitor scanned twice that day, and nothing more.

Scans, unique scans and bots

Three numbers often get mixed up:

  • Scans: every time the short link was opened.
  • Unique scans: the same visitor scanning several times in 24 hours counts once.
  • Bots: link previews in chat apps and email security scanners open links too. qrlia records them as bots and leaves them out of the people counts.

For a printed flyer, unique scans by people is the number that matches "how many people looked".

Tie scans to a campaign with UTM tags

Your website analytics can attribute the visit if the destination carries UTM tags, for example ?utm_source=flyer&utm_medium=print&utm_campaign=spring. In qrlia you fill them in under Edit this code → UTM tracking parameters, and qrlia writes them into the destination address, so every scan arrives tagged.

Use one code per placement, such as one for the window poster and one for the table card, and you can compare them directly in the QR dashboard without extra tags.

Your own analytics on the landing page

For hosted landing pages (menus, contact cards, lead forms), you can also add your own Google Analytics 4, Google Tag Manager or Meta pixel ID. They load only after the visitor accepts, so the page stays compliant with EU consent rules.

Reading the numbers

  • A sudden spike usually means a new placement went up, or the code was shared online.
  • Mostly desktop scans often means people are clicking a code that appears on screen (in an email or a PDF) rather than scanning print.
  • Scans with no city are normal: some mobile networks route traffic in ways that hide the location.

Where to see it

In qrlia, open a code to see its scans by day, country, city and device, or the Analytics page for all codes together. The free plan shows scan totals; paid plans add the breakdowns.

You can also ask Claude or ChatGPT with qrlia connected: "Which codes were scanned most this month, and from which countries?" How to connect.

Create a trackable QR code →

Get the next post in your inbox

Same content, delivered Tuesday morning. One email a week, unsubscribe in one click.

Unsubscribe in one click. We never share your email. Sent via Castle Group's in-cluster relay — no third-party trackers.