Home / Guides / UTM tracking for QR codes: measure scans in Google Analytics ← All guides UTM tracking for QR codes: measure scans in Google Analytics How to add UTM parameters to QR destinations, which UTM fields matter, and how to keep URLs short enough to avoid dense QRs.
How we verify this guide
Before this page is included in the public guide directory, its examples are compared with the payload produced by the linked QRFlow generator and with the export and scan-readiness controls available in the current build. Camera, lighting, paper, print size, and destination apps can still change the result, so important print runs should always be tested on the final material and real devices.
You can track QR performance without a “dynamic QR system” by adding UTM parameters to the destination URL.
QRFlow tip: use the URL QR template to build/apply UTMs and copy the final UTM link before generating the QR.
A good UTM template # https://example.com/landing?utm_source=offline&utm_medium=qr&utm_campaign=menu&utm_content=table_tent utm_source : where it comes from (offline, poster, store)utm_medium : channel (qr)utm_campaign : campaign name (menu, event2025, winterpromo)utm_content : optional for variants (counter, table, flyerA)Keep it scan-friendly # Long URLs create dense QRs. If your destination becomes too long, you have two options:
Shorten the destination (use a clean landing page URL with UTMs). Print larger (or use a redirect / dynamic QR later). Where to see results # In GA/analytics, look for traffic grouped by Source/Medium and filter for offline / qr .
If you also want “edit destination later”, read: Static vs Dynamic QR .
Recommended templates URL QR Code
Convert a website link to a QR code instantly, then download a clean SVG or PNG.
Redirect QR Code
Create a redirect QR code for campaigns, menus, packaging, posters, and any QR that may need a controlled destination path.
Link Page QR Code
Create a simple link page (multiple buttons) and generate a QR code that opens it in one scan.
WhatsApp QR Code
Create a WhatsApp click-to-chat QR for support, sales, or bookings, then verify the number, message density, and mobile opening flow before print.
Telegram QR Code
Generate a Telegram QR code for a username, channel, or group invite so people open the right destination in one scan.
Instagram QR Code
Create an Instagram profile QR on desktop/web and download PNG or SVG for cards, packaging, posters, creator kits, or quick sharing.
Use cases & print ideas Matching pages that explain where this QR type works best before you open the generator.
Continue reading ← Previous
QR color, contrast & quiet zone: the print rules that actually matter
Why quiet zone is non-negotiable, how to choose colors that scan, and what backgrounds (patterns, gradients) break QR detection.
Next →
Google Maps QR Code Guide: Location, Directions, Signage
Use a Google Maps place link or directions link, then print a QR for storefronts, parking, pickup, invitations, and event wayfinding.
Create a Discord QR code for server invites, avoid expiring links, and share safely.
Static vs dynamic QR code explained: what changes, what scans faster, when redirect or editable QR is worth it, and when static is enough.
Can you change a QR code destination after printing? Only with a hosted redirect link you control. Compare that path with a fixed static URL before you print.
Exact WIFI: payload format, what “Encryption” means, and how to avoid scan failures on iPhone/Android (special chars, hidden networks).
Use 20-25 mm (0.8-1.0 in) for most business cards. Includes minimum size guidance for short URLs, larger sizing for vCards, quiet zone rules, and a card dimensions chart.
Which vCard fields actually get saved on iOS/Android, what to keep minimal, and how to avoid bloating the QR for better scans.
Quick answers Common questions Which UTM fields matter most? utm_source, utm_medium, and utm_campaign are the essentials.
Will UTMs make the QR harder to scan? Long URLs do. Keep UTMs short or use a clean landing page.
Try it now
Generate QR codes locally in your browser — no uploads.