We just launched our Chrome extension — Get Jabble QR

UTM Parameters Explained: Track Every Link and QR Code

Add Jabble as a preferred source on Google
On this page
  1. The five UTM parameters
  2. How to build a UTM link
  3. Naming conventions that keep reports clean
  4. Ready-to-use examples by channel
  5. Tracking QR codes with UTMs
  6. Where to find UTM data in Google Analytics 4
  7. Common mistakes
  8. FAQ

You posted on Instagram, sent a newsletter, and printed flyers with a QR code. Sales went up. Which one worked? Without UTM parameters, your analytics will mostly shrug and file a lot of it under "direct". With them, every visit carries a label saying exactly where it came from.

The five UTM parameters

ParameterAnswersExample valuesUse it?
utm_sourceWhere did the visitor come from?instagram, newsletter, google, flyerAlways
utm_mediumWhat kind of channel was it?social, email, cpc, qr, printAlways
utm_campaignWhich campaign or promotion?spring_sale, product_launchAlways
utm_termWhich paid keyword?running_shoesMostly for paid search
utm_contentWhich version of the link or ad?banner_a, header_link, table_tentWhen you A/B test or have several links in one place

A simple way to remember the big three: source is the who (the specific site, list or placement), medium is the how (the type of channel), and campaign is the why (the promotion you're running).

How to build a UTM link

A UTM link is your normal URL, then a ?, then each parameter as name=value, joined with &:

https://yourshop.com/sale
  ?utm_source=newsletter
  &utm_medium=email
  &utm_campaign=spring_sale
  &utm_content=hero_button

(It's one line in practice. It's split here so it's easier to read.) If your URL already has a ?, for example /shop?category=shoes, add the UTMs with & instead: /shop?category=shoes&utm_source=….

Typing these by hand invites typos, so use a builder. Jabble's short link tool has a UTM builder built in. Enter your destination, fill in source, medium, campaign, and optionally term and content, and it creates a short, clean link like jabble.io/go/spring-ig that expands to the full UTM URL when clicked.

Naming conventions that keep reports clean

UTMs only help if they're consistent. Three months in, Facebook, facebook, fb and facebook.com will show up as four different sources unless you set rules early. Write these down and share them with anyone who builds links:

  • Always lowercase. UTM values are case-sensitive in Google Analytics.
  • Pick one separator, either underscores (spring_sale) or hyphens (spring-sale), and never use spaces.
  • Use a fixed list of mediums. Stick to values Google Analytics recognises for its default channel groups where you can: email, social, cpc, display, affiliate, referral. Add your own, like qr or print, deliberately and document them.
  • Name campaigns so they sort well, for example 2026_10_spring_sale or spring_sale_2026, so a year of campaigns stays easy to read.
  • Keep a log. A shared spreadsheet, or a link tool that saves every link you've built, stops people inventing new variations.

Ready-to-use examples by channel

Where the link goesutm_sourceutm_mediumutm_campaignutm_content
Instagram bioinstagramsocialevergreenbio_link
Instagram storyinstagramsocialspring_salestory_day1
Newsletter buttonnewsletteremailspring_salehero_button
Flyer QR codeflyerqrspring_saledowntown
Business card QR codebusiness_cardqrnetworking
Partner blog mentionpartnerblogreferralspring_sale

Tracking QR codes with UTMs

Offline marketing is where UTMs are most useful, because analytics can't otherwise tell that a visit came from a poster. Without UTMs, a QR scan usually lands in "direct" traffic, mixed in with people who typed your address or used a bookmark.

To track a printed QR code:

  1. Build a UTM link with utm_medium=qr and a source describing the printed item (flyer, poster, packaging).
  2. Shorten it. A long URL with five parameters makes a dense QR code with lots of tiny squares, which is harder to scan from a distance or when printed small. A short link keeps the code simple and scannable.
  3. Use a different utm_content for each location or design. For example, use window and counter to see which placement performs better.
  4. Generate the QR code from the short link. In Jabble you can do this straight from your links list, or choose the Short Link tab in the QR code generator.

A short link has one more benefit: if the landing page changes, you can update where the link points without reprinting the QR code.

Where to find UTM data in Google Analytics 4

  • Reports › Acquisition › Traffic acquisition shows sessions by Session source / medium. Look for rows like flyer / qr.
  • Change the primary dimension to Session campaign to compare campaigns side by side.
  • For utm_content and utm_term, add Session manual ad content or Session manual term as a secondary dimension, or build an Explore report.
  • Data can take up to a day or two to appear in standard reports. Use Realtime to confirm a new link is tagging correctly. Click it yourself and check that it shows up.

Common mistakes

  • Adding UTMs to internal links. Never tag links from one page of your own site to another. It can restart the visitor's session and overwrite the real source, such as the Google search that actually brought them in.
  • Mixed capitalisation and spelling. Email vs email vs e-mail splits one channel into three rows.
  • Putting personal data in UTMs. Don't add email addresses or names to UTM values. They end up stored in your analytics, and Google's terms prohibit sending personally identifiable information.
  • Tagging everything as the campaign name. If source and medium are vague (utm_source=promo), you lose the channel comparison that makes UTMs useful.
  • Not testing. A typo like utm_soruce is silently ignored. Click every link once and check Realtime.

FAQ

Do UTM parameters affect SEO?

No, not when used on links you share in campaigns. Search engines generally treat the UTM version as a duplicate of the main page, especially when the page has a canonical tag. Don't add UTMs to your own internal links, though.

Are UTM parameters case-sensitive?

Yes. Google Analytics treats Facebook, facebook and FACEBOOK as three different sources. Use lowercase for every value to keep reports clean.

Which UTM parameters are required?

utm_source, utm_medium and utm_campaign are the ones you should always set. utm_term and utm_content are optional and are used for keywords and for telling apart different versions of the same ad or link.

How do I track QR code scans with UTM parameters?

Add UTM parameters to the destination URL, for example utm_source=flyer&utm_medium=qr&utm_campaign=spring_sale, then put that link (ideally via a short link) into the QR code. Visits from scans then appear under that source and medium in your analytics.

Jabble is a small, privacy-first toolkit for QR codes, short links and QR menus.