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/month | Dynamic edits + basic scan analytics |
| Uniqode | ~$15/month | 5 dynamic codes, 1 user, basic analytics |
| Other platforms | ~$7–$250+/month | Varies by volume, users, and API access |
| Static QR + UTM + GA | Free | Scan/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
- 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.
- Add UTM tags with a builder. Use a free tool like our UTM Link Builder to append
utm_source,utm_medium, andutm_campaign— for exampleutm_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. - 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.
- 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.
- 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.
- 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_campaignvalue (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 time | Yes (as sessions) | Yes |
| Device type / OS | Yes, via GA4 | Yes |
| Approximate location | Yes, via GA4 | Yes, often more precise |
| Change destination without reprinting | No | Yes |
| Real-time single-scan alerts | Limited | Yes |
| 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.