Skip to content
tinbo
Blog

Guides3 min read

UTM parameters: a field guide for people who share links

Five small tags decide whether a visit shows up as "newsletter, October launch" or as "direct, no idea". What each UTM parameter is for, the naming rules that keep reports clean, and where short links fit in.

tinbo team

In this post
  1. The five parameters
  2. Naming rules that keep reports readable
  3. Where short links come in
  4. Doing it in tinbo

When someone lands on your site, your analytics tries to work out where they came from. Often it can't: messaging apps, email clients and mobile apps usually don't say, so the visit is filed under "direct" — the analytics way of saying "no idea".

UTM parameters fix that. They are tags you add to the end of a URL, and analytics tools such as Google Analytics, Plausible and Matomo read them to attribute the visit to the right source and campaign:

https://example.com/spring-sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring-2026

The page is the same with or without them. They are notes for your analytics, nothing more.

The five parameters

ParameterWhat it answersExample
utm_sourceWho sent the visitor?newsletter, instagram, partner-blog
utm_mediumWhat kind of channel was it?email, social, cpc, affiliate
utm_campaignWhich push was it part of?spring-2026, black-friday
utm_contentWhich link or version, when there are several?header-button, footer-link
utm_termWhich paid keyword?link-shortener

Source, medium and campaign are the three you will use on almost every link. Content earns its place when one email or page carries two links to the same destination and you want to know which one people used. Term comes from paid search and rarely matters elsewhere. Google Analytics also understands utm_id and a few newer tags; you can ignore them until a tool you use asks for them.

Naming rules that keep reports readable

UTM values are free text, and that is the trap. Analytics tools treat every spelling as a separate value, so a campaign tagged by three people over three months turns into a report with Newsletter, newsletter and news-letter on three different rows.

A few more that save cleanup later:

  • Keep medium boring. Google Analytics sorts traffic into channels like Email, Organic Social and Paid Search mostly by utm_medium. Stick to the usual values — email, social, cpc, referral, affiliate — or your visits end up in "Unassigned".
  • Make source specific. instagram beats social; that is what medium is for.
  • Put a date in campaigns that repeat. webinar-2026-10 is still clear next year; webinar is not.
  • Never tag your own internal links. A UTM on a link from your homepage to your pricing page tells analytics the visitor arrived from a new campaign, which overwrites where they really came from.

A fully tagged URL is long. That is fine inside a button, but it gets in the way anywhere people see or type the link: an SMS, a printed flyer, a podcast description, a slide.

A short link hides the tags without losing them. The visitor sees acme.tnb.li/spring; your analytics sees the full set of parameters on the destination. It also means you can fix a typo in a campaign name after the link has gone out — the short link stays the same, only the destination changes.

The pattern that works best: one short link per channel, each pointing at the same page with a different utm_source.

acme.tnb.li/spring-mail   →  …/spring-sale?utm_source=newsletter&utm_medium=email
acme.tnb.li/spring-ig     →  …/spring-sale?utm_source=instagram&utm_medium=social
acme.tnb.li/spring-print  →  …/spring-sale?utm_source=flyer&utm_medium=print

Now both sides know the channel: your analytics through the tags, and the link's own click counts through the separate links. If the two disagree, our post on why link clicks don't match your analytics explains where the difference comes from.

Doing it in tinbo

tinbo keeps the tags where they belong: on the destination URL. The UTM builder sits next to the link and edits the destination's query string as you type, so what you see is exactly what visitors are sent to.

  • Templates. Save a set of parameters — say, utm_source=newsletter&utm_medium=email — and apply it to the next link in one pick. A template is copied onto the link, so editing the template later never changes links you have already shared.
  • Forwarding. Turn on Forward query params to the destination in a link's advanced settings, and parameters added to the short link itself, such as acme.tnb.li/spring?utm_source=partner, are added to the destination's own. Handy when a partner wants to tag the link on their side — just leave that parameter off the destination, or the visit arrives carrying it twice.

Tag consistently, keep the values boring, and give every channel its own link. The reports take care of themselves.

Keep reading

Your first link is one minute away

Sign up, get you.tnb.li, paste a URL. Free to use, no card, no time limit.