What Is utm_id, and When Should You Use It?

utm_id identifies a campaign so analytics can join it to cost data. Here's how it differs from the other UTM parameters — and why an arbitrary ID is worse.

Rebekah Garner5 min readExplainer
Railroad track segments in a chaotic crisscross beside straight parallel lines

utm_id is a UTM parameter that carries an identifier for a specific campaign, rather than describing where the traffic came from. The other parameters are descriptive. utm_source says which property sent the visit; utm_medium says what kind of channel it was. utm_id says which campaign this is, as a key.

That is what makes it useful and what makes it dangerous. A utm_id only pays off if the same ID means the same campaign everywhere, forever, and exists in a system someone can look it up in. An arbitrary ID typed into a spreadsheet is worse than no ID at all, because it looks like a key and joins to nothing.

What is utm_id?

A UTM parameter carrying an identifier for a specific campaign.

It appends to a tracking URL like any other UTM value:

https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_id=SPR26-0412

The value carries no meaning to the analytics tool. It is a lookup key. Everything useful happens when something on the other side can resolve SPR26-0412 to a campaign record: budget, owner, region, agency, creative brief.

How it differs from the other UTM parameters

The others describe; this one identifies.

ParameterAnswersKind of valueReusable across campaigns?
utm_sourceWhere did it come from?DescriptiveYes — many campaigns share newsletter
utm_mediumWhat channel type?DescriptiveYes — many share email
utm_campaignWhat is this campaign called?Descriptive labelSometimes, and that is the problem
utm_termWhich paid keyword?DescriptiveYes
utm_contentWhich creative variant?DescriptiveYes
utm_idWhich campaign is this, exactly?Identifier (a key)No — it must be unique

utm_campaign is the one people confuse it with. A campaign name is written by a person, can be spelled four ways by four teams, and two campaigns can end up sharing one. An ID is generated, unique and stable. The name is for humans reading a report. The ID is for systems performing a join.

The full UTM guide: Read: UTM parameters — all five descriptive parameters and how to govern them.

What it is actually for

Joining campaign traffic to cost and campaign-management records.

The five descriptive parameters can tell you that paid social delivered 4,000 sessions. They cannot tell you what those sessions cost or who owned the campaign, because none of that fits in a utm_source.

An ID solves that by reference rather than by cramming. Instead of stuffing region, business unit and funding source into utm_campaign until the value runs to 120 characters, you pass one key and hold the rest in a system built for it. Google Analytics supports exactly this pattern through campaign data import, where the imported table’s key is the value you set in utm_id (Google Analytics Help, “Collect campaign data with custom URLs”, accessed 2026-09-11).

The payoff is dimensional reporting the five parameters cannot produce — cost per acquisition by business unit, performance by agency, spend by funding source — including on affiliate, email and social, which have no native platform integration to supply it (Funnel.io, “What’s a UTM ID and why should marketers use it?”, accessed 2026-09-11).

Bristol Myers Squibb’s digital media operations team described what that unlocks in practice.

“Claravine’s CID feature has opened the door for BMS to have seemingly infinite values behind every tracking code” — Tim Scales, Digital Media Operations Consultant, Bristol Myers Squibb

The phrase worth noticing is “behind every tracking code.” The values are not in the URL. One key travels in the link and the detail sits behind it.

Where the ID should come from

A generated, unique, stable identifier from a system of record, never typed by hand.

A utm_id nobody can look up is a promise the report cannot keep.

Rob Allanach · Sr. Solutions Architect, Claravine

Three properties make an ID worth passing.

  • Generated, not chosen. If a person invents the value at tagging time, two people will invent two values for one campaign, and one value for two campaigns. Convention drift in tracking parameters is the problem we hear most often from campaign teams, across 81 enterprise accounts, and an ID field is the worst place for it to land: a wrong key fails silently.
  • Unique. Reusing an ID across campaigns merges their performance into one row, which is harder to detect than losing the data outright.
  • Stable. It has to still resolve in twelve months, when someone asks what last year’s Q3 push returned.

In practice the ID is issued by whatever already holds campaign records: the campaign-management platform, the finance system, or a governed taxonomy that mints them. Governing taxonomy and structured picklists is one of the most common jobs enterprise teams bring us, across 90 accounts, and ID generation is the part most often left manual after everything else is automated.

One campaign identity, everywhereIDs generated from a governed taxonomy, not a spreadsheet.Explore campaign tracking

When not to use it

If you have no system that can resolve the ID, the parameter adds risk without benefit.

utm_id is not a default. It is worth adopting when three things are true: a system of record issues your campaign IDs, you can import that record into your analytics platform, and you need dimensions the five descriptive parameters cannot carry.

If any of those is missing, utm_id gives you a field that looks authoritative and resolves to nothing. Teams report against it anyway, because it is present. A parameter that quietly returns the wrong answer is worse than an absent one.

utm_id in GA4 and in Google Ads

GA4 reads it into its own dimension; Google Ads can auto-populate it.

In GA4, utm_id maps to the Campaign ID dimension and is the key campaign data import joins on. Set it, import a matching table, and those columns become reportable alongside your traffic.

In Google Ads the ID can be populated automatically rather than by hand, removing the largest source of error where it matters most (CampTag, “How to use UTM_ID in Google Ad Campaigns”, accessed 2026-09-11). Auto-population is the closest thing to a free win here. The platform generates the ID, so it is unique and consistent without anyone remembering to make it so.

Frequently asked questions

What does UTM stand for?

Urchin Tracking Module, after the analytics product Google acquired.

Is a UTM the same as a URL?

No. UTM parameters are appended to a URL.

How is utm_id different from utm_campaign?

utm_campaign names the campaign; utm_id identifies it as a key you can join on.

Do I need utm_id?

Only if you have a system that can resolve the ID to a campaign record.

Where should the ID come from?

A system of record that generates unique, stable IDs, never typed by hand.

Sources

Outbound citations, named and dated:


Related Posts

Free guideHow to Build a Marketing TaxonomyA 17-page guide with example marketing taxonomies — the critical steps in building one, the role of metadata in your marketing ecosystem, the questions to settle for an enterprise-wide taxonomy, and examples from a range of industries.Get the guide
Upright bolts giving way to a solid enclosure and an open wireframe lattice

Data Democratization: Wider Access Without Worse Data

Open bins scattered loosely beside bins packed tightly in a dense grid

Data Silos: What They Are, and the One Integration Cannot Fix

Scattered cube clusters beside a uniform chevron pattern of blocks

Data-Driven Content: What Has to Be Tagged Before the Data Means Anything