ARDOTOOLS · GUIDES

UTM parameters explained: how to tag links for GA4

A UTM tag is a label stuck on the end of a link, so your analytics can say which email, post or ad sent a visit. Three of them do nearly all the work: source, medium and campaign. Getting the medium wrong is the most common reason traffic ends up in the wrong report.

Based on Google's Analytics Help pages on custom campaign URLs and on the default channel group, read on 14 October 2026. Neither page shows a last-updated date.

A printed pie chart and bar chart on a desk, with a pair of glasses and a phone showing a calculator

What a tagged link looks like

The tags go after a question mark, joined by ampersands:

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

The visitor lands on the same page as ever. Your analytics reads the three tags and files the visit under source newsletter, medium email, campaign autumn-sale.

The parameters, one by one

Google's page lists these for Analytics 4:

Google also lists utm_creative_format and utm_marketing_tactic, but says Analytics does not currently report them, so they are not worth adding yet. Its advice is to always use source, medium and campaign, and if you set any tag at all, to set the rest of the relevant ones too.

A simple way to remember it: source is who, medium is how, campaign is why. A newsletter (source) sent by email (medium) for the autumn sale (campaign).

The medium decides the channel

Analytics sorts visits into channels such as Email, Paid Search or Organic Social, and for tagged links it decides mostly from the medium. Google's channel definitions are not case-sensitive and include these values:

The paid channels need the source to match as well. A medium of cpc with a source of google counts as Paid Search, and with a social network as the source it counts as Paid Social.

Invent your own medium, such as email-newsletter, and none of those rules match. Google says a visit falls into Unassigned when no rule matches. Its page does not spell out the missing-medium case, but by its own rules a visit with no recognisable medium ends up there, unless a rule based on the source matches it first.

Why capital letters split your reports

The channel rules ignore case, but the values you type are stored as written. Google's page is explicit that utm_source=google and utm_source=Google are different, and that SpringSale and Spring_Sale count as two campaigns. One campaign then shows up as several rows and you add them up by hand.

The fix is a convention and keeping to it. A good one: all lowercase, hyphens instead of spaces, no accents, the same words every time. Write it down once, for example:

Mistakes to avoid

  1. Leaving a tag out. Google says missing parameters show as "(not set)" in reports, which is a visit you cannot attribute.
  2. Making up the medium. Use the values in the table above so the visit lands in the channel you expect.
  3. Tagging links between your own pages. A tag describes where a visitor came from, and someone already on your site did not come from anywhere new. This is common practice rather than something Google's page states, but it is how internal tags tend to muddy reports.
  4. Putting personal data in a tag. The whole link is visible in the address bar and in browser history. Never put a name or an email address in it.
  5. Renaming a campaign halfway through. The old and new names become two campaigns, and the report shows two half results.
  6. Leaving one channel untagged. If the newsletter is tagged and the social posts are not, the untagged visits land in other channels and the comparison is not fair.

Build your tagged links

The UTM Campaign Builder does the tidying for you: it lower-cases every value, turns spaces into hyphens, keeps any query string already on the link, leaves empty tags out and warns you when source, medium or campaign is blank. It also draws a QR code for the tagged link, which is handy for print, so scans arrive as their own source.

These are planning notes, not a guarantee of how your own Analytics property will report. The authority is Google's own help: custom campaign URLs and the default channel group.

Keep reading

All guides