How to Track QR Codes in Google Analytics 4
(2026 Guide)
You printed the QR code. People are scanning it. But without qr code Google Analytics integration, you have no idea how many scans convert, which placements perform, or whether the campaign is worth the print budget. This guide shows you exactly how to track QR code scans in Google Analytics — three proven methods, from beginner-friendly UTM parameters to advanced Google Tag Manager events and built-in QR code analytics that work without GA4 entirely. By the end, you'll know how to track a QR code in Google Analytics and turn every scan into a measurable data point.
Three tracking methods
3 Ways to Track QR Codes in Google Analytics
There are three main approaches to tracking QR code scans in GA4 — each with different levels of complexity, data richness, and setup requirements. Choose the one that fits your technical comfort level and campaign goals.
Method 1 — Universal
Track with UTM Parameters
The most universal method — works with any QR code generator, completely free.
- 1Define your UTM values (source, medium, campaign)
- 2Build the tagged URL with Google's Campaign URL Builder
- 3Shorten the URL (Bitly, TinyURL) for a cleaner QR pattern
- 4Generate a QR code from the shortened URL
- 5Test in GA4 Realtime before printing
| Parameter | Value | Example |
|---|---|---|
| utm_source | Placement | poster, menu, packaging |
| utm_medium | Always qr_code | qr_code |
| utm_campaign | Campaign name | summer_sale_2026 |
| utm_content | A/B variation | poster_a, poster_b |
Common mistakes: misspelled parameters, inconsistent casing, spaces in values. Always copy-paste from a template.
Related: URL QR Code Generator
Method 2 — Advanced
Track with Google Tag Manager
For technical marketers who need custom events, in-app tracking, or a workaround when UTMs get stripped.
Choose Google Tag Manager over UTM parameters when your QR codes link to pages you control and you need custom event data beyond source and medium. GTM is ideal for developers and technical marketers who want to fire specific GA4 events (like qr_code_scan) with custom parameters — placement, campaign phase, or QR code ID — directly into the dataLayer. This gives you granular control over your Google Analytics QR code data that UTM parameters alone cannot provide.
- 1Add a unique URL parameter to your QR link (e.g., ?ref=qr_poster)
- 2In GTM, create a URL variable to capture the “ref” parameter
- 3Create a GA4 event tag (“qr_code_scan”) that fires when the parameter is present
- 4Set up a trigger: Page View + URL contains ?ref=qr
dataLayer Push (Advanced)
For maximum flexibility, add a dataLayer.push call on your landing page that reads the URL parameter and sends structured event data to GA4 — including QR code ID, placement type, and campaign phase. This approach works even when UTM parameters are stripped by redirects.
Custom GA4 events appear in Reports > Engagement > Events and can be marked as Key Events (conversions) for attribution tracking.
Method 3 — Easiest
Use Built-In QR Code Analytics
Dynamic QR code platforms track scans natively — no GA4 setup required.
Advantages
- Real-time scan data (no 24-48h delay)
- Location tracking (city, country)
- Device & OS breakdown
- Unique vs. total scan counts
Limitation: Scan data lives outside GA4, so it won't appear in your GA4 reports or attribution models unless you also use UTM parameters.
For the best results, combine built-in analytics with UTM parameters to get both instant scan data and full GA4 attribution.
When to choose built-in over GA4: If you need real-time scan data without a 24-48 hour delay, want location and device tracking without JavaScript tags, or manage campaigns across teams who don't have GA4 access, built-in analytics is the pragmatic choice. Built-in tracking also works for QR code types that don't link to a webpage — like vCard, WiFi, or PDF QR codes — where Google Analytics cannot fire at all. Many marketers use both: built-in analytics for immediate scan monitoring and Google Analytics QR code tracking via UTM parameters for long-term attribution.
Related: QR Code Tracking · Dynamic QR Codes
Pro Tip: For the best of both worlds, use a dynamic QR code WITH UTM parameters. You get built-in scan analytics AND Google Analytics 4 data — covering both real-time insights and long-term marketing attribution.
Finding your data
Where to Find Your QR Code Data in Google Analytics 4
GA4's interface can be confusing. Here's exactly where to look for your QR code scan data.
Realtime Reports
Reports > Realtime
Use for testing. Scan your QR code and check Realtime within seconds to verify your UTM parameters are being captured correctly.
Traffic Acquisition
Reports > Acquisition > Traffic Acquisition
Your primary analysis view. Filter by Session source/medium containing “qr” to isolate all QR code traffic across campaigns.
User Acquisition
Reports > Acquisition > User Acquisition
Shows first-touch attribution. See how many NEW users discovered your site through QR code scans.
Custom Explorations
Explore > Free Form
Build a QR-specific exploration with dimensions (source, medium, campaign) and metrics (sessions, users, key events, revenue) for deep analysis.
Tip: Create a saved filter or segment for “medium = qr_code” to quickly access QR data without re-filtering every time.
Advanced GA4
Turn QR Scans into Conversions and Audiences
Go beyond basic tracking. Build remarketing audiences, set up conversion tracking, and understand attribution — all from your QR code data.
QR Code Audiences
Create a GA4 audience where Session medium = qr_code. Use for remarketing via Google Ads and behavior analysis of QR-sourced visitors.
Key Events
Mark signups or purchases from QR visitors as Key Events. GA4 attributes the conversion to your QR campaign for ROI reporting.
Attribution Models
GA4 uses data-driven attribution by default. A QR scan that starts a user journey gets credit even if they return via another channel later.
Cross-Domain Tracking
If your QR links to a different domain, set up cross-domain measurement in GA4 Admin > Data Streams to avoid losing UTM data during the redirect.
Privacy & Consent Mode
GA4 Consent Mode v2 may model UTM data when users reject cookies. Dynamic QR analytics (Method 3) aren’t affected by consent mode — scans are logged server-side.
Tool comparison
Which QR Code Generators Work with Google Analytics?
Swipe to see all columns →
| Feature | QRKIT | Bitly | QR Code Monkey | QRCodeKIT | Uniqode |
|---|---|---|---|---|---|
| UTM Auto-Append | Yes | Yes | No | Yes | Yes |
| Dynamic QR (Editable) | Yes | Yes | No | Yes | Yes |
| Built-In Scan Analytics | Yes | Yes | No | Yes | Yes |
| GA4 Native Integration | Yes | No | No | Yes | Yes |
| GTM Event Tracking | Yes | No | No | No | Yes |
| Free Plan Available | Yes | Limited | Yes | No | No |
| Custom QR Design | Yes | No | Yes | Yes | Yes |
QRKIT is the only free option with UTM auto-append, native GA4 integration, AND GTM event tracking support. Create a GA4-tracked QR code free — or explore the custom QR code generator for branded designs with built-in tracking.
Troubleshooting
QR Code Scans Not Showing in Google Analytics?
If you're trying to track a QR code in Google Analytics and the scans aren't appearing, work through these common issues. Most problems trace back to UTM configuration, tag installation, or consent settings.
01
UTM parameters stripped
Some URL shorteners remove UTMs. Always test the shortened URL in a browser first.
02
GA4 tag not installed
Verify the GA4 tag fires on the landing page using Google Tag Assistant.
03
Consent Mode blocking
Users who reject cookies won’t be tracked. Check Consent Mode v2 settings.
04
24-48 hour data delay
Standard GA4 reports take time. Check Realtime first for instant verification.
05
Misspelled UTM parameters
utm_sorce ≠ utm_source. Copy-paste from a template to prevent typos.
06
Cross-domain issues
QR links to domain A, GA4 on domain B. Set up cross-domain measurement.
07
Redirect chains
Multiple redirects can drop UTM parameters. Minimize redirect hops.
08
Ad blocker interference
Some ad blockers block GA4. Consider server-side tagging for critical campaigns.
The key to reliable QR tracking is testing before printing. Scan your QR code, check GA4 Realtime, verify UTMs appear, then deploy. Edit your QR code destination URL without reprinting if something goes wrong — another reason to use dynamic QR codes for print campaigns.
Best practices
9 Best Practices for QR Code Campaign Tracking
Follow these practices to keep your QR code Google Analytics data clean, consistent, and actionable across all campaigns.
01
Always use utm_medium = qr_code
This becomes your universal filter across all QR campaigns in GA4.
02
Use lowercase for all UTM values
GA4 is case-sensitive. ‘QR_Code’ and ‘qr_code’ create separate entries.
03
Create a UTM naming taxonomy
Document your naming conventions and share with your team to prevent inconsistencies.
04
Test every QR code before printing
Scan the code, check GA4 Realtime, verify UTMs appear correctly.
05
Use dynamic QR codes for print
You can update the destination URL after printing without reprinting the code.
06
A/B test with utm_content
Use poster_version_a vs poster_version_b to compare placement performance.
07
Track placement via utm_source
Use utm_source = magazine_page_3 vs billboard_times_square for granular insights.
08
Set up a monthly QR report
Create a saved exploration in GA4 to review QR campaign performance regularly.
09
Plan for offline scenarios
If the venue has poor WiFi, include fallback instructions on the sign.
QR Code Google Analytics — Frequently Asked Questions
Get started
Start Tracking Your QR Codes
in Google Analytics Today
Create a free trackable QR code with built-in GA4 support and real-time scan analytics. No credit card required.
