UTM Common Mistakes
Avoid the most common UTM parameter mistakes that lead to inaccurate attribution, broken campaign reports, and wasted ad spend. Covers naming conventions, internal link tracking, missing parameters, and more with practical fixes for each issue.
UTM parameter mistakes silently corrupt your attribution data. You will not get an error message — your reports will just show the wrong numbers. Here are the most common mistakes and how to fix them.
1. Inconsistent Naming Conventions
Using different naming patterns across campaigns makes it impossible to aggregate data accurately.
The problem:
utm_source=Facebook (one campaign)
utm_source=facebook (another campaign)
utm_source=fb (yet another)
Google Analytics and AnyTrack treat each of these as a separate traffic source. Your Facebook traffic gets split across three line items instead of one.
The fix: Document a naming convention before launching any campaigns. Use lowercase only, use underscores or hyphens instead of spaces, and keep names descriptive but concise. Share the convention with your team so everyone follows the same format.
2. Using UTM Parameters on Internal Links
Adding UTM parameters to links within your own website is one of the most damaging mistakes you can make.
The problem: A visitor arrives from a Facebook ad (utm_source=facebook). They browse your site and click a banner with utm_source=homepage_promo. The original Facebook attribution is now overwritten. When that visitor converts, the sale is attributed to homepage_promo instead of the Facebook ad that actually drove the visit.
The fix: Never add UTM parameters to any link that points to a page on your own domain. UTM parameters are exclusively for external traffic sources — ads, emails, social posts, and partner links.
3. Missing Required Parameters
Leaving out utm_source, utm_medium, or utm_campaign means analytics platforms cannot categorize your traffic correctly.
The problem: A URL with only utm_campaign=summer_sale and no utm_source or utm_medium will show up as "direct" or "unassigned" traffic in Google Analytics. AnyTrack will not be able to identify which platform drove the visit.
The fix: Always include all three required parameters: utm_source, utm_medium, and utm_campaign. For ad campaigns, also include utm_id — this is how GA4 and AnyTrack match campaign-level data from your ad platform API.
4. Passing Unique Values in utm_medium
The utm_medium parameter is designed for channel types, not unique identifiers.
The problem: Setting utm_medium=campaign_12345 or utm_medium=adset_name breaks GA4 Default Channel Grouping. GA4 uses utm_medium to classify traffic into channels like "Paid Search," "Paid Social," and "Email." If it does not recognize the medium value, the traffic gets classified as "Unassigned."
The fix: Use standard medium values: cpc for paid search, cpc or paid for paid social, email for email campaigns, organic for organic social, referral for partner links. Pass campaign IDs and ad set names in utm_id, utm_content, or utm_term instead.
5. Not Including ID-Based Parameters
Name-based UTM parameters alone are insufficient for accurate campaign reporting in AnyTrack.
The problem: If your UTMs only include utm_campaign=summer_sale without utm_id={{campaign.id}}, AnyTrack cannot match the session data with the campaign data pulled from your ad platform API. You will see sessions and conversions in your reports, but they will not be aligned with spend, impressions, and ROAS at the campaign, ad set, or ad level.
The fix: Use the recommended tracking templates, which include both name-based and ID-based parameters. The essential ID parameters are utm_id (campaign ID), adset_id, and ad_id.
6. Spaces and Special Characters in Parameter Values
Spaces and special characters in UTM values cause URL encoding issues and create messy data.
The problem: utm_campaign=Summer Sale 2026 gets URL-encoded to utm_campaign=Summer%20Sale%202026. Different browsers and platforms handle encoding inconsistently, leading to fragmented data in your reports.
The fix: Replace spaces with underscores (summer_sale_2026) or hyphens (summer-sale-2026). Avoid special characters like &, =, ?, #, and % in parameter values. Most ad platforms handle this automatically when you use dynamic tokens.
7. Not Testing URLs Before Launch
Launching campaigns with broken or misconfigured UTM parameters means every click generates bad data.
The problem: A missing & between parameters, a typo in a token name, or a trailing space can silently break your tracking. You will not notice until you check your reports days or weeks later — by which time the damage is done.
The fix: Click every tagged URL before launching a campaign. Verify that the parameters appear correctly in your browser address bar and in the AnyTrack real-time dashboard. For Facebook Ads, use the VERIFY ADS SETTINGS feature to scan all your ads for UTM issues automatically.
Quick Reference
| Mistake | Impact | Fix |
|---|---|---|
| Inconsistent naming | Fragmented data across reports | Document and enforce naming conventions |
| UTMs on internal links | Overwrites original traffic source | Only use UTMs on external links |
| Missing required params | Traffic classified as direct or unassigned | Always include source, medium, campaign |
| Unique values in utm_medium | Breaks GA4 channel grouping | Use standard medium values only |
| No ID-based parameters | Cannot match sessions with ad platform data | Use the recommended templates |
| Spaces and special characters | URL encoding issues, fragmented data | Use underscores or hyphens |
| Not testing URLs | Silent tracking failures | Test every URL before launch |
UTM Mistakes FAQ
FAQ was last reviewed on 2026-02-18
Updated about 9 hours ago
