Analytics and Tracking

utm_term and utm_content

Also called utm_term, utm_content, term

The two optional UTM parameters: utm_term records the keyword or audience behind a click, utm_content tells apart ads or links in the same campaign.

Quick facts: utm_term and utm_content

Category
Analytics and Tracking
Also called
utm_term, utm_content, term
Level
Beginner
Affects
GA4 campaign reports, creative and audience comparison, A/B test analysis
Where to see it
GA4 explorations, a UTM link builder, ad platform URL parameter settings
In this article4
  1. How utm_term and utm_content work
  2. Why it matters
  3. Common mistakes
  4. How to act on it

utm_term and utm_content are the two optional UTM parameters you can add to a tracked link. utm_term records the keyword or targeting that produced the click, and utm_content tells apart two or more links in the same campaign that lead to the same page, such as two versions of an ad or two buttons in one email.

How utm_term and utm_content work

UTM parameters are short labels added to the end of a link after a question mark. Three of them carry the essential information: utm_source says where the visit came from, utm_medium says what kind of channel it was, and utm_campaign names the campaign. The two optional parameters add detail underneath:

  • utm_term was designed for paid search keywords, so a click on an ad triggered by “emergency plumber croydon” could carry that phrase. Many marketers now also use it for the audience or targeting in paid social, such as utm_term=past-customers or utm_term=interest-gardening.
  • utm_content identifies the creative or the exact link. Two Instagram ads in one campaign might carry utm_content=reel-15s and utm_content=carousel-reviews, and a newsletter might use utm_content=header-button and utm_content=footer-link.

A complete link might look like this: https://www.example.co.uk/winter-sale/?utm_source=facebook&utm_medium=paid-social&utm_campaign=winter-sale-2026&utm_term=past-customers&utm_content=reel-15s

GA4 reads the values when the session starts. At the time of writing (October 2026), utm_term appears in GA4 as the manual term dimension and utm_content as the manual ad content dimension, each with session-scoped and first-user versions you can use in explorations. Neither affects channel grouping, which comes from source and medium, so an error here will not move visits into the wrong channel. It will simply make the detail unusable.

Some ad platforms can fill these values for you. Microsoft Advertising supports a keyword placeholder in its tracking template, and Meta lets you insert the ad set or ad name dynamically. Google Ads is a special case: with auto-tagging switched on, GA4 takes Google Ads click detail from the click identifier, so manual UTMs on Google Ads links are usually unnecessary.

Why it matters

Ad platforms report clicks and their own view of conversions. They do not tell you how those visitors behaved on your site compared with everyone else. utm_content lets you answer that question in GA4 for each creative, and utm_term does the same for each keyword or audience.

For a small UK business running Facebook ads and a monthly email, that is the difference between “the campaign brought 400 visits” and “the video ad brought visitors who stayed and enquired, and the static image brought visitors who left within seconds”. The second answer tells you where to spend next month’s budget. Because GA4 measures everything the same way, it is also the fairest place to compare channels that each mark their own homework.

Common mistakes

  • Swapping the meanings between campaigns, so utm_content holds the creative in one campaign and the audience in another. The report then mixes two different things in one column.
  • Inconsistent case. GA4 treats Video-A and video-a as different values, which splits one ad into two rows.
  • Putting personal data in a value, such as an email address in utm_content when personalising newsletter links. Google’s terms forbid sending personally identifiable information to Analytics, and under UK GDPR you would be passing personal data to a third party with no lawful basis for it.
  • Adding UTMs to links between pages on your own site. GA4 then credits anything the visitor does after that click to your own internal campaign instead of the channel that really brought them.
  • Expecting utm_term to show organic search keywords. It only shows what you put in links, and Google does not pass organic queries to analytics; Search Console is where those live.

How to act on it

Write a short naming convention in a shared spreadsheet: lowercase, hyphens instead of spaces, and a list of allowed values. Decide once what each optional parameter means per channel, for example keyword or audience in utm_term and creative or link position in utm_content, and stick to it. Build links with a UTM link builder rather than typing them by hand, and keep the convention beside your other manual tagging rules.

Then open a GA4 exploration with session manual ad content as a dimension and your key events as metrics. If you run several paid platforms and want the tagging, naming and reporting set up properly once, it is part of how I approach PPC management.

Do and do not

Do

  • Agree one meaning for each parameter and use it in every campaign
  • Keep every value lowercase with hyphens
  • Compare creatives in GA4 using session manual ad content

Do not

  • Put email addresses or names in any UTM value
  • Tag links between pages on your own site
  • Expect utm_term to reveal organic search keywords

Questions people ask about this

Do I need utm_term and utm_content on every link?

No. Both are optional, and adding them where there is nothing to tell apart only creates clutter. Use utm_content when one campaign has more than one ad or link pointing at the same page, and utm_term when you want to compare keywords or audiences inside GA4.

Why does GA4 show (not set) for manual term?

Most sessions never carry a utm_term: organic search, direct visits, most referrals and auto-tagged Google Ads clicks all arrive without one. GA4 shows a placeholder such as (not set) for them, which is normal. Filter the report to the source or campaign you tagged before reading the values.

Can I use utm_content to A/B test ads?

Yes, as a way to compare how each version performs on your site once people arrive. The ad platform still decides who sees which version, so the split may not be even. Check whether a difference is real with the A/B test significance calculator before you act on it.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.