Should You Be Using utm_id in Your Campaign URLs?

Most marketers who use UTM parameters are familiar with the usual ones:

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_content
  • utm_term

But there is another UTM parameter that gets far less attention:

utm_id

So what exactly is utm_id, and should you be using it?

For many marketers running a handful of campaigns, the answer may be not yet.

But if you manage campaigns across multiple platforms, work with large numbers of campaigns, import advertising data into Google Analytics, or need stronger campaign governance, utm_id can become very useful.

What is utm_id?

utm_id is a unique identifier for a marketing campaign.

For example:

Still managing UTM links in spreadsheets? Create cleaner tracking URLs with less manual work.
Try Free

?utm_id=cmp_1042&utm_source=linkedin&utm_medium=paid_social&utm_campaign=analytics_audit

In this URL:

  • utm_id=cmp_1042 identifies the campaign
  • utm_source=linkedin identifies where the traffic came from
  • utm_medium=paid_social describes the marketing channel
  • utm_campaign=analytics_audit gives the campaign a human-readable name

Google Analytics maps utm_id to its Campaign ID dimension.

That distinction between an ID and a name is important.

Why not just use utm_campaign?

You certainly can.

For relatively simple campaign tracking, utm_campaign may be all you need.

But campaign names have a problem:

Names change.

Suppose your team launches a campaign as:

utm_campaign=fall_promotion

Someone later decides that a more descriptive name would be:

utm_campaign=fall_2026_promotion

Then another team member uses:

utm_campaign=fall-promotion

From a human perspective, these may all refer to the same marketing initiative.

From an analytics and governance perspective, however, you now have multiple campaign values.

A campaign ID gives you a stable identifier that can remain the same even when the descriptive campaign name changes.

For example:

utm_id=cmp_1042

can continue identifying the campaign regardless of what you decide to call it.

utm_id becomes especially useful for campaign data imports

One of the strongest reasons to start using utm_id is Google Analytics campaign data import.

GA4 can combine campaign data from non-Google advertising platforms with the sessions, events, revenue, and key events already collected by Analytics.

For example, you might import:

  • Campaign cost
  • Impressions
  • Clicks

Google specifically supports Campaign ID as part of this process and recommends it, along with Campaign Name, even though those two fields are optional. Source, medium, and date are required.

This makes utm_id useful as a key for connecting the campaign a visitor clicked with campaign information coming from another system.

Imagine your advertising platform contains:

Campaign ID: meta_84729
Campaign: fall_promotion
Cost: $4,250
Clicks: 3,840

Your destination URLs could contain:

utm_id=meta_84729

Now there is a stable identifier connecting campaign activity with the corresponding campaign data.

Campaign IDs are also useful beyond GA4

There is a broader reason I like campaign IDs for organizations with mature campaign tracking.

A campaign ID can become the permanent identifier for a campaign across your marketing systems.

Think about a campaign with the ID:

cmp_1042

That ID could potentially appear in:

  • Your UTM tracking URLs
  • GA4
  • Your campaign management system
  • Your advertising data
  • Your data warehouse
  • Your CRM
  • Internal campaign documentation

The campaign name is for humans.

The campaign ID is for systems.

That separation becomes increasingly valuable as your marketing data infrastructure grows.

Should every marketer use utm_id?

Not necessarily.

If you run a small number of campaigns and primarily want to know:

Where did my traffic come from?

then a well-managed combination of utm_source, utm_medium, and utm_campaign may be perfectly adequate.

Adding another parameter just because it exists doesn’t necessarily improve your analytics.

But I would strongly consider utm_id if:

  • You manage hundreds or thousands of campaigns
  • Multiple people create campaign URLs
  • Campaign names frequently change
  • You advertise across many platforms
  • You import campaign or advertising data into GA4
  • You combine GA4 data with advertising data in BigQuery
  • You want a consistent campaign identifier across systems

In those situations, utm_id stops being an extra UTM parameter and starts becoming part of your campaign-data architecture.

What should you use as your utm_id?

There is no universal naming format that every organization needs to follow.

The important characteristics are that the ID should be:

Unique. Two different campaigns shouldn’t accidentally receive the same identifier.

Stable. Don’t change the ID because someone changes the campaign’s display name.

Consistent. Establish one method for generating IDs rather than letting every marketer invent their own.

System-friendly. Avoid turning the ID itself into another complicated campaign name.

Something simple such as:

cmp_1042

can work perfectly well.

You could also use an existing campaign ID from another marketing system when that makes sense for your organization.

utm_id does not replace utm_campaign

This is an important distinction.

Think of them as serving different purposes.

utm_campaign answers:

What is this campaign called?

utm_id answers:

Which campaign is this?

A descriptive campaign name is useful when a marketer looks at a GA4 report.

A stable campaign ID is useful when systems need to reliably identify and connect campaign records.

For more sophisticated marketing organizations, having both can be valuable.

The bigger issue is campaign governance

Whether you decide to use utm_id or not, the underlying problem is the same.

UTM tracking becomes increasingly difficult to manage when everyone creates campaign parameters independently.

You eventually get things like:

facebook

Facebook

fb

facebook.com

or campaign names that change depending on who created the URL.

Adding utm_id won’t fix poor campaign governance by itself.

You still need consistent rules for creating, naming, and managing your campaign parameters.

That’s also why tools such as UTM Manager become useful as campaign programs grow. Instead of treating every tagged URL as an isolated URL, you can manage campaign parameters and naming conventions centrally.

Bottom line

If you’re running a relatively simple marketing program, don’t feel that every URL suddenly needs utm_id.

Get your source, medium, and campaign naming right first.

But as your campaign tracking becomes more sophisticated—particularly if you’re combining GA4 with advertising platforms, campaign data imports, BigQuery, or other marketing systems—start thinking about a permanent campaign identifier.

That’s exactly the problem utm_id is designed to solve.

And once campaign names start changing while your campaign ID stays the same, you’ll understand why having both can be useful.

FREE TOOL + EXTENSION

Still Building UTM Links in Spreadsheets?

Create clean campaign URLs faster, save templates, and standardize naming across your team.

×
UTM URL Builder
📋 Templates Required Your organization requires approved templates for all UTM links.
You’re in guest mode — build, copy, and export are available. Sign in or create an account to save and load org rules & templates.