QR Code Marketing & Strategy

UTM Parameters Explained: Build Trackable Campaign Links

A campaign URL tagged with UTM parameter pills flowing into a rising analytics chart and a QR code

UTM parameters are short tags added to the end of a URL that tell your analytics exactly where a visitor came from — which newsletter, which ad, which poster. Five standard tags (utm_source, utm_medium, utm_campaign, utm_term, utm_content) cover the whole system, and a free UTM link builder assembles them into a clean campaign URL in seconds.

Without them, analytics lumps most of your hard-won traffic into vague buckets like “direct” — which is where clicks from printed materials, emails, and messaging apps all go to become anonymous. With them, the report reads like a ledger: the spring email drove 412 visits, the lobby poster drove 89, the Instagram bio link drove 267. Same traffic, but now it has names.

What UTM Parameters Are and How They Work

A UTM-tagged URL is just your normal URL with a question mark and some labeled values appended:

https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale

The page loads exactly the same — the tags change nothing for the visitor. But when the visit lands, your analytics tool (Google Analytics 4 and virtually every alternative) reads those parameters and files the session under that source, medium, and campaign. The “UTM” name is a fossil from Urchin Tracking Module, the software Google acquired to build Analytics; the format outlived the product and became the universal convention.

The elegance of the system is that it’s entirely yours. There’s no registration and no syntax police — the values are labels you invent, which is both the power and the trap. Analytics will faithfully report whatever you type, including your typos.

The Five UTM Parameters, One by One

Three parameters do the heavy lifting; two are specialists you’ll use less often.

ParameterAnswersExample values
utm_sourceWhere exactly did they come from?newsletter, google, instagram, lobby_poster
utm_mediumWhat kind of channel is it?email, social, cpc, qr
utm_campaignWhich push is this part of?spring_sale, launch_2026
utm_termWhich paid keyword? (optional)running_shoes
utm_contentWhich variant or placement? (optional)header_button, version_b

utm_source names the specific origin — the platform, site, or physical placement the link lived on. It’s the “who sent them” field, and it’s the one parameter you should treat as mandatory on every tagged link.

utm_medium names the channel type, one level up from source. Email is a medium; your newsletter is a source within it. Keeping this distinction straight is what lets analytics roll up all social traffic, or all email traffic, into one comparable row.

utm_campaign groups links across channels under one effort. Tag the email, the ads, and the poster for your spring sale with the same campaign value, and you can read the whole campaign’s performance in a single filtered view.

utm_term carries the paid-search keyword. Outside of ad platforms it’s rarely needed — skip it unless you’re tracking keywords manually.

utm_content separates variants that share everything else: two buttons in the same email, two creatives in the same ad set, two poster positions in the same venue. When you’d otherwise wonder “which one actually got clicked?”, utm_content is the answer.

Naming Conventions That Keep Reports Clean

UTM chaos is a naming problem, not a tooling problem, and it compounds silently. Four rules prevent nearly all of it.

  • Lowercase everything. Analytics treats values as case-sensitive, so Email, email, and EMAIL land in three separate rows of the same report. Pick lowercase and never deviate.
  • Underscores instead of spaces. A space in a URL becomes an ugly %20 and invites broken variants of the same value. spring_sale stays readable and consistent.
  • Fix your vocabulary in advance. Decide once that the medium is email (not e-mail, not newsletter — that’s a source) and write your standard values down where the whole team can see them. Consistency across months is what makes year-over-year comparison possible.
  • Never tag internal links. UTM parameters on links within your own site restart the session’s attribution, overwriting the real source with your own name. Tag only links that arrive from outside — emails, ads, social profiles, print.

QRocket’s UTM link builder bakes the first two rules into the tool — it steers values to lowercase and underscores as you type — so the link that comes out follows the convention even on a rushed day.

How to Build a Campaign URL in Four Steps

  1. Paste your destination URL into the free UTM link builder — the exact page you want visitors to land on, not just your homepage.
  2. Fill in source, medium, and campaign. Add term or content only if you need them. The live preview assembles the full URL as you type, so you can sanity-check every value.
  3. Copy the finished link with one click and use it in your email, ad, or bio.
  4. Turn it into a QR code directly from the builder if the link is headed for print — one click hands the tagged URL to the QR generator, so the code and the tracking are born together.

Stop guessing where your traffic comes from — tag your next link now.Open the Free UTM Builder

UTM Parameters for QR Code Campaigns

Print is where UTM tagging pays off most, because printed materials are invisible to analytics by default. Someone scans the code on your flyer, lands on your site, and the visit reports as “direct” — indistinguishable from a typed URL. The fix is to encode a tagged link in the QR code instead of the bare URL.

The convention is simple: give scans their own medium, utm_medium=qr, and use source or content to name the physical placement — utm_source=lobby_poster, utm_source=table_tent, utm_content=window_left. Generate a separately tagged code for each placement and your report tells you which surface actually earns its ink, which is the entire game in print marketing. Our guide to tracking QR code scans goes deep on this measurement loop, and if you want redirect-level tracking on top of UTMs, static vs dynamic QR codes explains the trade-off.

One caution unique to print: the tagged URL is baked into the ink. Triple-check the values before you print, because there’s no editing a poster. Build the link, scan a test code on screen, confirm the landing page and the parameters in your analytics real-time view, then send it to the printer.

Common UTM Mistakes to Avoid

Every messy analytics account has the same handful of scars. Skip them from day one.

  • Inconsistent values. Facebook, facebook, and fb split one source into three rows. One vocabulary, written down, forever.
  • Source and medium swapped. utm_source=email next to utm_medium=newsletter inverts the hierarchy and wrecks channel rollups. Medium is the category; source is the specific origin.
  • Tagging internal links. The classic self-inflicted wound — it erases real attribution mid-session. External links only.
  • One vague campaign for everything. utm_campaign=promo across six months of unrelated pushes tells you nothing. Name campaigns specifically enough that next year’s you knows what they were.
  • Untested links in print. A typo in a URL parameter is a shrug online and a reprint bill on paper.

None of these require sophistication to avoid — just a convention and a builder that enforces it. That foundation is what makes the bigger questions — which channels to invest in, which campaigns to repeat — answerable with data instead of hunches, which is the core of any QR code marketing strategy.

Links you build today start collecting attribution on their very first click. Tag the next link you share, and this time next month you’ll know exactly what it earned.

Build a clean, trackable campaign link — and its QR code — in under a minute.Use the Free UTM Link Builder

Frequently Asked Questions

For more common questions, see our full FAQ.

What are UTM parameters?

Short tags appended to a URL — utm_source, utm_medium, utm_campaign, utm_term, and utm_content — that tell analytics tools where a visitor came from. The page loads normally; the tags simply label the visit so reports can credit the right email, ad, social post, or printed QR code.

Which UTM parameters are required?

Treat source, medium, and campaign as the working minimum — source especially, since it names the origin. Term exists mainly for paid-search keywords, and content is for telling variants apart, like two buttons in one email. Most links need only the first three.

Are UTM parameters case-sensitive?

Yes. Analytics tools treat Email and email as two different values and report them in separate rows, which quietly splits your data. The standard fix is a convention: lowercase everything, use underscores instead of spaces, and keep a written list of your standard values.

Do UTM parameters affect SEO?

Not directly — they don’t change rankings. The sensible precautions: use them on links from external channels rather than on your own internal navigation, and keep tagged URLs out of contexts search engines might index as duplicates. For normal campaign use in emails, ads, and QR codes, they’re safe.

Should I add UTM parameters to a QR code?

Yes — it’s the only way scans of printed codes show up as anything other than “direct” traffic. Use utm_medium=qr, name the physical placement in the source, and generate a separately tagged code per placement so you can compare a poster against a table tent with real numbers.

Ready to make yours?

Create a free QR code with custom colors, your logo and print-ready downloads — no sign-up.

Create a free QR code →