Free tool

Free UTM Builder for QR Campaigns

Build a properly tagged campaign URL and turn it into a QR code in the same step, so a printed code shows up in your analytics as something other than direct traffic.

  • Free, no sign-up
  • Runs in your browser

Preview

Real, scannable QR, test it before you print.

Make it editable & trackable →

What this tool does

A scan arrives at your site with no referrer, because a camera is not a website. Untagged, every printed code in every city collapses into one undifferentiated line in your analytics. Tagging is the only thing that separates the poster from the packaging.

At a glance

Builds A tagged URL with utm_source, utm_medium, utm_campaign, utm_term and utm_content — and its QR code
Casing Everything is lower-cased. Analytics tools treat Print and print as two separate sources
Where it runs In your browser. The URL is never sent anywhere
Cost Free, no limits on how many you make
Sign-up None. No account, no email address
A desk with a laptop, a notebook and a printed sheet of QR codes beside a coffee cup.
A campaign is a link, a tag and a code. Get the tag right before the code is printed.

How it works

1

Start from your landing URL

Paste the page the scan should land on. Existing query parameters are preserved rather than overwritten.

2

Fill in source, medium and campaign

Source is where it was printed, medium is "qr", campaign is the thing you are running. Term and content are optional and only useful if you will actually read them.

3

Take the URL, or the code

Copy the tagged link, or generate the QR code for it directly and download it.

Good to know

  • Everything is lower-cased as you type. Analytics platforms treat Poster and poster as two different sources, and a mixed-case campaign silently splits its own numbers in half.
  • Use one medium value for every printed code — "qr" — and vary the source. Splitting on medium makes it impossible to see all your offline scans as one number.
  • Tags make the URL longer, which makes the code denser and the required print size larger. Keep the values short: "aug-menu" beats "august-menu-campaign-final".
  • The tags are visible in the address bar after the scan. Do not put anything in them you would not want a customer to read.

Need an editable, trackable QR?

A dynamic Qrindo code keeps the same printed image but lets you re-point it any time and tracks every scan, geo, device, and live.

Frequently asked questions

Why does a QR scan show as direct traffic?

Because there is no referring page. The camera opens the URL cold, so unless the URL itself carries campaign tags, analytics has nothing to attribute the visit to and files it as direct.

What should utm_medium be for a printed code?

Use "qr" consistently, and put the physical placement in utm_source — poster, menu, packaging, receipt. That way one filter shows every offline scan, and the source breaks it down by where it was printed.

Do UTM tags work with a dynamic QR code too?

Yes, and better — the redirect forwards the tags to the destination, so you get the platform’s attribution and the scan analytics from the same code, without the tags making the printed image denser.

Which UTM parameters do I actually need?

Source, medium and campaign. Those three are what every analytics tool groups by, and the other two only earn their place when you are splitting one campaign across several creatives or keywords. More tags is not better reporting.

What should utm_medium be for a printed QR code?

Pick one word and use it everywhere: qr is the common choice, print if you want to group all offline material together. What matters far more than the word is that you never write it two different ways.

Do the UTM tags stay attached through a redirect?

They do through a well-behaved one — a Qrindo dynamic code forwards the query string to the destination. Some shorteners and some site-level redirects strip it, so test the whole path once before printing thousands of codes.

Still not sure about something? Read the full FAQ →