Skip to content
Academy
Marketing Academy · Field Work●Analytics & Attribution
CoreBuild the Asset· 45 minutes

The Governance Doc: Building a UTM Naming Convention Your Whole Team Will Actually Follow

Lenskart

Objective: Build a complete UTM naming convention spreadsheet, approved source/medium values, campaign naming pattern, and auto-tagging setup notes, that a 5-person marketing team can follow without a single ad-hoc decision.

Lenskart is running its first coordinated multi-channel campaign across Google Ads, Meta, email, and influencer partners, and three different people will be building tracking links this quarter.

Produce the governance artifact: an approved-values table, a campaign naming pattern, and instructions for Google Ads auto-tagging so nobody hand-writes those links.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeBuild the approved-values table and naming pattern

Free, shareable, and the whole team can comment on proposed values

FreeConfirm auto-tagged Google Ads traffic reports correctly

Free, the destination that validates the auto-tagging setup actually worked

The process

3 steps

Step 01 of 03

Approved source and medium values

Step 4 of the checklist says a shared spreadsheet of approved source and medium values, with new values requiring team approval, is what prevents drift like 'email' vs 'e-mail' vs 'Email'.

Three people are about to tag links for Google Ads, Meta, and an email send. What approved values do they need before anyone builds a single link?

Google Sheets— New 'Approved Values' tab in the shared UTM doc

Procedure

  1. List every channel the campaign will run on
  2. Assign one approved utm_source per channel
  3. Assign one approved utm_medium category per channel type
Sample output
APPROVED VALUES
  Channel: Google Ads     source=google      medium=cpc
  Channel: Meta Ads       source=facebook    medium=paid-social
  Channel: Email          source=mailchimp   medium=email

Healthy

Every channel maps to exactly one source and one medium value, documented once.

Unhealthy

Three people each independently decide, and Meta ends up tagged as 'facebook', 'meta', and 'fb-ads' across three different links.

What this means

The table isn't documentation for its own sake, it's the thing that makes three people's tagging decisions produce one row per channel instead of three.

So what do I do about it?

SymptomActionEffort
The same channel appears under two different utm_source spellings in a reportAdd the channel to the Approved Values tab and correct existing live links30 min
YouYou can do this yourself, no engineering access required.

Step 02 of 03

Campaign naming pattern with date/version

The lesson warns that reusing a campaign name across years breaks year-over-year comparison; always date or version it.

What utm_campaign value should this quarter's launch use so it's still distinguishable from next year's version of the same campaign?

Google Sheets— Same doc, 'Campaign Naming Pattern' tab

Procedure

  1. Define a pattern: [initiative]-[period]-[year]
  2. Apply it to this campaign
  3. Note the pattern so future campaigns follow it without asking
Sample output
CAMPAIGN NAMING PATTERN
  Pattern: [initiative]-[period]-[year]
  This campaign: multichannel-launch-q3-2026

Healthy

Campaign name bakes in the year, so 2027's version won't merge into this one in reports.

Unhealthy

utm_campaign=multichannel-launch, reused unchanged next year, silently combining two years of totally different creative into one row.

What this means

A campaign name without a date isn't wrong today, it becomes wrong the day someone reuses it.

So what do I do about it?

SymptomActionEffort
A campaign name has no year or version in itAppend the period before the link goes live, not after someone asks why two years of data are combined5 min
YouYou can do this yourself, no engineering access required.

Step 03 of 03

Auto-tagging with dynamic tokens

The lesson explains that Google Ads, LinkedIn, and Meta support dynamic tokens that auto-fill utm_content and utm_term at click time, so nobody hand-writes them per ad.

The Google Ads account has 40 ads across 6 campaigns. Should someone hand-tag all 40 final URLs?

Google Analytics 4— Google Ads account settings, Final URL suffix field (documented in this doc for the ad ops teammate)

Procedure

  1. Write the final-URL-suffix template using {campaignid} and {keyword} tokens
  2. Note it applies at the account level, once
  3. Confirm every new ad inherits it automatically going forward
Sample output
GOOGLE ADS AUTO-TAGGING
  Final URL suffix: utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}
  Set once at: Account level, Settings > Final URL suffix

Healthy

One suffix, set once, and all 40 ads and every future ad inherit correct tagging automatically.

Unhealthy

Someone hand-tags all 40 final URLs individually, and 3 of them get the wrong utm_medium because it was typed by hand.

What this means

Dynamic tokens exist specifically so a person never has to hand-type the same tagging logic 40 times.

So what do I do about it?

SymptomActionEffort
Ad ops is manually editing UTM values on individual Google Ads final URLsMove the tagging logic to the account-level Final URL suffix field once30 min
EitherYou or a developer can handle this, depending on your access.

Final deliverable

A UTM governance doc: approved values table, campaign naming pattern, and Google Ads auto-tagging setup, ready for a 3-person team to follow.

See a reference example
Sample output
Nykaa UTM governance doc (excerpt)

APPROVED VALUES
  Channel: Influencer    source=[handle]   medium=affiliate

CAMPAIGN NAMING PATTERN
  beauty-drop-oct-2026

GOOGLE ADS AUTO-TAGGING
  Final URL suffix set at account level

Success criteria

You're done when you can:

  • Produces one approved source/medium pair per channel with no ambiguity
  • Campaign naming pattern includes a period marker to prevent year-over-year collisions
  • Documents Google Ads auto-tagging so no one hand-tags 40 individual ad URLs