Skip to main content
Terminus
Contents
Start HereIntroduction · ~8 min read

The Marketing Taxonomy Guide

The question you came with, the one idea the book rests on (UTMs are one envelope; the taxonomy is the asset), a map of the book, and one way to start this week.

On this page
The chapter in 4 min, as a video.Next video: Chapter 1 · What Do You Want to See? →

You probably want to know whether it should be facebook or fb.

Fair question. Short answer.

Pick either.

What matters is that everyone picks the same one, on every link, without having to think about it. That’s the harder problem, so we start one level up, with two questions.

What do you need to see in your reports to make better decisions? Which channels work, which campaigns convert, where to spend more and where to cut.

What system delivers that view every time? Not on the good weeks. Every campaign, every channel, every person who touches a link, including the intern and the agency.

The spelling comes back in the last chapter. By then it’s the easy part.

New to UTMs?

A UTM parameter is a tag on the end of a link, and your analytics files the visit under its value. Here’s one from Stride, the fictional shoe brand this book follows:

https://stride.com/spring-sale?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_sale-runners-2025_03

  • sourcewhere
  • mediumhow
  • campaignwhy
By convention, each tag answers one question about the click (Chapter 2).

Tap it, and analytics files the visit under those values: source facebook, medium paid_social, campaign spring_sale-runners-2025_03. Without tags, analytics has only what the browser tells it about where the visitor just was, the referrer, and Chapter 2 shows how little that is.

There are five standard parameters (Chapter 2 takes them apart), and a custom one such as cid works too.

The failure you already know

Someone asks which channel drives sales, and the report can’t say. facebook, Facebook, fb and FB sit on four separate rows, each holding a slice of the total. The campaign names follow no pattern a filter could hold.

Everybody tagged. Nobody can read it.

The tags aren’t the tracking

It’s easy to treat the UTMs as the tracking: get the tags right and the data is right, and the sheet of approved tags is the taxonomy. It’s a reasonable belief. The tags are the part you can see.

It costs you four ways:

  1. Everything a report might need gets crammed into five fields, so utm_campaign turns into a sentence.
  2. Each channel’s values get decided by whoever tags it first.
  3. Data that never passes through a link, like the spend an ad platform exports or the lead in the CRM (where sales keeps its records), feels like someone else’s problem.
  4. A change of tools feels like starting over.

All four come from one mix-up: taking the carrier for the thing it carries.

UTMs are one envelope

An envelope carries a letter it didn’t write. It has a fixed shape. Someone else opens it at the other end. And it can be swapped or lost on the way. Nobody keeps an envelope for its own sake: what matters is the letter, and one letter can go out in many envelopes. A tagged link is an envelope in every one of those ways.

Here’s a letter. Stride, the fictional shoe brand from the primer, runs a Facebook ad for this spring’s sale. Five facts describe that ad, and they’re the five facts its reports need:

FactThis spring’s Facebook ad
Channelpaid social
SourceFacebook
Initiativethe spring sale
Productrunning shoes
Launch monthMarch 2025

Each fact is something a report groups by, what Chapter 1 calls a dimension. Now send that letter out four times:

The letter: one campaign's dimensions

Channel
paid_social
Source
facebook
Initiative
spring_sale
Product
runners
Launch month
2025_03

The envelopes

  1. A tagged link

    read by your analytics

    stride.com/spring-sale?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_sale-runners-2025_03

  2. A link with one cid

    split by Adobe Analytics classification rules

    stride.com/spring-sale?cid=paid_social-facebook-spring_sale-runners-2025_03

    No UTMs at all. One custom parameter carries all five facts, and the order of the segments says which is which.

  3. The campaign name in Meta

    exported with the ad spend

    spring_sale-runners-2025_03

  4. A lead record in the CRM

    read by sales

    Lead source: facebook · Medium: paid_social · Campaign: spring_sale-runners-2025_03

One letter, four envelopes. Each value keeps the color of the UTM parameter that carries it in the first link, so initiative, product and launch month share the campaign's color: one slot carries all three.

The link from the primer is the first envelope, and it’s one of four.

The second settles the argument. It’s a link to the same page with no UTMs at all:

stride.com/spring-sale?cid=paid_social-facebook-spring_sale-runners-2025_03

A team on Adobe Analytics can send one custom parameter like this, and Adobe’s classification rules, which read one value as several, split it back into channel, source, initiative, product and launch month. Take the UTMs away and the letter still arrives whole.

The UTMs were only ever one carrier.

Three things every envelope does

All four behave like the envelope in your mailbox, in three ways, and each way gets chapters of its own.

It has a fixed shape. The tagged link has five named slots. Source and medium take two, and content and term have jobs of their own by convention, so Stride’s other three facts share utm_campaign, packed by one pattern (Chapter 3) as spring_sale-runners-2025_03. The cid has a single slot, and the order of its segments says which fact is which.

The Meta campaign name carries three facts, and the export it travels in says the rest. The lead record in the CRM gives source, medium and campaign a field each, so its campaign field carries three facts too.

Chapter 2 opens the link, Chapter 3 sets the campaign pattern, and Chapter 4 lays out the structures for packing a slot.

Design the letter to fit one envelope and it won’t fit the others. Design the letter first, and each envelope is one way of writing it down.

Someone else opens it. Analytics reads the link. An analyst reads the ad platform’s spend export. Sales reads the lead record. None of them can ask what you meant, and each sees only what was written. So spring_sale-runners-2025_03 in the link and Spring_Sale-runners-2025_03 in the Meta name are two different facts to whoever puts them side by side, and the sale’s spend and its visits land on rows that never meet. Chapter 6 opens the ad platform’s names, and Chapter 7 the CRM.

It can be swapped or lost on the way. With Google Ads auto-tagging on, Google Ads marks each click with its own ID, and GA4 takes the campaign from Google Ads, not from the link (Chapter 5). Meta exports the ad’s spend with its names and no UTMs (Chapter 6). Both times, the letter survives only where it was also written into another envelope: the campaign’s name inside the ad platform.

What changes

Once the UTMs are one envelope among several, four decisions move:

DecisionUTMs as the trackingUTMs as one envelope
Designed firstvalues for five fieldsthe facts every report needs
A new channelnamed by whoever tags it firstthe same letter, in that channel’s envelope
A spend export with no UTMsnot our problemours: the campaign name carries the letter
A tool changestart overmove the letter across

The middle column sees one envelope; the right sees all four.

What goes in the letter is Chapter 1. How each envelope carries it is Chapter 2 for the link, Chapter 6 for the ad platforms and Chapter 7 for the CRM.

The letter is what you keep

The taxonomy is the asset. UTMs are one delivery mechanism.

The taxonomy is the letter plus its rules: which dimensions you record, the approved values for each, what each value means, and who may add one. It’s an asset because it keeps paying out after you’ve built it:

  • It outlasts tools. When GA4 replaced Universal Analytics in 2023, a team’s approved values and what each one meant could move across unchanged. The tool reading them was new.
  • It compounds. Three years of paid_social meaning the same thing make every year comparable with the one before. Let the meaning drift, and the comparison breaks where it drifted.
  • It’s a shared language. A new hire, an agency and an analyst read the same value and take the same meaning from it, without asking whoever made the link.

Links are disposable. The agreement about their values is what you keep.

Where the rule lives

Where a rule lives decides whether it holds.

Written in a document, the letter’s rules live beside the path, and they hold when the person making a link remembers them. Whoever types fb at the end of a long launch day has to remember it’s facebook. Built into the place where links get made, the rules live inside the path, where the wrong value isn’t offered. Every chapter after this one closes on where its rule lives.

Check yourself

Your team moves from UTMs to one cid, read by a different analytics tool. What has to be redesigned, and what moves across unchanged?

Show answer

The envelope’s shape: how the facts pack into one slot, in what order, and the rules that split them out in the new tool. The letter moves across unchanged: the dimensions, the approved values and what each one means. That part is the asset.

Your links carry spring_sale-runners-2025_03, and the Meta campaign is named SpringSale. An analyst puts spend beside sessions. What does she see, and whose problem is it?

Show answer

Two different campaigns: spend under SpringSale, sessions under spring_sale-runners-2025_03, and nothing to say they’re one. And it’s yours: the Meta campaign name is an envelope carrying the same letter, so it needs the same value (Chapter 6).

Two teams keep the same approved list. One pins it at the top of a shared doc; the other's builder offers only its values. A new hire types FB on launch day. Where does each team's rule live, and which one stops the FB?

Show answer

The doc is beside the path: it holds only if the new hire remembers to look, and on launch day FB goes out. The builder is inside the path: FB isn’t offered, so it never reaches a link.

The map

In the field’s own terms, the letter and its rules make a marketing taxonomy, and defining it, encoding it and keeping it enforced is taxonomy governance. Governance has five parts, and they fit on an index card.

The system

five parts

  1. 1DimensionsDecide what to measure, from the report backwards.Ch 1
  2. 2RulesApproved values and naming conventions that encode the dimensions.Ch 2, 3, 4, 6
  3. 3WorkflowLinks made in one place, from the approved lists.Ch 5, 9, 10
  4. 4AuditingCatch drift before it reaches a decision.Ch 8
  5. 5AutomationCarry the same values into the CRM and the warehouse.Ch 7, 11
The five parts. Each chapter lights the part it teaches.

The book has four parts:

  • The letter and the link, Chapters 1 to 4: what it says, and how a link carries it.
  • The letter’s journey, Chapters 5 to 7: channels, ad platforms, the CRM.
  • Keeping it true, Chapters 8 to 10: mistakes, the place links get made, ownership.
  • Reading it, Chapters 11 and 12: credit, and where you stand.

The appendices hold lookup material and guides for particular roles.

Chapter 2 draws the tool map, the route a click’s values travel, in six stages: plan and make links, distribute, land and record, capture and connect, store and model, read.

How to read this book

Terms arrive when a chapter needs them, with a few plain words and a pointer. The Glossary holds them all.

Terminus publishes this book. We’ve been building taxonomy governance tools since 2014.

One way to start this week

One way in, if you’d rather act first. It covers channel, source and campaign, Chapter 1’s three core dimensions. Add another when a report needs it, the way Stride’s pattern in step 3 carries the product.

  1. Pick your sources from Chapter 3’s list: the platform or property, lowercase.
  2. Pick your mediums from Chapter 3’s medium list. offline is its one deliberate exception, a medium GA4 doesn’t recognize. Chapter 2 says how the medium, with the source, decides the channel.
  3. Set one campaign pattern, [initiative]-[product]-[yyyy_mm], as in spring_sale-runners-2025_03. Plain names do if nothing sorts or splits them (Chapter 3); Chapter 4 has the options when names must carry more.
  4. Write it down in one shared document, your Tracking Constitution (Chapter 3): the approved values, the pattern with examples, who approves a new value, and how to ask.
  5. Make the next campaign’s links from that list in a URL builder, such as Google’s free Campaign URL Builder (Chapter 9 says what one can and can’t stop). Then click the published link and find the visit with your values (Chapter 5).

In one line

facebook or fb: either. What you design and keep is the letter, not the envelope: the facts your reports need and the rules for their values. Those rules hold best inside the place links get made.

Before the next chapter

List the envelopes your campaign facts travel in today: your links, your ad platforms' campaign names, your CRM's source fields. Then check whether one campaign reads the same in each.

Next · Chapter 1 · What Do You Want to See?So, what do you need to see in your reports?