The single most important rule: always use lowercase
Google Analytics 4, Universal Analytics, and most other analytics platforms treat UTM parameter values as case-sensitive. utm_source=Newsletter and utm_source=newsletter appear as two separate traffic sources in your reports, splitting the data and making totals misleading. Enable the auto-lowercase option and enforce lowercase in your team's UTM convention documentation. This single rule prevents the most common UTM data quality problem.
Use hyphens, not spaces or underscores, in campaign names
Spaces in UTM values become %20 in the URL, making links look messy. Underscores are technically fine but inconsistent with URL conventions. Hyphens are the cleanest choice and match the convention used in URLs and CSS: spring-sale-2024, product-launch, weekly-newsletter-issue-47. The URL-encode option in the tool handles special characters automatically, but starting with hyphens means there is nothing to encode.
Create a UTM taxonomy document for your team
The biggest UTM failure mode in organisations is inconsistency — different people using different source names for the same channel (facebook vs fb vs facebook-ads vs paid-social). Create a shared document listing approved values for utm_source and utm_medium, and require that all team members use only those values. The taxonomy should include: all traffic sources your team uses (google, bing, facebook, instagram, linkedin, email, newsletter, twitter, youtube, partner-[name]), and all medium types (cpc, social, email, affiliate, banner, video, podcast, qr-code, direct-buy).
Always tag email links, never organic social links
Email is the channel where UTM tagging matters most, because email clients do not send referrer information. Without UTM tags, all email clicks appear as "direct" in analytics. Every link in every email should have UTM parameters. For organic social media, the platform itself is the referrer — Twitter, Facebook, and LinkedIn send referrer data. Tagging organic social posts is optional but useful for campaign-level attribution (which specific LinkedIn post drove the most traffic).
Use utm_content to A/B test email CTAs
When testing two different calls to action in an email — "Start free trial" vs "See how it works" — use the same source/medium/campaign but different utm_content values: cta-free-trial vs cta-demo. In your analytics, filter by campaign and compare conversion rates by content value. This reveals which CTA language performs better without needing a dedicated A/B testing tool.
Document the full URL in your campaign tracking spreadsheet
Use the "Save to history" feature and export the history to your campaign tracking spreadsheet. Record: campaign name, start date, end date, channel, tagged URL, and performance metrics from analytics. This creates an auditable record that makes reporting, troubleshooting, and historical comparison possible. Without documentation, UTM data in analytics becomes uninterpretable after a few months.