· 9 min read

How to Track QR Code Scans for Free (No Subscription Required)

Most QR code platforms want $5–$99 a month just to tell you how many times your code was scanned. Here is how to get real scan tracking for free, using tools you probably already have.

Search for a QR code generator and most of them lead to the same pitch: make the code for free, then pay every month if you actually want to know how many people scanned it. Uniqode's plans start around $15/month, ME-QR asks $5/month just to keep your data dynamic, and other providers range from roughly $7 to $250+ a month depending on volume. For a single campaign, a flyer, or a small business, that's a subscription for a number you could get for free.

The good news: you don't need a dynamic QR platform to see scan counts. A static QR code (see our guide to static vs dynamic QR codes) combined with a tagged link and Google Analytics gives you real scan data — for free, forever, with no expiring code. Here's exactly how to set it up.

Why Paid QR Tracking Exists in the First Place

Dynamic QR platforms charge because the QR code itself doesn't point at your destination — it points at their short-link redirect (e.g. qrfy.io/abc123). Every scan passes through their server first, which is how they log the scan, then redirect the phone to your real page. That's genuinely useful if you need to change the destination later without reprinting. But it also means your traffic history depends on paying their subscription — stop paying, and in most plans the redirect (and your printed code) stops working.

Provider Entry-level paid plan What you get
ME-QR~$5/monthDynamic edits + basic scan analytics
Uniqode~$15/month5 dynamic codes, 1 user, basic analytics
Other platforms~$7–$250+/monthVaries by volume, users, and API access
Static QR + UTM + GAFreeScan/click counts, source, device, location, trend over time

The Free Method: Static QR Code + UTM Parameters

A UTM parameter is just a short tag added to the end of a URL that tells Google Analytics where a visit came from. Add one to the link you encode, and every scan shows up in your analytics as its own campaign — no redirect service required, and the QR code itself never expires because it points directly at your page.

Step-by-Step Setup

  1. Start with the destination link. This is the page the QR code should open — your website, a landing page, a menu, or a product page.
  2. Add UTM tags with a builder. Use a free tool like our UTM Link Builder to append utm_source, utm_medium, and utm_campaign — for example utm_source=qr&utm_medium=print&utm_campaign=storefront_poster. This labels every scan so it's easy to tell apart from other traffic in your reports.
  3. Turn the tagged link into a QR code. Paste the full tagged URL into a static generator like our QR Code Generator. Everything runs in your browser — nothing is uploaded, and the code works as long as your link is live.
  4. Confirm Google Analytics is connected to the destination site. If the page already has a GA4 tag installed, tagged visits appear automatically — no extra setup needed on the analytics side.
  5. Print, place, and test. Scan the printed code yourself first to confirm it opens correctly, then check GA4's Traffic acquisition report a day later, filtered to your campaign name, to see scans arriving as sessions.
  6. Use a different campaign tag per placement. If the same code goes on a poster, a flyer, and a business card, give each its own utm_campaign value (or generate a separate QR code per placement) so you can tell which physical location is driving traffic.

For anything that already needs to encode a link — a link QR code or a PDF QR code — this same UTM step slots in before you generate the code, at no extra cost.

What You See vs What Paid Platforms Show

Metric Free (UTM + GA4) Paid dynamic QR
Total scans over timeYes (as sessions)Yes
Device type / OSYes, via GA4Yes
Approximate locationYes, via GA4Yes, often more precise
Change destination without reprintingNoYes
Real-time single-scan alertsLimitedYes
Monthly cost$0$5–$250+

The honest trade-off: the free method can't redirect an already-printed code to a new destination, and it won't buzz your phone the instant a single scan happens. For a poster, menu, product label, or one-off campaign, most people never need either of those — they just want to know "is this working, and how many people are using it," and UTM tracking answers exactly that.

When a Paid Dynamic QR Code Actually Makes Sense

  • The destination will change repeatedly — a weekly specials menu, a price list, or a seasonal offer — and reprinting each time isn't practical.
  • Non-technical stakeholders need a dashboard without touching Google Analytics.
  • You need real-time, per-scan alerts for operational reasons (e.g. verifying a ticket or warranty scan the instant it happens).

Outside of those cases, a static code with a tagged link covers the vast majority of small business and personal use — and it never stops working because a subscription lapsed.

Frequently Asked Questions

Can I track scans without paying for anything?

Yes. Tag your destination link with UTM parameters using a free tool like our UTM Link Builder, generate a static QR code from that tagged link, and view scans as sessions in Google Analytics — no dynamic QR subscription required.

Does a UTM-tagged QR code expire like a dynamic one?

No. Because the code encodes your actual destination link directly (not a third-party redirect), it works for as long as that link stays live — there's no subscription to lapse.

Will this tell me the exact GPS location of every scan?

Google Analytics gives approximate geography (city/region level) based on IP address, similar to most dynamic QR dashboards. Neither method gives precise GPS coordinates unless the user grants location permission on the page itself.

What if I need to change where the QR code points later?

That's the one thing free static tracking can't do — a static code's destination is fixed. If you genuinely expect to redirect a printed code to a new URL later, a dynamic QR service's redirect layer is worth the subscription. If not, a static code plus a fresh UTM tag per campaign covers most needs for free.

Do I need to install anything extra to use UTM tracking?

No new software — just a UTM-tagged link (built with any free UTM builder) and Google Analytics already connected to your destination site, which most websites already have.

Track Smarter, Not More Expensively

For most QR codes — a poster, a menu, a business card, a product tag — a static code with a UTM-tagged link gives you real scan data for free, and it never expires because a subscription lapsed. Save the paid dynamic tier for the specific cases where you truly need to redirect a printed code later. Scan & Generate lets you create and scan QR codes on your phone, so you can build, test, and verify tracked codes on the go.

Create and Scan QR Codes on Your Phone

Scan & Generate lets you build branded QR codes and scan any code instantly — with a preview of the destination link before you open it.

Build a Free Trackable Link

Add UTM parameters to your destination link in seconds, then turn it into a free static QR code.