DailyMarketingMagic

Tracking Campaigns with UTM Links

Updated 26 September 2026 · 6 min read

When someone arrives at your website, you often cannot tell whether they came from a newsletter, a QR code on a flyer, or a social bio unless you label the link. UTM parameters are short tags added to a URL so analytics tools can group those visits. They are not magic and they do not replace a clear offer. They do stop you from guessing. This guide explains the parameters, naming conventions, how to build links, how to read results, and mistakes that scramble the data.

What UTM parameters are

UTM stands for Urchin Tracking Module, a leftover name from older analytics software. In practice, you append query parameters to a normal URL:

https://www.example.com/booking/?utm_source=newsletter&utm_medium=email&utm_campaign=2026-03-hours

The page still loads as usual. The extra pieces are for your reports. Common parameters:

  • utm_source: which site or sender (newsletter, instagram, google, flyer-mall).
  • utm_medium: the channel type (email, social, organic, qr, cpc if you run paid clicks).
  • utm_campaign: the specific effort (2026-ramadan-hours, spring-menu, webinar-may).
  • utm_content (optional): which version of a link, such as header-button vs footer-text.
  • utm_term (optional): historically for search keywords; most small businesses can skip it.

You need source, medium, and campaign for the link to be useful. Content is worth adding when two links in the same email would otherwise look identical.

UTMs are for links you control that land on a site you measure. They are not for tagging other people’s domains, and they do not track people who never click (a phone call from a print ad needs a unique phone number or a simple “mention the flyer” line instead).

Source, medium, and campaign conventions

Pick a vocabulary and write it down. Mixed spellings split one campaign into many rows (“Email” vs “email” vs “e-mail”). A simple convention:

Field Rule Examples
source lowercase, no spaces, the origin newsletter, instagram, google, whatsapp, event-badge
medium a short type from a fixed list email, social, qr, print, referral
campaign date plus slug 2026-03-hours, 2026-q2-workshop
content which link on the piece hero, p2-button, signature

Keep the list of allowed mediums on one line in your one-page marketing plan or the content spreadsheet. If a helper invents smm one week and social the next, your report lies.

Do not put secrets in UTMs. Campaign names appear in server logs and in the browser address bar. “vip-discount-for-alia” is a bad campaign name. “spring-menu” is fine.

Building the links

Start from a clean URL: the real landing page, preferably https, with no leftover tracking from last month. Then add parameters. A spreadsheet column that concatenates the pieces is enough. Many teams use a form-style builder; whatever you use, save the final URL next to the content row so you paste the same link everywhere for that campaign.

Rules that prevent broken links:

  • If the URL already has a ?, add UTMs with &, not a second ?.
  • Use UTF-8 and encode spaces as %20 or, better, do not use spaces.
  • Do not wrap UTMs in a link shortener until you have tested the long URL. If you shorten, still keep the long form in your sheet.
  • Test on your phone. Open the link, confirm the page, confirm the address bar still shows the tags (unless a redirect strips them — see mistakes below).

QR codes should contain the full tagged URL. Print a test code and scan it before you send a file to the printer. One untagged batch of flyers cannot be fixed later.

For email, tag every main call to action. If you also mention the same page in email newsletter basics style issues each month, change utm_campaign per send so March and April do not merge.

Naming rules that stay readable

Humans have to type these, so keep them boring:

  1. Lowercase only.
  2. Hyphens, not underscores mixed with hyphens (pick one; hyphens are easier to read).
  3. Dates as YYYY-MM or YYYY-MM-DD, not “march.”
  4. No personal names, no discount codes, no internal joke spellings.
  5. Campaign names that still make sense in a year (“rebrand” is vague; “2026-05-new-site” is not).

Create a living glossary tab: source list, medium list, and recent campaigns. When someone asks “what do we use for the mall stand?”, the sheet answers utm_source=mall-stand&utm_medium=qr.

Reading results in analytics

In a typical web analytics tool, including Google Analytics if you use it, UTM values show up as session source, medium, and campaign (names vary by product). Look at:

  • Sessions or users by campaign, to see which effort sent people.
  • Landing page, to confirm they arrived where you intended.
  • Conversions you actually configured (form submit, click to call on mobile, a thank-you page).

If you have not defined a conversion, you will only see traffic. That is still useful — a QR code that nobody scans is information — but it will not prove sales. Pair numbers with offline notes: “twelve people mentioned the flyer.” Analytics will not hear that.

Compare campaigns of the same type. A monthly newsletter versus a one-day event will look different. Do not crown a winner across unlike efforts. Watch for tagged traffic that bounces immediately: the landing page may not match the promise, which is a message problem, not a tagging problem. Headlines and offers still matter; see writing headlines that get read.

Give campaigns a week or two unless the event is a single day. Checking hourly trains you to chase noise.

Common mistakes

  • Tagging internal links. UTMs on your own menu, from your homepage to /booking, overwrite the original source. People who came from email then click around may look like they came from “website.” Never tag links that stay on your own site except in rare, documented tests.
  • Redirects that drop query strings. A http to https jump or a domain change that does not keep parameters will silently untag the visit. Test the full chain.
  • Inconsistent casing and synonyms. Instagram, IG, and insta are three sources.
  • Using UTM on paid platforms that already send click IDs without a plan. You can still use campaign names, but do not create two competing systems without writing down which report you trust.
  • Tagging the homepage for every campaign when a dedicated landing paragraph would convert better. The tag does not fix a vague page.
  • Sharing tagged links in public posts that get copied. Sometimes that is fine (you want the credit). If a partner will paste your link into their own bio, agree on a source name for them.
  • PII in the query string. No emails, no phone numbers, no invoice IDs in UTMs.

Another quiet error: launching five campaigns in a week. You will not know what worked. Tag fewer, clearer efforts that match the two channels on your plan.

A small workflow

For each public link you care about:

  1. Write source, medium, campaign, and optional content in the sheet first.
  2. Build the URL and click it on desktop and phone.
  3. Confirm the analytics real-time or debug view sees the tags (if you have that view).
  4. Paste only the tested URL into email, QR, or bio.
  5. After the campaign, export or screenshot the campaign row and note the business outcome in one sentence.

That last sentence is the point. “Workshop QR: 40 scans, 6 form fills, 2 bookings” is a story you can plan from. “We were very active on social” is not.

Checklist

  • A written glossary of sources and mediums, all lowercase.
  • Every campaign has a date-based name and a real landing page.
  • No UTMs on internal site navigation.
  • QR and print links tested by scanning, not only by eye.
  • Monthly, one note per campaign: traffic plus a business outcome.

Add tags to the next newsletter and the next flyer only. Do not retrofit a year of old posts. Clean data from here forward is enough to steer the next ninety days.

Related guides


General marketing information; check the rules that apply to your business and market.