UTM Campaign Tracking Lab

Marketing Attribution

Every attribution model you will ever build sits on top of one boring question: did the click arrive with a label on it? Tag a real campaign, run it for 30 days, then find out how much of your dashboard was telling you the truth.

πŸ‘¨β€πŸ« Professor Mode: Guided Learning Experience

New to campaign tracking? Enable Professor Mode to be walked through tagging, deploying and debriefing a live campaign.

STAGE 1 β€” ANATOMY OF A TAGGED LINK

The brief

Lumen & Co. is a direct-to-consumer skincare brand. On Monday they launch Summer Glow, a 30-day push across paid search, paid social, email, two influencers and retargeting display. Total media budget: $61,500.

You are the analyst. Nobody will ask you about tracking for the next 30 days. Then everybody will ask you about it at once.

How this lab works, in four stages
  1. Anatomy. Learn to read a link the way an analytics platform reads it, so you can predict where a visit will be filed before you ship anything.
  2. Tagging Plan. Decide how to label all five of Lumen's traffic sources. These are your decisions, and you will live with every one of them.
  3. Deploy. The campaign runs for 30 days. You cannot change your tags now, which is exactly how it works in practice.
  4. Debrief. Answer the questions your CMO actually asks, using only the dashboard your own tagging produced. Then find out what was really happening.

One thing to hold onto: the 30 days never change. The same customers buy the same things for the same reasons no matter how you tag. All your tagging decides is how much of that you are able to see. That is why you can come back at the end, revise your plan, and re-measure the identical month.

Start with the problem

Below is an ordinary campaign link, exactly as most people would paste it into an ad. Watch what the analytics platform is able to record about anyone who clicks it.

You can edit this URL directly, or load one of the examples below.

Five versions of the same link, colour-coded so you know what you are looking at: one has no tags three are common mistakes one is correct

What the analytics platform records

The five fields, explained with one real click

The five field names sound alike until you watch them describe the same event. So follow one single click all the way through. Someone is scrolling Facebook. They see Video A, the founder-story ad. They tap it. Lumen paid for that tap, and the ad only exists because of the Summer Glow launch.

That one click gets described by all five fields at once. Each field answers a different question about it, and once you can hear the difference between the questions, the fields stop blurring together.

utm_source
WHO showed them the link facebook The site or app the person was actually on at the moment they clicked. It is a company or website name and nothing else.
utm_medium
HOW it reached them, and whether money changed hands cpc The mechanism, not the platform. cpc means somebody paid per click. This is the field that decides the channel group, which is why getting it wrong is so expensive.
utm_campaign
WHY it ran — which business push it belongs to summer-glow The initiative that paid for the ad to exist. Every source in the same launch shares this value, which is what lets you total the launch up later.
utm_content
WHICH ONE of several it was video-a Which specific ad, email send or partner link this exact click came from. Without it, everything a source runs collapses into one row and you can never tell the winner from the loser.
utm_term
WHAT THEY SEARCHED empty here The keyword that triggered a paid search ad. Nobody searched for anything to see a Facebook ad, so this field stays empty. It is the only one of the five that genuinely does not apply most of the time.

Which field changes, and which one does not

Here is a different brand, so nothing below gives away your own plan. Northvale Coffee is running one launch, Spring Roast, across three completely different kinds of traffic. Read the table across each row rather than down each column.

Field A Google search ad Their weekly newsletter A podcast sponsor read
utm_source google northvale-weekly brewcast
utm_medium cpc email audio
utm_campaign spring-roast spring-roast spring-roast
utm_content bag-15oz mar-04-send mid-roll
utm_term cold-brew — —

One row is identical all the way across, and it is the whole reason campaign exists. Source and medium change because the traffic genuinely is different. Content changes because each link is a different object. Campaign stays put because all three were bought for the same reason — so at the end of the month there is one row that totals the entire launch.

The two pairs everyone mixes up

utm_source vs utm_medium

facebook is WHO. cpc is HOW. The most common mistake in this whole lab is writing medium=facebook, which names the platform twice and never once says that anyone paid for the click. Analytics then files your ad spend under free traffic. That is exactly what example 3 above does.

Quick test: if the answer is a company you could write a cheque to, it belongs in source. If it describes the kind of link, it belongs in medium.

utm_campaign vs utm_content

Campaign is the whole launch. Content is one link inside it. If you put summer-glow in content you have learned nothing, because every single link would say the same thing. Content only earns its place when it is different for each ad, each send, each partner.

Quick test: campaign should be identical on every link in the launch. Content should be different on every one.

Words the dashboard will use back at you

Session source
Where the visit came from, as the platform recorded it. Taken from utm_source if the link was tagged, and guessed from the referring website if it was not.
Session medium
The kind of traffic, as recorded. Taken from utm_medium, or guessed from the referrer. This is the field that decides the channel group.
Referrer
The website the browser says it came from. Email apps and messaging apps send no referrer at all, which is why untagged email has nothing to fall back on.
Default channel group
The bucket the platform files the visit into (Paid Search, Email, Display and so on). It is calculated from source and medium together, not chosen by you.
Direct
The bucket for visits with no tags and no referrer. It reads as "someone typed our address in", but in practice it is where untraceable traffic accumulates.
Unassigned
The bucket for visits the platform could not fit into any channel, usually because the medium was a word it does not recognize.