ecommerce

UTM Parameters

UTM parameters are five conventional URL query-string tags — `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content` — appended to a destination link so analytics tools can attribute the landing session to a specific traffic source.

Also known as: UTM, UTM Tags, UTM Codes, Urchin Tracking Module

UTM parameters are five conventional URL query-string tags — utm_source, utm_medium, utm_campaign, utm_term, utm_content — appended to a destination link so analytics tools can attribute the landing session to a specific traffic source. The name comes from Urchin Software, the analytics company Google acquired in 2005 and rebuilt as Google Analytics; “UTM” expands to Urchin Tracking Module. A typical tagged link looks like https://store.com/?utm_source=meta&utm_medium=paid_social&utm_campaign=spring_launch, and once the visitor lands, every downstream tool that reads the URL can pin the session to that source for attribution.

The parameters are a convention, not a standard. They are ordinary URL query strings — no validator enforces them, no registry catalogs allowed values, and utm_source=meta is meaningful only because the people building the links and the people reading the reports agreed it would be. Anything the marketer types into the value is what shows up in the report.

UTMs ride on the same URL as platform-stamped click IDs, but they do different jobs.

Platform click IDs (fbclid, gclid, ttclid, msclkid)

Meta appends fbclid, Google Ads appends gclid, TikTok appends ttclid, Microsoft Ads appends msclkid — those identifiers are how each platform recognizes its own click in-platform and how the server-side Conversions API echo deduplicates against the browser-side pixel. Click IDs name the click to the platform that sold it.

UTM parameters

UTMs are the marketer-controlled tags every brand-owned tool reads instead — GA4, Shopify, the CDP, the warehouse, the BI dashboard. UTMs name the click to the brand.

That freedom is also the failure mode. The same Meta click can land as utm_source=meta, utm_source=facebook, utm_source=Facebook, or utm_source=FB depending on who built the link. Each spelling becomes a distinct row in the source/medium report — values are case-sensitive and untrimmed — and the channel that should have rolled up to one line is now split across four. This is one of the most common root causes of the cross-channel reporting discrepancies operators chase for hours: Meta’s dashboard reports one number, the brand’s analytics reports another, and a chunk of the gap is just inconsistent tagging.

UTM hygiene is the response: a documented taxonomy — one allowed value per source, one per medium, a campaign-name convention — applied consistently across team members, agencies, and platforms. It is one of the cheapest reporting-quality improvements available to an analytics-tool user, because the substrate is already there; only the discipline of using it the same way every time is missing.

Related terms