← All articles

How to Track QR Code Scans: Four Methods Compared

2026-10-12 analytics tracking utm

There are four ways to track QR code scans: a dynamic QR code with built-in counts, UTM parameters added to the link, your website's own analytics, and a unique landing page per placement. Dynamic codes are the easiest and work for any destination; UTM parameters add campaign detail in your own analytics; the other methods fill gaps. Combine two of them for the best picture, and remember that a scan count measures interest, not sales.

What a scan count can and cannot tell you

A scan is one phone reading the code and opening the link. You can usually learn when it happened, the country or region, the phone type and the browser. You cannot learn who the person was, and a good provider does not try to. A scan also does not tell you whether the person bought anything. For that you need a way to connect the scan to an outcome at your own checkout or form.

Method 1: a dynamic QR code with built-in analytics

The code holds a short link on the provider's server, which counts each visit and forwards the person to your destination. (Dynamic vs Static QR Codes explains the difference.)

Make a separate dynamic code for each placement (window, receipt, flyer batch) and the counts become a comparison. If you would rather keep one code for several placements, QR Maker also reads a placement tag on the short link, such as ?s=window, and reports scans per tag without changing where the visitor lands.

Method 2: UTM parameters

UTM parameters are labels added to the end of a link, such as utm_source=flyer and utm_campaign=spring. Your website analytics reads them and files the visit under that campaign.

Method 3: your own analytics on a dedicated landing page

Create a page that exists only for the QR code, for example /spring-offer, and look at its visits in your analytics.

Method 4: unique offer codes

Print a promo code beside the QR code, or have the destination show one that only scanners see, and count redemptions at your till or checkout.

Which method to choose

GoalBest method
See how many people scan each placementDynamic code, one per placement
See what scanners do on your siteUTM parameters plus web analytics
Connect scans to salesUnique promo code or dedicated landing page
Compare two versions of a destinationDynamic code with a split between two links

For most small businesses, a dynamic code per placement plus a promo code on the destination page answers the questions that matter.

Privacy and what to say to customers

Scan analytics should be aggregate. Prefer providers that do not store IP addresses and that filter bots. If you add your own analytics on the destination, tell visitors in your privacy policy, as you would for any web traffic.

FAQ

Can I track a static QR code?

Not by itself, because nothing sits between the phone and the destination. You can still use UTM parameters or a dedicated page on the destination, and read the results in your own analytics.

Why do my scan counts differ from my website visits?

Not every scanner completes the page load, and web analytics may block or miss some visits. Bots and link-preview services can also be counted by one tool and filtered by the other. Expect the numbers to be close, not identical.

Counting scans in aggregate is common and generally low-risk. What matters is what you collect and how you describe it. Avoid storing personal data you do not need, and follow the privacy rules of the places where your customers live.

Create a free dynamic QR code — change the destination anytime and track every scan.

Make your QR code →