By Conner Aiken
Jun 25 2026
...
Most teams treat QR codes as a print novelty: drop one on a flyer, hope someone scans it, move on. That's not a campaign. A campaign has goals, channels, and numbers you can defend in a Monday standup — and QR campaign tracking is what gets you there.
The problem: nearly every QR generator paywalls the part that makes campaign tracking work — scan timestamps, source attribution, channel-level dashboards. QRelix is free to start with real scan tracking included, so you can run multi-channel QR campaigns and actually measure them without budget approval. This guide walks through how to set up QR campaign tracking the right way: what to tag, what to measure, and how to do all of it free in 2026.
QR campaign tracking is the practice of attributing scans (and downstream actions) back to the specific campaign, channel, and creative they came from. It's the difference between knowing "we got 4,200 scans last month" and knowing "the in-store window cling drove 38% of scans, but the print insert had 3x the conversion rate."
Three things separate campaign tracking from generic QR analytics:
Without all three, you're not tracking campaigns. You're just counting scans.
Most QR generators bolt analytics onto static codes as an afterthought. Scan totals get shown in a dashboard, but there's no campaign metadata — you can't filter by source, you can't segment by creative, and you can't compare two campaigns side by side. Worse, the dashboards reset, throttle scans on the free plan, or strip out the UTM parameters that connect scans to your site analytics.
Run a real campaign on those tools and you'll hit three walls fast:
If you're spending money on print or packaging, paying $25–$60/month per dashboard just to track it makes the unit economics ugly fast. The free path below uses dynamic codes plus UTMs to get you the same data without the subscription.
This setup works for any number of campaigns and any number of channels. The whole thing takes about 20 minutes the first time, then 2–3 minutes per new campaign.
Static QR codes encode the destination URL directly in the pattern. Once printed, they can't be edited, redirected, or analyzed at the campaign level — every scan looks the same to your dashboard.
Dynamic QR codes route through a short URL you control. That redirect step is where the magic happens: it logs each scan with a timestamp, device type, and geographic region, then forwards the user to the campaign URL. Dynamic codes are also editable after print — if your landing page moves, you don't reprint.
QRelix offers free dynamic QR codes (no credit card required), which is the foundation everything else here builds on. See what's included free for the scan tracking specifics.
Before you generate the QR code, build the destination URL with proper UTM parameters. These get picked up by Google Analytics, GA4, Plausible, or whatever you use, so scans show up as a tracked source instead of "direct/none."
A clean UTM convention for QR campaigns:
utm_source — the channel (print, packaging, ooh, in-store)utm_medium — always set to qr so you can filter all QR traffic at onceutm_campaign — the campaign name (q3-launch, summer-promo)utm_content — the specific creative (window-cling, insert-front, billboard-i5)Example:
https://example.com/promo?utm_source=ooh&utm_medium=qr&utm_campaign=q3-launch&utm_content=billboard-i5
The full deep-dive on this lives in our QR Code Tracking in Google Analytics 4 guide — bookmark it for setup specifics.
This is the step most teams botch. They make one QR code for the whole campaign and slap it on print, packaging, and the in-store sign. All scans get bucketed together. There's no way to tell which channel pulled weight.
The fix: one dynamic QR code per channel-creative combination, each pointing to a URL with its own utm_content value. Total time cost: about 30 seconds per code in a free generator. Total analytical value: actual channel attribution.
Naming convention that scales: {campaign}-{channel}-{creative}. So q3launch-print-insertfront and q3launch-ooh-billboard-i5 are separate codes, separate dashboard entries, separate UTMs.
You now have two data sources:
Pull both into one view. The simplest free approach: a Google Sheet with a tab per campaign, scan data exported from QRelix, and GA4 conversion data dropped in via the GA4 Sheets connector. Free Looker Studio dashboards work too — also no cost.
What to put on the dashboard:
Scans alone are vanity. Pair every scan metric with a quality or conversion metric, or you're optimizing for the wrong thing.
The metrics worth tracking:
A retail Q3 product launch. One campaign, four channels — store window clings, shelf talkers, paper inserts in shipped orders, and a billboard. Four QR codes, all UTM-tagged. After two weeks, the data shows the shelf talkers drove 6x the scan volume of the billboard at 1/40th the cost. The team kills the billboard contract and doubles down on shelf-talker placement across other stores. None of that decision was possible with a single-code generic scan total.
A SaaS conference booth. One QR code on the booth backdrop, a different one on the giveaway swag, a third in the printed one-pager. Same destination — a demo signup form — but distinct UTMs. After the conference: the swag code outperformed both others, with 3x scan volume and a higher demo-signup conversion rate. The team learned the booth backdrop QR was too far for attendees to bother scanning. Next conference: bigger codes at eye level, more swag QRs.
A restaurant promo. Static menu QR code (unchanged, points to the menu) plus a dynamic campaign QR code on the table tents for a limited-time dish. Track the promo code separately. After the promo ends, edit the dynamic code to point at a follow-up offer — no reprinting tent cards.
A few traps that show up over and over in QR campaign data:
If you want to run the four-step setup on a real campaign right now:
QR campaign tracking isn't supposed to be expensive. The dashboards, the UTM tagging, the multi-code attribution — all of that should work on a free plan, because none of it is computationally expensive. If you're paying for it, you're paying for someone else's pricing-page math, not the feature.
For the next level — connecting QR scans to revenue in your CRM — see our free QR code tracking guide and the free QR code analytics breakdown.
Get notified when we publish new articles about IT solutions, tech support, web development, and industry best practices.