How-To 2026-02-25 5 min By Cornelious Fazal
Try the UTM Builder Free · No signup · Permanent

QR Code Analytics: How to Track Scans for Free Using Google Analytics 4

Quick Answer

You do not need a paid QR platform to count scans. Track every QR code scan, device type, city, and behaviour on your site for free using UTM parameters and.

Why You Don't Need a Paid QR Platform for Analytics

Dynamic QR code platforms charge $5 to $30 per month primarily for one feature: scan analytics. They tell you how many times your code was scanned, from which city, and on which device. That data is genuinely valuable - but it does not require you to pay a subscription for it.

If your QR code links to a page on your own website, Google Analytics 4 (GA4) captures every single scan for free - with more detail than most paid QR platforms provide. You get scan count, device type, operating system, city, country, session behaviour after the scan, and conversion tracking.

The mechanism is UTM parameters - short text tags you append to your URL before generating the QR code.

How UTM Parameters Work for QR Codes

A UTM parameter is text added to the end of a URL that tells Google Analytics where the visitor came from. For QR codes, you add three UTM tags:

  • utm_source - What physical object carries the code (e.g. business-card, store-window, flyer-a4)
  • utm_medium - The medium type: always qr-code for QR traffic
  • utm_campaign - The campaign or reason (e.g. spring-promo, menu-launch, event-2026)

Your tagged URL looks like this:

https://yourwebsite.com/offer?utm_source=store-window&utm_medium=qr-code&utm_campaign=spring-promo

You generate a QR code from this full URL. When someone scans it, GA4 records the visit under that exact source/medium/campaign combination. You can then filter GA4 to show only QR code traffic and compare performance across every code you have deployed.

Step-by-Step Setup

Step 1: Build Your UTM URL

Use Google's free Campaign URL Builder at ga-dev-tools.google/campaign-url-builder. Fill in:

  • Website URL: your destination page
  • Campaign source: name of the physical placement (e.g. restaurant-table)
  • Campaign medium: qr-code
  • Campaign name: the specific campaign (e.g. menu-2026)

Click Generate URL. The tool outputs your tagged URL. Copy it.

Step 2: Generate Your QR Code

  1. Open our Free QR Code Generator.
  2. Select URL. Paste your complete UTM-tagged URL including all parameters.
  3. Click Generate. Download the SVG.

Important: the UTM parameters add characters to the URL, increasing QR code density slightly. For a typical tagged URL of 120 to 180 characters, the code remains in Version 6 to 8 range, which prints clearly at 1 inch. Check our print sizing guide if you need to print smaller than 1 inch.

Step 3: View Your QR Analytics in GA4

In Google Analytics 4:

  1. Go to Reports → Acquisition → Traffic Acquisition.
  2. In the Session Source/Medium table, look for rows matching your UTM medium (qr-code).
  3. Or go to Explore → Free Form → add Session Source as a dimension and filter by medium contains qr-code.

You will see: session count (= scan count, approximate), device category, country, city, average engagement time, and conversions - all for free, with no third-party intermediary processing your customer's traffic.

Naming Convention: Track Multiple Codes Without Confusion

If you run five different QR codes simultaneously (business card, store window, receipt, product label, flyer), use a consistent naming convention from day one:

Placementutm_sourceutm_mediumutm_campaign
Business cardbusiness-cardqr-codenetworking-2026
Store windowstore-windowqr-codefoot-traffic
Receiptreceiptqr-coderepeat-purchase
Product labelproduct-labelqr-codespring-range
A4 flyer - eventflyer-event-mar26qr-codeevent-march

Using consistent lowercase-with-hyphens naming prevents GA4 from creating duplicate rows for the same placement because of capitalisation differences.

What GA4 Cannot Tell You (And What Paid Platforms Add)

GA4 tracks sessions on your website after the scan. It cannot tell you how many scans happened on codes linking to external URLs you do not control (such as a Venmo profile or a PDF file hosted elsewhere). For codes pointing to your own website, GA4 is fully sufficient. For codes pointing to third-party destinations, you need either a redirect through your own domain or a paid dynamic QR platform.

Frequently Asked Questions

GA4 tracks website sessions that resulted from a QR scan - which is functionally the same as scan count for codes linking to your own website. Each scan that results in the browser loading your UTM-tagged URL creates one session in GA4. Scans where the user does not have internet access, or where the user closes the browser before the page loads, would not be recorded - this small gap is the same limitation any web analytics tool has.

GA4 cannot track PDF downloads directly unless you have event tracking set up for file downloads. For a QR code linking to a PDF, create a simple redirect page on your own website (e.g. yoursite.com/menu-pdf) with the UTM parameters in the URL, then have that page redirect or embed the PDF. The UTM-tagged intermediate page is tracked by GA4 before the PDF loads.

Yes. One approach is to create a free Bitly or TinyURL short link as an intermediary. Both services provide basic click analytics (total clicks, referrer, approximate geography) at no cost. The limitation is that you must route all traffic through their servers. For any code on high-volume business materials, routing through your own domain with GA4 is more reliable and gives you more data.

Unlimited. GA4 has no cap on the number of distinct UTM campaigns, sources, or mediums you can track. You could deploy 500 different QR codes with 500 different UTM combinations and track all of them inside one GA4 property at no cost. GA4 is free for up to 10 million events per month per property, which is far beyond the scan volume of any small or medium business.

Yes, if you have conversion tracking set up in GA4. Define a conversion event (e.g. purchase completed, form submitted, contact page viewed) in GA4 → Admin → Events → Mark as Conversion. Then in your Traffic Acquisition report, each QR code's UTM campaign row will show its conversion count alongside session count. This tells you exactly which physical placement drives the most revenue - the most valuable insight any QR analytics platform provides.