QR Code UTM Tracking: Connect Scans to Analytics [2026]
Add UTM parameters to your QR code URLs and see exactly which flyers, posters, and campaigns drive traffic in Google Analytics. Step-by-step guide.
You printed five hundred flyers with a QR code and handed them out at a local festival. The next day, your website traffic jumps. But you have no idea whether those new visitors came from the flyers, a social post, or word of mouth. The QR code worked, but the data is a black box.
UTM parameters fix this. They are tiny labels you stick on the end of a URL. When someone scans your QR code and lands on your site, Google Analytics reads those labels and tells you exactly which physical item drove the visit. This guide shows you how to set it up, how to keep your data clean, and how QRhubly makes the whole process easier.
What Are UTM Parameters?
UTM stands for Urchin Tracking Module. It is a set of URL parameters that Google Analytics (and most other analytics tools) use to sort incoming traffic into campaigns, sources, and mediums. They were originally developed by Urchin Software Corporation, which Google acquired in 2005, and they remain the standard way to tag marketing links today. Source: Google Analytics Help
A normal URL looks like this:
https://www.example.com/summer-sale
A UTM-tagged URL looks like this:
https://www.example.com/summer-sale?utm_source=festival-flyer&utm_medium=qr-code&utm_campaign=summer-2026
The page is the same. The person sees the same content. But behind the scenes, Google Analytics now knows this visitor came from a festival flyer via a QR code scan, as part of your summer 2026 campaign.
The Five UTM Parameters That Matter for QR Codes
Google supports several UTM fields, but for most QR code campaigns you only need three. Here is what each one does, with QR-specific examples.
utm_source (required) - This tells you where the traffic came from. For QR codes, use the physical location or item: table-tent, poster-downtown, product-box, business-card, flyer-festival.
utm_medium (required) - This tells you the marketing channel. For QR codes, the medium is almost always qr-code. If you want to be more specific, you could use qr-code-flyer or qr-code-menu, but keep it consistent. Source: Google Analytics Help
utm_campaign (required) - This groups related efforts together. Use something memorable and specific: summer-2026, loyalty-launch, black-friday, menu-update-july.
utm_content (optional) - Use this when you have two similar QR codes and want to know which one performs better. For example, if you print two poster designs, one with a blue background and one with a red background, you could tag them utm_content=blue-poster and utm_content=red-poster. This is how you A/B test physical materials.
utm_term (optional) - Mainly for paid search keywords. For QR codes, repurpose it to track sub-locations: utm_term=table-12 or utm_term=booth-a.
How to Build a UTM-Tagged URL for Your QR Code
You do not need to write these by hand every time. Google offers a free Campaign URL Builder that generates the tagged link for you. Source: Google Analytics Help
Here is the manual process:
- Start with your destination URL.
- Add a question mark (or ampersand if parameters already exist).
- Add
utm_source=your-source&utm_medium=qr-code&utm_campaign=your-campaign. - Test the full URL in a browser.
For example, if you run a cafe and want to track scans from your new table tent menus:
https://yourcafe.com/menu?utm_source=table-tent&utm_medium=qr-code&utm_campaign=summer-menu-2026
If you also have a poster by the door and want to compare it, create a second URL:
https://yourcafe.com/menu?utm_source=door-poster&utm_medium=qr-code&utm_campaign=summer-menu-2026&utm_content=poster-variant
Both links go to the same menu. In Google Analytics, you will see how many visits came from the table tent versus the poster. That is information you can act on.
Step-by-Step: Create a Trackable QR Code with QRhubly
Once you have your UTM-tagged URL, turning it into a QR code takes under a minute.
Step 1: Build your UTM URL
Use Google's Campaign URL Builder or write it manually. Paste it into a browser to confirm it loads correctly.
Step 2: Paste it into QRhubly
Go to qrhubly.com and paste your full UTM-tagged URL into the generator. The QR code stores the URL exactly as you provide it.
Step 3: Choose dynamic (recommended)
A dynamic QR code stores a short redirect URL instead of your long link. This keeps the code visually simple and gives you QRhubly's built-in scan analytics on top of Google Analytics. Read more about dynamic vs static QR codes.
Step 4: Style and download
Pick colors, add a logo if you want, and download as PNG or SVG. See our guide on how to add a logo to a QR code.
Step 5: Place and track
Print or display your code. In Google Analytics, go to Reports > Traffic acquisition and look for your campaign name. In QRhubly's dashboard, you will see raw scan counts, devices, and locations. Learn more about how to track QR code scans.
Track every scan in Google Analytics. Build your UTM URL, drop it into QRhubly, and know exactly which poster, flyer, or menu drove the visit.
Create a dynamic QR codeUTM Naming Best Practices That Keep Data Clean
Bad UTM hygiene ruins reports. If one code uses qr-code as the medium and another uses qrcode, Google Analytics treats them as two separate channels. Here is how to stay consistent.
Use lowercase always. Analytics tools are case-sensitive. Summer-Sale and summer-sale are different campaigns.
Use hyphens, not spaces or underscores. summer-sale is easier to read in reports than summer_sale or summer%20sale.
Define your vocabulary upfront. Pick one word for each concept and stick to it. If your medium is always qr-code, never switch to qr or qrcode.
Keep source specific but not too specific. flyer-festival is useful. flyer-festival-july-9-printed-at-kinkos is overkill and clutters your reports.
Never use UTM parameters on internal links. If someone is already on your site and clicks a UTM-tagged link, you overwrite their real source. UTMs are for entry points only.
Common UTM + QR Code Mistakes
Tagging a static code and wishing you could change it later. A static QR code bakes the URL in permanently. If you made a typo in your UTM tag, you are stuck. A dynamic code lets you edit the destination anytime.
Forgetting to test the full URL. Always paste the complete UTM-tagged link into a browser before generating the QR code.
Using the same UTM tags for every code. If all your codes use identical tags, you will not know which flyer, location, or design performed best. Vary the source or content tags.
Making URLs too long. Long URLs create denser QR codes that are harder to scan at small sizes. A dynamic QR code uses a short URL and keeps the code clean.
Ignoring QRhubly's native analytics. Google Analytics shows what happened after the scan. QRhubly shows when, where, and on what device the scan happened. Together they give you the full picture.
UTM Tracking vs QRhubly's Built-In Analytics
Google Analytics with UTMs answers marketing questions. Which campaign worked? Which placement won? What is the conversion rate?
QRhubly's native analytics answers operational questions. How many people scanned? When? On iPhone or Android? From what city?
For a complete picture, use both. Tag your URLs with UTMs for Google Analytics. Use a dynamic QR code so QRhubly logs every scan. You will see the full journey from physical item to website visit to conversion.
FAQ
Do UTM parameters work with any QR code generator?
Yes. UTM parameters are part of the URL, not part of the QR code itself. Any generator that lets you enter a URL will encode the parameters. The difference is that QRhubly's dynamic codes give you scan analytics on top of your UTM tracking.
Can I add UTM parameters to a QR code I already printed?
Only if it is a dynamic QR code. With a dynamic code, you can log in and edit the destination URL to include UTM tags. With a static code, the URL is frozen. For future campaigns, use dynamic codes so you can adjust tracking without reprinting.
What is the difference between QRhubly analytics and Google Analytics UTM tracking?
QRhubly analytics counts scans and records device, time, and approximate location. Google Analytics UTM tracking sorts visitors into campaigns and shows what they do on your site after arriving. The two systems answer different questions and work best together.
Should I use UTM parameters on every QR code?
If you are running a marketing campaign and want to measure results, yes. If you are just sharing a WiFi password or a personal vCard, UTMs are overkill. Keep it simple when there is nothing to track.
Can I use UTM parameters with a Google Review QR code?
Absolutely. Tag the review link with UTMs and you will see how many reviews came from your table tent versus your receipt versus your email signature. Read our guide on how to make a Google Review QR code for the full setup.
Create a dynamic QR code with UTM tracking, change the destination anytime, and see every scan in your dashboard. Free to start, no card.
Related guides
Make a QR code you can edit and track
Create dynamic QR codes, change the destination anytime, and see every scan. Free to start, no card.