What UTM tracking actually is

A UTM is a label you bolt onto a link. The name is a leftover: UTM stands for Urchin Tracking Module, after Urchin, the analytics company Google bought in 2005 to build what became Google Analytics. The name stuck; the mechanism is dull and reliable.

Here is a tagged link: https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=june-update. Everything after the question mark is the UTM. When someone clicks it, those values ride along in the URL, and any analytics tool that knows to look for them reads the visit as "came from the June newsletter email" rather than guessing. Without the tags, an email click often lands in your reports as direct traffic, which tells you nothing.

The tags do not change the page. They are read by analytics and ignored by the page itself. Strip them off and the link still works.

The five parameters

There are five, and only the first is strictly required for the rest to be read. In practice you set the first three together, because one or two on their own make for a thin report.

  • utm_source: where the link lives. google, newsletter, linkedin. The one tag analytics needs.
  • utm_medium: the type of traffic. cpc, email, social. This is what lets you see all paid clicks, or all email, in one line.
  • utm_campaign: the campaign name, so every link in one push reports together. spring-sale.
  • utm_content: optional. Separates two links to the same page in the same campaign, like a header button versus a footer one.
  • utm_term: optional, mostly a paid-search habit, for recording the keyword you bid on.

Building one by hand is fiddly and easy to fat-finger. Our free UTM builder assembles the link as you type and escapes the values correctly, so a campaign name with a space does not quietly break the tag.

How to build a tagged link

Start with the destination URL, add a question mark, then add each tag as name=value, joined by ampersands. Order does not matter. Two rules keep the data clean:

  • Keep values lowercase and consistent. UTM values are case-sensitive, so Google and google become two separate sources in your reports. This is the single most common way UTM data turns into a mess, and it is entirely self-inflicted.
  • Avoid spaces. A space in a value gets encoded as %20 and reads badly. Use a hyphen or underscore instead, and pick one. The longer version of this lives in UTM naming conventions.

Where UTMs stop

UTMs are good at one job: labelling a click so analytics can group it. They are not good at telling you who the person was or whether they ever became a customer. The tag lives in the URL, and the moment the visitor navigates to a second page, or leaves and comes back tomorrow, it is gone from the address bar. Your analytics keeps the session-level record, but your CRM usually does not, which is why a tidy utm_source=google / utm_medium=cpc in analytics so often arrives in the CRM as source: Web.

That gap, between a tagged click and a named, paying customer, is the thing lead source tracking exists to close. Running Google Ads? You may not even need to tag those links by hand: Google Ads and UTMs explains why, and Google Ads attribution covers bridging the same click-to-customer gap for paid search.