UTM naming conventions for ecommerce campaigns

Analytics & measurement
Core

For where this sits in the wider ecommerce marketing technology stack, see the index. This page is about tagging and naming, not the tool that reads the tags.

What does it do?

A UTM parameter is a tag added to a link. It tells analytics tools where a visit came from.

The three that matter most are utm_source (where: a platform or site), utm_medium (how: email, paid social, and so on) and utm_campaign (which campaign).

Values are case-sensitive, so utm_source=google and utm_source=Google are different values1. Missing UTM parameters result in "(not set)" values in reporting1.

What should a UTM naming convention include?

Google's own best-practice list is a good skeleton1:

  • Source. One value per platform, such as fb for Facebook and insta for Instagram.
  • Medium. One value per channel, such as paid_social or organic_search.
  • Campaign. One name that matches the exact campaign name in the ad platform, so one effort does not split into several rows.
  • Case. Lowercase as standard practice.
  • Dynamic values. Where a platform supports dynamic parameters, use them to avoid typing errors.

Our view: write the whole rule on one page.

Reports built on these tags decide how attribution looks. Attribution assigns credit for a purchase to the clicks and touchpoints before it. If the tags are inconsistent, the credit goes to the wrong rows. A session in GA4 is a period of user activity, and the traffic source on it comes from these tags or from auto-tagging.

Auto-tagging. Google Ads can tag clicks for you. Google's help says auto-tagging adds a parameter called GCLID (Google Click Identifier) to the URL after someone clicks your ad, and that it is on by default for new accounts2. If a link carries both, Google Analytics uses the auto-tagged values for source, medium and other traffic-classification dimensions3. Google Ads Help adds that in GA4 auto-tagging is prioritised over manual tagging, with no override option2. Where the GCLID cannot be used as intended and any UTM parameter is present, Google Analytics takes all cross-channel traffic-source values from the UTM parameters alone3.

Why do e-commerce brands use it?

Because every channel report depends on it. If emails, social posts, influencers and partner links arrive with random names, the channel report is unreadable.

It is also one of the cheaper tracking fixes: no code, no developer, no new tool.

How do we implement it?

1

Write the rule

One page: values for source, medium and campaign, in which case, with which separators. Three simple parameters, used every time.

2

Decide per channel

Choose auto-tagging or manual tags for each channel, not both. Tag where traffic enters, not on internal links.

3

Apply it everywhere

Every link, including emails and influencer briefs. Someone on your team owns the rule, and new people and agencies use it.

4

Check the report

Look regularly for stray values and "(not set)".

When should you not use it?

Do not rely on manual source and medium for Google Ads links with auto-tagging on: GA4 prioritises auto-tagging2.

Do not tag internal links.

Do not build a convention nobody will follow. Our view: three simple parameters used every time beat ten fields used sometimes.

What does it cost in effort?

No figures. The effort is:

  • Agreeing the rule. One short document: which values for source, medium and campaign, in which case, with which separators. Keep it in one place everyone can open.
  • Applying it. Every link, every time, including the ones in emails and influencer briefs.
  • Checking. Look at the channel report regularly for stray values and "(not set)".
  • Teaching. New team members and agencies must use the same rule.

Pitfalls

  • Case differences

    Google treats "Meta" and "meta", or "SpringSale" and "Spring_Sale", as distinct values1. Add "FB" from another colleague and one channel becomes three rows.

  • Missing parameters

    Leave one out and the report shows "(not set)"1.

  • Tagging links inside your own site

    Our view: internal links with UTM tags can overwrite the real source of a visit. Tag where the traffic enters, not where it moves.

  • Mixing auto-tagging and manual tags

    On a link with both, GA4 uses the auto-tagged values for source and medium3. Decide one approach per channel.

  • Free-text campaign names

    Names like "summer_final_v2" mean nothing a few months later. Our view: put a date or an ID in the name.

  • Treating tagged traffic as proof

    A tag records where a visit came from. It does not show whether the ad caused the sale.

Our take: Core

In our view, UTM naming and auto-tagging are Core. That is our rating, not a market fact.

Our reasoning: Google tells you to always use the three main parameters and to keep a strict, case-sensitive naming convention1, and every channel analysis downstream relies on them. This is a foundation, not an option.

Core does not mean complete. UTM tags tell you where a click came from. They do not tell you whether the ad caused the order. For that, see data-driven attribution for how Google models paths, and tests for cause.

FAQ

A rider in a red cape and bicorne hat on a rearing yellow plush horse, after David's Napoleon Crossing the Alps

What are the main UTM parameters?

utm_source, utm_medium and utm_campaign. Google's Analytics Help says you should always use all three1.

Are UTM values case-sensitive in GA4?

Yes. Google says utm_source=google is different from utm_source=Google, and recommends lowercase as standard practice1.

What does "(not set)" mean in a campaign report?

GA4 had no value for that field. Google's help says missing parameters appear as "(not set)"1.

What is auto-tagging?

Google Ads adds a click identifier (GCLID) to the URL after an ad click2. Google says it is needed, among other things, to import Google Ads campaign and cost data into Google Analytics2.

Auto-tagging vs UTM: which one does GA4 use?

Auto-tagging, when a link carries both: Google Analytics uses the auto-tagged values for source and medium3. If the GCLID cannot be used as intended, any UTM present supplies all traffic-source values, so Google recommends setting all relevant UTM parameters3.

Who should own the naming rule?

Someone on your team, written down in one place. If you want help setting it up, see our analytics and tracking service.

Let’s find what’s actually working.

Next step. Want a second pair of eyes on your tagging? Talk to us about your setup.