How to Create a Trackable QR Code with UTM Parameters
Step-by-step guide to creating trackable QR codes with GA4 UTM parameters. Learn how to track offline scans from flyers, packaging, and posters for free.
A trackable QR code is a physical or digital QR code that encodes a destination web address tagged with standardized UTM campaign parameters (such as utm_source, utm_medium, and utm_campaign). When a smartphone camera scans the code, the mobile browser requests the tagged URL, allowing analytics platforms like Google Analytics 4 (GA4) to identify the exact offline source and campaign that drove the visit.
By default, scanning an untagged URL (e.g. yoursite.com) carries no HTTP referrer headers, causing GA4 to categorize all physical scans as untracked 'Direct / (none)' traffic. By tagging your link with a free UTM builder before rendering it in QR Code Studio, you gain full attribution for print flyers, billboards, packaging, and event banners.
Build GA4-compliant campaign tracking URLs with automatic lowercasing and a 1-click bridge to QR Code Studio.
How Trackable QR Codes Work (The Attribution Sequence)
To understand how offline tracking works, it helps to trace the exact technical sequence from a physical scan to your analytics dashboard:
Campaign Tagging
You attach standard UTM query parameters (utm_source=flyer&utm_medium=qr_code&utm_campaign=expo_2026) to your destination web address using a UTM campaign URL builder.
QR Matrix Generation
You encode the complete tagged URL into a high-resolution vector QR code using Modifyle QR Code Studio and print it on your physical marketing materials.
User Scan & Request
A customer points their smartphone camera at the code. The operating system's native QR scanner reads the matrix and launches the default mobile web browser with the full tagged URL.
Client-Side Analytics Ingestion
When your landing page loads, analytics tracking libraries (such as Google tag gtag.js or Google Tag Manager) read window.location.search, extract the UTM tags, and attribute the session to your offline campaign.
GA4 Traffic Acquisition Reporting
Your Google Analytics dashboard surfaces the visits, engagement rate, key events, and purchases under your specified Source and Medium dimensions.
A static QR code does not contact a tracking server during the scan. The tracking occurs entirely client-side when the user's mobile browser lands on your website with the UTM parameters present.
GA4 UTM Parameters for QR Codes: Quick-Reference Table
Google Analytics 4 recognizes five core UTM parameters plus optional campaign IDs. Use this reference matrix to structure clean, consistent tags for offline collateral. For broader campaign taxonomy best practices and digital ad tagging rules, see our UTM campaign tracking guide:
| Parameter | What It Identifies | GA4 Status | Offline QR Example | Best Practice |
|---|---|---|---|---|
utm_source | The physical asset, vendor, or publication | Recommended | flyer, poster, product_box, billboard | Use specific, recognizable asset identifiers. |
utm_medium | The channel or distribution mechanism | Recommended | qr_code, print_qr, signage | Keep consistent across all QR campaigns for easy GA4 grouping. |
utm_campaign | The marketing initiative or promotion | Recommended | spring_sale_2026, trade_show_expo, rebrand | Group related collateral under one unified campaign name. |
utm_content | The specific placement or creative variation | Optional | booth_a, table_tent_3, back_cover, front_counter | Essential for A/B testing different physical locations. |
utm_term | Target keyword or customer segment | Optional | vip_attendees, retail_shopper, b2b_lead | Use when targeting specific audience segments. |
utm_id | External Campaign ID | Optional | CAM-2026-QR101, EXP-889 | Aligns with internal CRM or advertising campaign IDs. |
Google Analytics 4 is case-sensitive: utm_medium=qr_code and utm_medium=QR_Code appear as two separate channels in reports. Always use lowercase parameters. Modifyle's UTM builder automatically enforces lowercasing.
Real-World Offline QR Tracking Examples
Here is how to tag standard offline print and signage touchpoints to isolate individual conversion channels:
| Marketing Medium | utm_source | utm_medium | utm_campaign | GA4 Reporting Goal |
|---|---|---|---|---|
| Trade Show Flyer | expo_flyer | qr_code | tech_summit_2026 | Measure total leads generated from booth handouts. |
| Storefront Poster | store_window | qr_code | spring_sale_2026 | Track foot traffic conversion to online discounts. |
| Business Card | business_card | qr_code | networking_q3 | Attain direct attribution from executive networking. |
| Product Box Insert | package_insert | qr_code | product_onboarding | Measure post-purchase customer registration rate. |
| Table Tent Signage | table_tent | qr_code | restaurant_menu | Compare table scan volume across dining areas using utm_content. |
Step-by-Step: From Marketing Link to Print-Ready QR Code
Follow this straightforward five-step workflow to produce crisp, trackable QR codes for print or digital distribution:
Step 1: Enter your landing page in Modifyle UTM Builder
Paste your target destination URL into the Modifyle UTM Builder. The tool automatically preserves any existing query parameters or page anchor fragments (#pricing).
Step 2: Add standard UTM campaign parameters
Set utm_source (e.g. flyer), utm_medium (e.g. qr_code), and utm_campaign (e.g. spring_promo_2026). Enable auto-lowercasing to keep your GA4 reporting consolidated.
Step 3: Transfer to QR Studio via the 1-click bridge
Click 'Create QR Code'. Modifyle carries your complete URL with all attribution tags into the QR Code Studio without manual copying and pasting.
Step 4: Customize branding and check error correction
Set your brand colors and upload your logo if desired. Modifyle automatically ensures error correction is boosted to High (H: 30%) with module excavation so the logo never prevents scanning.
Step 5: Export as Vector SVG (Print) or High-Res PNG (1024px)
Download an SVG for vector printing on large banners, or download a 1024×1024 PNG with standard 4-module quiet zone margins for product packaging and digital displays.
Generate your GA4 campaign URL and transfer directly to QR Code Studio in 1 click.
Static vs. Dynamic QR Codes for Campaign Tracking
A common misconception is that tracking requires an expensive monthly dynamic QR subscription. In reality, both static and dynamic QR codes can deliver complete campaign attribution:
- Static QR Codes with UTM: The complete tagged URL is permanently encoded directly into the black-and-white matrix. It is 100% free forever, has zero server latency, and never expires. However, because the URL is baked into the ink, you cannot edit the destination URL after printing.
- Dynamic QR Codes with Short Links: The QR code encodes a short intermediary redirect link (
modifyle.com/s/xyz) that forwards users to your final UTM URL. This keeps the visual matrix simple and allows you to update the destination URL even after 10,000 brochures have been printed.
Explore the architectural trade-offs, scanning speed comparisons, and offline reliability considerations in our comprehensive static vs dynamic QR codes guide.
Print Best Practices & Camera Scan Reliability
Ensure your printed QR codes scan instantly on all mobile devices and lighting conditions:
- Preserve the 4-Module Quiet Zone: Scanners require an unprinted border around the perimeter to detect corner finder patterns. Modifyle bakes standard quiet zones into all exports.
- Ensure High Contrast: Always print dark foreground modules (black, dark navy) onto light backgrounds (white, cream). Inverted light-on-dark codes fail on budget camera sensors.
- Size According to Scan Distance: For handheld flyers scanned at arm's length (30–40 cm), use at least 2×2 cm (0.8×0.8 in). For posters scanned from 2 meters away, print at least 20×20 cm.
- Test Physical Mockups Before Bulk Printing: Print one sample copy on standard paper and test with both an iPhone Camera and an Android Google Lens before authorizing commercial print runs.
Frequently Asked Questions
How do I create a trackable QR code for free?
Can I track QR code scans in Google Analytics 4 (GA4)?
utm_source, utm_medium, and utm_campaign parameters in the URL. In GA4, go to Reports > Acquisition > Traffic Acquisition to filter sessions by your custom QR tags (e.g. utm_medium = qr_code).Can a static QR code use UTM parameters?
What UTM parameters should I use for a QR code?
utm_source (the physical placement, like flyer or store_window), utm_medium (set to qr_code), and utm_campaign (the promotion name, like spring_sale_2026). For A/B testing different physical placements, use utm_content.