How to Track QR Code Scans in Google Analytics: A Step-by-Step Guide

QR codes are one of the most effective tools for bridging the gap between your offline marketing campaigns and your online digital assets. Whether you're putting QR codes on flyers, product packaging, restaurant tables, or billboards, you want to know exactly how many people are scanning them and, more importantly, what they do after they visit your website.
While QR Zam provides robust, real-time scan analytics directly inside your dashboard, integrating your QR campaigns with Google Analytics 4 (GA4) allows you to track post-scan user behavior, user journeys, and conversions.
In this comprehensive guide, we'll walk you through how to track QR code scans in Google Analytics step-by-step.
Why Google Analytics Tracking Matters for QR Codes
Having a QR code scan count is great, but scan data alone doesn't give you the full picture. By combining QR Zam analytics with Google Analytics, you can answer critical business questions like:
- What is the conversion rate of QR code visitors? Do they actually sign up, make a purchase, or submit a form?
- How long do they spend on your site? Do they bounce immediately, or do they explore other pages?
- Which physical location performs best? If you have QR codes on flyers in two different cities, which city generates higher-value traffic?
- What devices are they using? Are they scanning on iOS or Android?
To get these insights, you need to use UTM (Urchin Tracking Module) parameters.
Step 1: Create a UTM-Tagged URL
Google Analytics cannot automatically distinguish a visitor who scanned a physical QR code from a visitor who typed in your URL manually, unless you tell it. We do this by adding UTM parameters to the end of the destination URL.
A standard URL with UTM parameters looks like this:
https://yourwebsite.com/landing-page?utm_source=qr&utm_medium=print&utm_campaign=summer_sale
Here is what each parameter means:
utm_source: Identifies the traffic source. We recommend usingqrorqrzam.utm_medium: Identifies the marketing medium. For physical QR codes, useprint,flyer,billboard, orpackaging.utm_campaign: Identifies the specific marketing campaign, e.g.,summer_sale_2026orstore_opening.
Tool Tip: Use Google's Campaign URL Builder
You can easily build these URLs using Google's free Campaign URL Builder or directly write them out manually.
Step 2: Generate a Dynamic QR Code on QR Zam
Once you have your UTM-tagged URL, it's time to generate your QR code.
- Log into your QR Zam dashboard.
- Select Create QR Code and choose URL.
- Paste your full UTM-tagged URL (e.g.,
https://yourwebsite.com/page?utm_source=qr...) into the target field. - CRITICAL: Make sure you select Dynamic QR Code.
!IMPORTANT Always use dynamic QR codes for marketing campaigns. If you need to edit the destination URL, fix a typo in your UTM tags, or redirect users to a new promotion after the materials are printed, a dynamic QR code allows you to do this instantly without changing the physical QR code pattern.
- Customize the design with your brand colors, logo, and a clear call-to-action (CTA) frame like "Scan to Shop".
- Download the high-resolution vector file (SVG or PNG) for printing.
Step 3: Analyze QR Traffic in Google Analytics (GA4)
After your campaign goes live and users begin scanning your codes, the data will start flowing into Google Analytics. Here is how to find and analyze it in GA4:
1. View QR Traffic in the Acquisition Report
To see how much traffic your QR campaigns are driving:
- Open Google Analytics and go to Reports > Acquisition > Traffic acquisition.
- Change the primary dimension (above the table) to Session source/medium.
- Look for the row containing
qr / print(or whatever values you set forutm_sourceandutm_medium).
2. Compare Campaign Performance
If you are running multiple campaigns with different QR codes:
- In the same Traffic acquisition report, click the
+icon next to Session source/medium to add a secondary dimension. - Select Traffic source > Session campaign.
- You can now see the traffic, engagement rate, average session duration, and conversions for each individual QR campaign.
Step 4: Tracking Conversions and Measuring ROI
To measure the ROI of your physical marketing efforts, you need to track how many QR code visitors complete valuable actions on your website.
In GA4, any event (such as a purchase, sign-up, or click) can be marked as a key event (conversion). Because you tagged your QR link with UTM parameters, Google Analytics associates all actions taken by that user during their session with the QR code source.
In the Traffic acquisition table, scroll to the right to check the Conversions and Total revenue columns. This allows you to directly attribute online revenue to your physical marketing spend!
Best Practices for QR GA4 Tracking
- Keep UTMs Consistent: Google Analytics is case-sensitive.
utm_source=QRandutm_source=qrwill show up as two separate rows in your reports. Use lowercase for all parameters. - Use Short URLs or QR Zam's Redirects: Very long URLs make static QR codes dense and hard to scan. By using QR Zam's Dynamic QR Codes, our system automatically uses a shortened redirect URL, which keeps the physical code clean and easy to scan, while preserving your full UTM parameters when the user lands on your site.
- A/B Test QR Designs: Use different campaign names (e.g.,
utm_campaign=qr_with_logovsutm_campaign=qr_plain) to test which QR code style drives more scans and conversions.
Combine the detailed scan location and device analytics of QR Zam with the deep behavioral tracking of Google Analytics to maximize the performance of your next offline marketing campaign!
