All guides

How to see QR code scans in Google Analytics

2026-08-05

Someone scans your poster, lands on your site, and Google Analytics files the visit under Direct with no further detail. As far as GA4 can tell, they typed the URL by hand. That makes print campaigns look like they did nothing, which is usually wrong and always annoying.

Why it happens

A QR scan opens the URL with no referrer. No referrer means Direct. The fix is old and reliable: UTM parameters on the destination URL, so the visit carries its own label.

The three parameters that matter

Append these to the destination your code points at:

A full example: https://example.com/menu?utm_source=qr&utm_medium=print&utm_campaign=window-poster

Where to find it in GA4

Reports, then Acquisition, then Traffic acquisition. Add a secondary dimension of Session campaign and filter Session source to qr. Give it a day of scans and the campaign names will separate your window poster from your table stickers, which is the whole point: now you know which placement earns its ink.

Do it once, not per print

If you use a dynamic QR service, turn tagging on at the code level instead of hand-editing URLs. In EverQR, each code has a toggle that appends the UTM set automatically with a campaign name you choose, and it never overwrites parameters that are already on the URL. Change the destination later and the tagging follows along.

One caution: keep campaign names lowercase and consistent. GA4 treats Window-Poster and window-poster as different campaigns, and six months from now that report is a mess you will not enjoy cleaning.

Make a QR code that never dies

Free, no account, editable after printing, and it will never expire on you.

Create a free QR code

More guides: Restaurant menu QR codes that actually get scanned · Print-safe QR codes: sizes, quiet zones, and testing before the big run · Static vs dynamic QR codes, with real examples