A UTM tag is three or four words appended to a link: utm_source=google, utm_medium=cpc, utm_campaign=summer-sale. On its own it does not tell you a channel, a return on spend, or a customer. It tells you what someone typed into a link builder. Everything useful comes after: reading that tag consistently, turning it into a channel, and tying it to a real customer, not just a click.
What a UTM tag actually records
Three parameters carry almost all of the useful signal:
- utm_source: where the click came from (
google,facebook,klaviyo, an affiliate's domain). - utm_medium: the kind of traffic it was (
cpc,email,social, or nothing at all). - utm_campaign: the specific push that sent it (
summer-sale,back-to-school,q3-lookalike).
Source and medium decide the channel. Campaign decides which specific effort inside that channel gets the credit. A store can run five campaigns through Meta paid social in a month; source and medium alone can't tell them apart, only the campaign tag can.
Why the same channel gets counted twice
UTM parameters are free text, typed by whoever built the link. One person tags a Meta campaign fb / paid, another tags the next one facebook / cpc. Read literally, a report sees two different sources. Classification is what turns raw text into one consistent channel: Paid Social, Paid Search, Organic Search, Organic Social, Email, Referral or Direct, based on the pattern in source and medium, not the exact string someone chose.
Without it, the same channel fragments across a dozen near-identical labels, and no report agrees with the next one you pull.
Why Direct is usually a tagging gap, not real traffic
Any click with no UTM parameters at all collapses into Direct or Organic by default: a bookmark, an app link, or an ad or email someone forgot to tag. A Direct bucket that looks larger than it should almost never means people are typing your URL from memory in that volume. It means a campaign somewhere is untagged. The fix lives on the ad or the email, not in the attribution logic.
First-touch, last-touch, and why picking one hides the other
A single conversion has (at least) two moments worth crediting: the touch that first brought the customer to your site, and the touch that closed the sale. Last-click flatters whatever sits closest to the purchase, usually brand search or a cart-abandon email. First-touch flatters whatever fills the top of the funnel. Neither is more "correct"; they answer different questions. A campaign that looks weak on last-click can be the one quietly starting every relationship that closes weeks later on branded search.
The credit belongs on the customer, not just in a report
A channel-level report answers "which bucket performed." It does not answer "who did this campaign actually bring me, and are they still buying." Attaching the classified channel and campaign to the customer's own profile, the moment they convert, closes that gap: you can open any customer and see exactly what acquired them, instead of cross-referencing a report and hoping the timing lines up.
UTM tags are the raw material. A channel your reports agree on, and a customer profile that remembers where it came from, are what make that raw material worth collecting in the first place.