UTM parameters tell you exactly where your traffic comes from — but most marketers get them wrong. All 5 parameters explained with real examples and the mistakes that silently corrupt your attribution.
UTM parameters are five URL tags that tell GA4 (and your CRM) exactly where a visitor came from. But despite being simple in theory, they're routinely implemented wrong — and wrong UTMs don't throw errors. They silently misattribute revenue, corrupt your channel attribution data, and make it impossible to answer the question every CFO asks: "Where did that customer come from?"
This guide covers everything: what each parameter does, how to use them correctly across every channel, and the mistakes that corrupt attribution data for months before anyone notices. By the end, you'll have the framework to implement UTMs consistently across your entire marketing stack.
UTM stands for "Urchin Tracking Module" — a naming quirk that dates back to 2005 when Urchin Software built URL tagging into their web analytics platform. Google acquired Urchin in 2005 and incorporated UTM tracking into Google Analytics, where it's been the industry standard ever since. Now, every analytics platform — GA4, Mixpanel, Amplitude, Segment — reads and respects UTM parameters.
UTM parameters are appended to URLs as query parameters. When someone clicks a link with UTM parameters, analytics platforms capture those values on page load and attribute the session to the source, medium, and campaign you specified.
Here's a complete example with all 5 UTM parameters:
https://example.com/pricing?utm_source=linkedin&utm_medium=paid-social&utm_campaign=2026-q1-brand&utm_content=cta-button&utm_term=utm-toolsURL anatomy
When a user clicks this link, GA4 records:
Each UTM parameter serves a specific purpose in your attribution model. Getting these right is the difference between knowing exactly where your revenue comes from and guessing.
The platform or property that sends traffic to you. This is the referring source — the place where your audience saw your link.
Examples: google, linkedin, newsletter, partner-name, g2, twitter, facebook
Rule: Always lowercase. Always present. Never use "website" or "direct" as a source — those aren't sources, they're channels. utm_source should be the actual platform.
utm_source=linkedin
The marketing channel — the mechanism by which traffic arrived. This is your primary channel dimension in GA4.
Examples: cpc, email, paid-social, organic-social, display, referral, affiliate, organic
Rule: This is the most important parameter for channel attribution. Be disciplined with naming — "paid-social" and "social-paid" are two different channels. Pick one naming convention and stick to it across your entire organization. This is your single source of truth for channel reporting.
utm_medium=paid-social
The specific campaign name — the marketing initiative that generated the traffic. Name it descriptively so you can identify it months later.
Examples: 2026-q1-brand-awareness, trial-nurture-sequence-3, product-hunt-launch, revops-conference-2026
Rule: Include date/quarter for time-bound campaigns. Include the product or motion (nurture, retargeting, prospecting) for ongoing programs. Use hyphens, not spaces. This makes it easy to filter and analyze campaigns in GA4.
utm_campaign=2026-q1-brand-awareness
The specific asset or variant — used for A/B testing and to distinguish multiple links in the same email or page.
Examples: hero-cta, nav-link, footer-link, blue-button, text-ad-variant-a
Rule: Optional but valuable when you're running creative tests. If you're not testing, it's still useful for diagnosing which links in an email get clicks. Use it liberally — it costs nothing and pays dividends in attribution clarity.
utm_content=hero-cta
The paid search keyword — typically auto-populated by {keyword} macros in Google Ads, Microsoft Ads, or other paid search platforms.
Examples: utm-governance-tool, utm-builder-for-teams, martech-attribution
Rule: Use utm_term for paid search only. Don't repurpose this parameter for other channels — it pollutes your search keyword reporting and confuses your analytics model. Leave it blank for non-paid-search channels.
utm_term={keyword}
This is the section people actually want: complete, ready-to-use examples for every major channel. Copy-paste these and adapt them to your naming convention.
Use automated rules in Google Ads to populate utm_term with {keyword} macro. GA4 will capture the actual keyword that triggered your ad.
LinkedIn doesn't have a keyword equivalent, so utm_term can be left blank. Use utm_content to distinguish between different creatives in the same campaign.
Every link in every email should have UTMs. Without them, email traffic shows up as "direct" in GA4. Use utm_source to identify which email platform (HubSpot, Marketo, Klaviyo, etc.) sent the traffic.
For owned newsletters, use a generic utm_source like "newsletter" or name it after the publication (e.g., "morning-brew"). Include the date in utm_campaign for weekly sends.
Use utm_medium=social (not "organic-social") for consistency. Many teams skip UTMs on organic social posts because it risks polluting direct traffic data, but if you're disciplined, it provides valuable insights. Never use utm_source="social" — specify the platform.
Use the partner's name in utm_source so you can segment by partner in GA4. utm_medium=referral distinguishes partner traffic from paid or organic channels.
These are the mistakes we see repeatedly. Avoid them and your attribution data will stay clean for months.
GA4 is case-sensitive. "Google" and "google" are treated as different sources. This silently creates duplicate channels in your reporting. Set a naming standard (lowercase) and enforce it across your team.
Spaces become %20 or + depending on the encoder. Use hyphens instead. "Q1 Brand" becomes "q1-brand" — shorter, cleaner, and guaranteed to render the same way everywhere.
This is the channel. Without it, you can't do channel attribution. Every UTM must include utm_source and utm_medium at minimum. They're your primary dimensions.
utm_source=ourcompany on internal links creates an "ourcompany" source in GA4. Don't UTM internal links. Reserved UTMs for external traffic — traffic from real external sources.
utm_source=google-q1-awareness mixes source and campaign. Source = the platform. Campaign = the campaign. Keep them separate. utm_source=google, utm_campaign=2026-q1-awareness.
Email traffic shows up as "direct / none" in GA4 without UTMs. Every link in every email should have UTMs. This is non-negotiable if you want email attribution in GA4.
Build the link, click it in an incognito window, open GA4 real-time, verify the UTMs appear correctly. 30 seconds of testing saves hours of cleanup later.
GA4 captures UTMs as session-level data. To connect that data to your CRM (Salesforce, HubSpot, Pipedrive) and attribute revenue to specific marketing campaigns, you need to pass UTM values through your form submission.
The standard approach: hidden form fields that auto-populate with JavaScript by reading URL parameters. When someone fills out your form, their utm_source, utm_medium, and utm_campaign get captured as CRM fields, and you can now do revenue attribution by campaign.
If your CRM doesn't have fields for utm_source and utm_medium, you're doing channel attribution in GA4 but not connecting it to revenue. This is a critical gap. Work with your RevOps team to add these fields.
Pro tip: Create UTM fields in your CRM for first-touch (how they first heard about you) and last-touch (what made them convert). This requires slightly more sophisticated form tracking, but it's the gold standard for B2B attribution.
UTM parameters are simple in concept but require discipline in practice. The teams that get clean attribution data use a governed tool — not spreadsheets or manual builders — that enforces the taxonomy. No ambiguity. No variation. Same naming, every time.
Your attribution data is only as good as your UTM discipline. If you're building links manually, you're already losing precision. The moment you scale to 10+ campaigns, manual UTMs break down.
Stop building UTMs manually. Use UTMStandard to enforce your taxonomy across your entire team. Define your sources, mediums, and campaigns once — then generate clean, consistent UTM links forever.
Get Started with UTMStandardMore from the blog
UTMStandard enforces every rule in this guide automatically. Your team builds clean links — no spreadsheets, no policing, no broken attribution.
Get started freeNo credit card required · Free plan always available