UTM Common Mistakes

Get answers about utm parameters common mistakes. Understand the key concepts and how they apply to your conversion tracking setup for optimal performance and tracking accuracy.

UTM parameter mistakes silently corrupt your attribution data. You get no error message—just wrong numbers in your reports. Here are the most common mistakes and fixes.

1. Inconsistent Naming Conventions

Different naming patterns fragment data.

Problem:

`utm_source`=Facebook    (campaign 1)
`utm_source`=facebook    (campaign 2)
`utm_source`=fb          (campaign 3)

Google Analytics and AnyTrack treat each as separate traffic sources. Your Meta traffic splits across three line items.

Fix: Document naming conventions before launching campaigns. Use lowercase only. Use underscores or hyphens, not spaces. Keep names concise and descriptive. Share the convention with your team.

2. Using UTM Parameters on Internal Links

Adding UTM parameters to internal links is one of the most damaging mistakes.

Problem: A visitor arrives from a Meta ad (utm_source=facebook). They click a banner with utm_source=homepage_promo. The original Meta attribution is overwritten. When they convert, the sale attributes to homepage_promo instead of the Meta ad.

Fix: Never add UTM parameters to links on your own domain. UTM parameters are exclusively for external traffic sources—ads, emails, social posts, and partner links.

3. Missing Required Parameters

Omitting utm_source, utm_medium, or utm_campaign breaks traffic categorization.

Problem: A URL with only utm_campaign=summer_sale (no utm_source or utm_medium) shows as "direct" or "unassigned" traffic in Google Analytics. AnyTrack cannot identify which platform drove the visit.

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 for channel types, not unique identifiers.

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." Unrecognized values get classified as "Unassigned."

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.

5. Not Including ID-Based Parameters

Name-based UTM parameters alone are insufficient for accurate campaign reporting in AnyTrack.

Problem: If your UTMs only include utm_campaign=summer_sale without utm_id, AnyTrack cannot match session data with ad platform campaign data. You see sessions and conversions, but they are not aligned with spend, impressions, and ROAS at the campaign, ad set, or ad level.

Fix: Use the recommended tracking templates, which include both name-based and ID-based parameters. Essential ID parameters: utm_id (campaign ID), adset_id, and ad_id.

6. Spaces and Special Characters in Values

Spaces and special characters cause URL encoding issues and fragmented data.

Problem: utm_campaign=Summer Sale 2026 gets URL-encoded to utm_campaign=Summer%20Sale%202026. Different browsers handle encoding inconsistently, fragmenting data.

Fix: Replace spaces with underscores (summer_sale_2026) or hyphens (summer-sale-2026). Avoid special characters: &, =, ?, #, %. Most ad platforms handle this automatically with dynamic tokens.

7. Not Testing URLs Before Launch

Launching campaigns with broken UTM parameters means every click generates bad data.

Problem: A missing & between parameters, a typo in a token name, or a trailing space silently breaks tracking. You do not notice until you check reports days or weeks later.

Fix: Click every tagged URL before launching. Verify parameters appear correctly in your browser address bar and in the AnyTrack real-time dashboard. For Meta Ads, use the VERIFY ADS SETTINGS feature to scan all your ads for UTM issues automatically.

Summary

MistakeImpactFix
Inconsistent namingFragmented dataDocument naming conventions
UTMs on internal linksOverwrites traffic sourceUse UTMs only on external links
Missing required parametersTraffic classified as directAlways include source, medium, campaign
Unique values in utm_mediumBreaks GA4 channel groupingUse standard medium values
No ID-based parametersCannot match sessions with ad platformUse recommended templates
Spaces and special charactersURL encoding issuesUse underscores or hyphens
Not testing URLsSilent tracking failuresTest every URL before launch

FAQ

How do I check if my UTM parameters have issues? Use the VERIFY ADS SETTINGS feature in your AnyTrack dashboard. Go to Tracking Tags, select your Tracking Tag, open Ads Integration, and click VERIFY ADS SETTINGS. AnyTrack will scan your ads and flag any UTM issues with fixes. See the setup validation checklist for full verification.

Can mixed-case UTMs be fixed retroactively? No. UTM parameters are case-sensitive, so utm_source=Facebook and utm_source=facebook are treated as separate sources. You cannot merge them after collection. Standardize on lowercase going forward and update all active campaigns.

What happens if I forget utm_id in my tracking template? AnyTrack can still track sessions and attribute conversions using other UTM parameters. However, you lose the ability to match sessions with campaign-level data (spend, impressions, clicks) from your ad platform API. Your Campaign Report cannot show ROAS or cost-per-conversion at the campaign level.