ScanOrbit 2.0 Live: Unlimited dynamic QR codes with 1-year scan analytics. See Plans →
How to Track QR Codes in Google Analytics (GA4) with UTM Parameters
Marketing
BlogMarketing

How to Track QR Codes in Google Analytics (GA4) with UTM Parameters

SO

ScanOrbit Team

Apr 14, 2026· 6 min read

The eternal frustration of print advertising is the attribution black hole. You spend money on a direct mail campaign, your website traffic spikes the following week, and you cannot definitively prove a connection. With QR codes and UTM parameters, that problem is solved. Every scan becomes a trackable click: attributable to a specific campaign, channel, and creative.

Short answer: (1) add UTM tags to the link your QR code opens, for example ?utm_source=flyer&utm_medium=qr&utm_campaign=summer-sale; (2) print the code; (3) in GA4 open Reports → Acquisition → Traffic acquisition and set the dimension to Session source / medium. Your QR visits appear as flyer / qr. The rest of this guide covers naming, examples, and the mistakes that make QR traffic disappear.

Why QR scans show up as "direct" traffic

Without tags, a visit from a QR code arrives with no referrer: the phone's camera opened the link, not another website. GA4 therefore files it under (direct) / (none), mixed in with people who typed your address or used a bookmark. That's why a print campaign can look like it did nothing in analytics. UTM tags are what separate those visits out.

What are UTM parameters?

UTM parameters (Urchin Tracking Module) are tags appended to a URL that tell analytics platforms like Google Analytics 4 exactly where a visitor came from. They look like this:

https://yoursite.com/summer-sale?utm_source=flyer&utm_medium=qr&utm_campaign=summer2026

When a visitor arrives via this URL, GA4 records the session as coming from source "flyer", medium "qr", campaign "summer2026", providing clear attribution in your reports.

The five UTM fields explained

  • utm_source: where specifically the traffic came from. For print campaigns: flyer, poster, business-card, packaging.
  • utm_medium: the channel type. For QR codes, use qr or print.
  • utm_campaign: the campaign name: use something meaningful, like summer-sale-2026 or product-launch-q3.
  • utm_term: optional, used for paid search keyword tracking and rarely needed for QR campaigns.
  • utm_content: optional, differentiates between multiple creatives in the same campaign, e.g. red-banner vs blue-banner for A/B testing.

Setting up UTM in ScanOrbit

  1. Open a URL QR code in your ScanOrbit dashboard (or create a new one).
  2. Scroll to the UTM Parameters section (available on Pro and Business plans).
  3. Fill in utm_source, utm_medium, and utm_campaign at minimum.
  4. Save. ScanOrbit automatically appends the parameters to the destination URL on every scan: you don't need to modify the URL itself.

On the Free plan, you can get the same result by adding the tags to the link yourself: paste the full tagged URL (for example from the free UTM builder) as your QR code's destination. The built-in UTM fields simply save you building the URL by hand, and let you change the tags later without touching the link.

The help center has a full UTM setup guide with field-by-field instructions and naming convention recommendations.

Set UTM parameters before you print anything. Once a code is in circulation, the UTM parameters are locked into the dynamic redirect: but you can update them in ScanOrbit for future scans if needed. This is one of the advantages of using a dynamic QR code.

Viewing QR traffic in GA4

In Google Analytics 4, navigate to Reports → Acquisition → Traffic Acquisition. Change the primary dimension to Session source / medium. Look for entries like flyer / qr or poster / print.

To see campaign-level data, add a secondary dimension for Session campaign or use Reports → Acquisition → Traffic Acquisition and filter by your campaign name.

For a deeper view, use Explore → Free Form exploration and combine session source, medium, campaign, and conversion events to build a full attribution report.

UTM naming conventions that don't break

The biggest UTM mistake marketers make is inconsistent naming. GA4 is case-sensitive, so QR, qr, and Qr create three separate entries in your reports. Establish these rules before your first campaign and document them:

  • Always lowercase: utm_medium=qr, never utm_medium=QR
  • Use hyphens, not underscores or spaces: summer-sale, not summer_sale or summer sale
  • Use dates in campaigns: product-launch-2026-q3 is searchable years later
  • Keep sources descriptive: manchester-flyer is more useful than just print

Common use case examples

Placementutm_sourceutm_mediumutm_campaign
Restaurant table cardtable-cardqrmenu-2026
Direct mail flyersummer-flyerprintsummer-sale-2026
Product packagingpackaging-sku123qrproduct-launch
Window stickershop-windowqrbrand-awareness
Event badgebadgeqrconference-2026

For marketing-specific QR code strategy including retargeting pixels and A/B testing, see the marketing campaigns use case guide. And the QR code analytics guide covers what the ScanOrbit dashboard shows you alongside your GA4 data.

Create your free account and start adding UTM parameters to your QR codes today. UTM tracking is available on the Pro plan alongside password protection, expiry dates, and a full year of analytics history.
Share this guide with your team:
Try it out now

Generate a Live Vector QR Code

Type any URL or text to test creating an instant dynamic QR code right now:

Reed-Solomon Level H Error CorrectionOpen Full Studio →
SO

ScanOrbit Team

Author

Written by the team that builds ScanOrbit

We build the QR platform these guides describe, so the advice here comes from what we have had to get right in the product: print legibility, scan reliability, and what actually shows up in scan analytics.

The Complete Catalog

Explore all 31 QR code formats

Put the strategies from this article into practice with ScanOrbit's full suite of specialized QR generators.

Explore All 31 Live Types

Website URL

Editable dynamic link

Dynamic
SCAN TO VISIT

Point to any website or page. Change the destination anytime without reprinting.

Vector SVG & HD PNGCreate Website

Digital vCard Plus

1-Tap contact save

Dynamic
SAVE CONTACT

Complete professional profile. Directly saves names, numbers & emails to phone contacts.

Vector SVG & HD PNGCreate Digital

WiFi Network Pass

Instant zero-type connect

Static
CONNECT WIFI

Connect phones directly to guest WPA/WPA2 networks without typing long passwords.

Vector SVG & HD PNGCreate WiFi

WhatsApp Chat Starter

Pre-filled direct chat

Dynamic
CHAT ON WHATSAPP

Launches WhatsApp with a custom pre-written enquiry message directly to your phone.

Vector SVG & HD PNGCreate WhatsApp

1-Tap Phone Call

Instant dialler trigger

Static
CALL DIRECT

Opens the native phone dialler with your business line ready to call with one touch.

Vector SVG & HD PNGCreate 1-Tap

Email Dispatch

Pre-composed message

Static
SEND EMAIL

Opens user's default email client with recipient, subject, and body pre-populated.

Vector SVG & HD PNGCreate Email

Social Media Multi-Link

All channels in one bio

Dynamic
FOLLOW US

Mobile landing page aggregating Instagram, TikTok, YouTube, LinkedIn, and X.

Vector SVG & HD PNGCreate Social

App Store Smart Router

iOS & Android auto-routing

Dynamic
GET THE APP

Detects scanner device OS and redirects instantly to Apple App Store or Google Play.

Vector SVG & HD PNGCreate App

Google Review Booster

Direct 5-star rating link

Dynamic
LEAVE A REVIEW

Sends customers straight to the Google Maps review submission box in 1 scan.

Vector SVG & HD PNGCreate Google

A/B Smart Traffic Split

50/50 variant split test

Dynamic
A/B SMART SPLIT

Split scan traffic across two distinct landing pages to measure conversion winners.

Vector SVG & HD PNGCreate A/B

Video & Showreel Stream

Instant video playback

Dynamic
WATCH VIDEO

Streams YouTube, Vimeo, or MP4 video without requiring viewers to install apps.

Vector SVG & HD PNGCreate Video

Image Portfolio Gallery

Multi-photo showcase

Dynamic
VIEW GALLERY

Displays a swipeable, high-resolution photo gallery on any printed flyer or display.

Vector SVG & HD PNGCreate Image

Audio & MP3 Streamer

Podcast & audio player

Dynamic
LISTEN NOW

Plays audio tracks, museum tour guides, and podcast episodes in the browser.

Vector SVG & HD PNGCreate Audio

PDF Document & Catalog

Replace heavy print runs

Dynamic
VIEW PDF MENU

Downloadable PDF menus, brochures, and user manuals. Update files without reprinting.

Vector SVG & HD PNGCreate PDF

Interactive Food Menu

Contactless digital menu

Dynamic
SCAN FOR MENU

Mobile menu with allergen tags, multi-language support, and 1-second price updates.

Vector SVG & HD PNGCreate Interactive

Retail Product Showcase

Photo, specs & buy link

Dynamic
VIEW PRODUCT

Connects on-pack packaging to rich product specifications, reviews, and reorders.

Vector SVG & HD PNGCreate Retail

GS1 Digital Link Barcode

2D packaging standard

Dynamic
GS1 DIGITAL LINK

The official retail packaging barcode standard combining POS checkout and consumer info.

Vector SVG & HD PNGCreate GS1

Coupon & Promo Voucher

Tracked discount redemption

Dynamic
CLAIM 20% OFF

Delivers digital coupon codes with barcode scanners and expiration countdowns.

Vector SVG & HD PNGCreate Coupon

Calendar Event Pass

1-Tap .ics calendar add

Dynamic
ADD TO CALENDAR

Adds conference sessions, webinars, and dates straight into Apple/Google Calendar.

Vector SVG & HD PNGCreate Calendar

Lead Capture Form

Point-of-scan CRM sync

Dynamic
GET IN TOUCH

Collects names, phone numbers, and requirements on-location, synced to your CRM.

Vector SVG & HD PNGCreate Lead

Hosted Micro-Site

No code or domain needed

Dynamic
OPEN PAGE

Full mobile landing page builder hosted on fast CDN edge servers with custom branding.

Vector SVG & HD PNGCreate Hosted

Customer NPS & Feedback

1-Tap star rating

Dynamic
RATE EXPERIENCE

Collects customer satisfaction scores, reviews, and qualitative feedback in real time.

Vector SVG & HD PNGCreate Customer

Multi-Question Survey

Detailed survey intake

Dynamic
START SURVEY

Gathers multi-step responses and research data directly into downloadable CSV tables.

Vector SVG & HD PNGCreate Multi-Question

Instant Live Poll

Live audience voting

Dynamic
VOTE NOW

Collects single-question live votes during keynotes, lectures, and live events.

Vector SVG & HD PNGCreate Instant

Google Maps Pin Location

1-Tap GPS directions

Static
GET DIRECTIONS

Opens exact GPS coordinates or venue address directly in Google Maps or Apple Maps.

Vector SVG & HD PNGCreate Google

UPI Direct Scan & Pay

Zero-fee Indian UPI

Dynamic
SCAN & PAY UPI

Generates instant UPI intent QR codes for Google Pay, PhonePe, Paytm, and BHIM.

Vector SVG & HD PNGCreate UPI

UPI Payment + Lead Form

Collect info then pay

Dynamic
PAY & REGISTER

Captures payer name, invoice number, and custom amount before triggering UPI checkout.

Vector SVG & HD PNGCreate UPI

Bitcoin & Crypto Wallet

BIP-21 wallet payments

Static
PAY WITH CRYPTO

Accepts BTC, ETH, and USDT payments with pre-configured recipient addresses.

Vector SVG & HD PNGCreate Bitcoin

SEPA Euro Bank Wire

European IBAN transfer

Static
SEPA WIRE PAY

Pre-fills Euro bank transfer invoices with IBAN, BIC, and exact payment references.

Vector SVG & HD PNGCreate SEPA

Static Plain Text

Offline serials & keys

Static
RAW TEXT DATA

Encodes alphanumeric hardware serials, inventory IDs, and offline text tokens.

Vector SVG & HD PNGCreate Static

SMS Auto-Draft

Pre-filled text message

Static
SEND SMS

Opens mobile messaging app with pre-filled recipient phone number and SMS body.

Vector SVG & HD PNGCreate SMS
31

All 31 Specialized QR Code Formats Supported

27 dynamic formats editable after printing · Vector SVG, PDF, and high-res PNG downloads included.

Explore All 31 Live Formats Hub
Ready to Implement?

Create Your Dynamic QR Code in Seconds

Experience full vector styling, editable destination routing, and real-time scan analytics: 3 dynamic codes free forever.

Scan to Test Studio

Scan with your phone camera to test instant redirection.