8 MIN READ · TRACKING ANALYTICS PRIVACY DYNAMIC QR REDIRECT

How to Track QR Code Scans Without Google Analytics

You don't need a Google Analytics property, a tag manager, or a JavaScript snippet on your landing page. A dynamic QR code with a server-side redirect logs every scan before the visitor ever sees the destination.

QUICK ANSWER

Use a dynamic QR code that points to a redirect URL such as app.qrcodefordonation.com/q/your-slug. Each scan is logged on the server with IP, device, city, country, timestamp and referer, then the visitor is forwarded to your real page. No Google Analytics, no JavaScript, no cookies on the destination.

01 / WHY

Why Google Analytics is the wrong tool for QR scans

Google Analytics measures behavior on a web page. A QR code scan happens off the page, in a phone camera. By the time the browser opens, the scan event is already over. So you end up bolting UTM parameters onto a URL and hoping the user actually waits for the page to load and the GA script to fire.

That's a fragile loop. If a user scans a code on a poster, glances at the page for half a second, and closes it, GA may never record the visit. If their network is slow or their browser blocks third-party scripts, you lose the data. If the destination is a PayPal page, a Stripe checkout, or any URL you don't control, you can't even install GA on it.

You also pick up a setup tax: a GA property, a tag, a consent banner, a cookie policy, and the work of stitching campaign IDs to physical placements. None of that is necessary if all you want to know is "did this poster, this table tent, or this flyer get scanned, where, when, and on what kind of device."

A redirect is a far simpler primitive. The server gets the request, writes one row to a database, and sends a 302 to the real destination. The user notices nothing. You get a clean log of every scan even if the destination is a third-party page you'll never touch.


02 / HOW

How a redirect-based QR tracker actually works

The trick is that the QR code does not encode your final URL. It encodes a short link on a server you control. Every dynamic QR code on this platform points to app.qrcodefordonation.com/q/{slug}. The phone scans that, opens the URL, and the request hits our app first.

When the request arrives, the app does four things in order. It looks up the slug in the database. It writes a scan record with the request metadata. It reads the current destination URL for that slug. Then it issues an HTTP redirect to that destination. The visitor sees only the destination page.

Because the destination is stored in a database, you can change it any time without touching the printed code. Print one poster, point it at a donation page today, point it at a thank-you page next month. The QR pattern on the wall never changes. This is the same idea behind any URL shortener, described well in the Wikipedia article on URL redirection.

The QR code itself is just a 2D barcode encoding that short URL. There's nothing magic about it. The format is documented in the Wikipedia entry on QR code. All the intelligence lives on the server, not in the printed pattern.


03 / DATA

What native scan data you get

Every scan writes a single row with the fields you actually care about for a printed campaign:

  • IP address. The originating IP from the request. This is the basis for geolocation.
  • Device and browser. Parsed from the User-Agent header. iPhone vs Android vs desktop, plus the browser family.
  • City and country. Resolved from the IP at scan time so you can see which physical placement is firing.
  • Timestamp. Exact server time of the scan, useful for spotting peaks during an event or a service.
  • Referer. Present if the QR code was scanned from a screen rather than a printed surface, and the source page sent a referer header.

That's enough to answer the questions you actually have about a printed QR campaign. Which placement is working. Which city is engaging. Which day is hot. Which hour. Which device platform you should design the landing page for. You can dig deeper on the dynamic QR code with tracking page or the QR code location tracking page.


04 / COMPARE

Native tracking vs Google Analytics, side by side

Here's how the two approaches compare for a typical printed QR campaign.

ConcernNative /q/{slug}Google Analytics
SetupGenerate a dynamic codeGA property + tag + UTMs + consent
Script on landing pageNoneRequired
Works on third-party pagesYesOnly if you can install the tag
Survives bounces under one secondYes, scan is logged before redirectOften no, page may close before tag fires
Cookies on destinationNone added by the redirectYes
Editable destinationYes, change any timeNo

This isn't an argument against Google Analytics in general. GA is great for measuring on-site behavior. It's just the wrong tool for the question "did this physical sticker get scanned." For that, a redirect log is more reliable, simpler to set up, and easier to keep clean. Google's own help center on measurement events assumes the user is already on a page with the tag installed, which is exactly the assumption that breaks for printed QR codes.


05 / SETUP

Setting it up in a few minutes

Three steps. First, open the dynamic QR code generator, paste your destination URL, and pick a short slug between 3 and 25 characters. Second, download the QR as PNG or SVG and print it on whatever you're putting in the world: a poster, a flyer, a table tent, a name badge. Third, open the dashboard whenever you want and check the scan log.

If you want to redirect a single printed code at different destinations over time, that's just an edit in the dashboard. The same poster can point at a fundraiser this month and a thank-you page next month. There's nothing to reprint.

For donation campaigns specifically, see the dynamic QR code for donations page. For a worked example tied to a printed table tent, see our restaurant donation jar guide. For event displays, see the fundraising thermometer post.

FAQ

Frequently Asked Questions

Q.01 Can I track QR code scans without Google Analytics?
Yes. A dynamic QR code that points to a redirect URL like /q/{slug} can log every scan on the server before forwarding the visitor. You get IP, device, city, country, timestamp and referer without touching Google Analytics.
Q.02 What data does native QR scan tracking capture?
Native tracking captures the request IP address, user agent string (which gives device and browser), city and country resolved from the IP, the exact timestamp of the scan, and the referer header when present.
Q.03 Do I need to add JavaScript to my landing page?
No. Because the scan is logged at the redirect step on the server, the destination page does not need any tracking script, tag manager, or pixel.
Q.04 Does native QR tracking use cookies?
The redirect itself does not set tracking cookies on the destination page. Whatever cookie behavior exists on the final landing page is controlled by that page, not by the QR redirect.
Q.05 Can I still use Google Analytics on top of this?
Yes. You can append UTM parameters to the destination URL inside the dynamic QR code. The redirect will log the scan natively and Google Analytics will still see the campaign data on the landing page if you have it installed.
RELATED
START

Track scans without the tag manager

Generate a dynamic QR code with native scan logging in under a minute.

Generate QR Code Free