Get your campaign tracking right the first time.
Our UTM Tagging Best Practices Guide gives you a quick, visual reference for creating consistent, accurate tracking links - without the guesswork.
Learn how to:
- Use correct parameter names and formats
- Keep naming consistent across every campaign
- Avoid common mistakes that cause “(not set)” data in GA4
- Build clean URLs using our example templates
Keep it handy when setting up new ads, emails, or social campaigns - it’s your shortcut to cleaner analytics.
What's in this guide
Best practices for UTM parameter tagging - naming conventions, which parameters to use for which channels, common mistakes that corrupt your analytics data, and a tagging framework you can implement consistently across your team.
Why UTM consistency matters more than any individual tag
UTM parameters are only useful if they're consistent. "facebook", "Facebook", "Facebook-Ads", and "FB" all look like different sources in GA4 - fragmenting what should be one channel into four. Establishing a naming convention and enforcing it across everyone who creates links is the single most impactful thing you can do for attribution accuracy.
The five UTM parameters and when to use each
utm_source: where the traffic comes from (google, facebook, mailchimp, newsletter). Required for every tagged link. utm_medium: the marketing channel type (cpc, email, social, organic). Required for every tagged link. utm_campaign: the specific campaign or initiative (spring-sale-2025, google-ads-search-brand). Required. utm_content: differentiates between multiple links in the same campaign (header-cta vs footer-link, image-ad vs text-ad). Optional but useful for A/B testing. utm_term: the keyword for paid search - usually auto-populated by Google Ads, rarely needed manually.
The most common UTM mistakes
Tagging organic traffic (don't - Google Search Console handles organic attribution). Inconsistent capitalisation. Using spaces instead of hyphens (spaces break URLs). Not tagging email campaigns (email is notoriously difficult to attribute without UTMs). Over-tagging with too many custom parameters (stick to the standard five).
Related resources