attributionUpdated 2025

Auto-Tagging vs Manual UTMs: Which to Use and When

Understand when to use platform auto-tagging (gclid, fbclid) vs manual UTM parameters for paid campaigns

7 min readattribution

You're running paid ads. Your platform offers auto-tagging (gclid, fbclid, msclkid). Your marketing team uses manual UTMs.

Do you need both? Just one? Which takes priority?

Here's the definitive guide to auto-tagging vs manual UTMs for every platform.

🚨 Not sure what's breaking your tracking?

Run a free 60-second audit to check all 40+ ways UTM tracking can fail.

Scan Your Campaigns Free

✓ No credit card ✓ See results instantly

Auto-Tagging vs Manual UTMs: Quick Decision Matrix

ScenarioUseWhy
Google Ads onlyAuto-tagging (gclid)GA4 natively supports gclid, automatic cost import
Facebook/Instagram AdsBoth (fbclid + UTMs)fbclid for pixel, UTMs for GA4 attribution
Microsoft AdsBoth (msclkid + UTMs)msclkid for platform, UTMs for GA4
TikTok AdsBoth (ttclid + UTMs)ttclid for pixel, UTMs for GA4
LinkedIn AdsManual UTMs onlyNo click ID auto-tagging available
Multiple platformsBoth everywhereEnsures tracking regardless of platform

Key principle: Google Ads can use auto-tagging alone. All other platforms require both.

What is Auto-Tagging?

Auto-tagging appends platform-specific click IDs to your landing URLs:

Code
Google Ads adds:
yoursite.com/page?gclid=TeSter123ABC

Facebook Ads adds:
yoursite.com/page?fbclid=IwAR1234567890

Microsoft Ads adds:
yoursite.com/page?msclkid=abcd1234567890

TikTok Ads adds:
yoursite.com/page?ttclid=7abc123def

Purpose:

  • Tracks individual ad clicks
  • Enables automatic cost data import (Google only)
  • Powers platform conversion pixels
  • Links ad clicks to GA4 sessions

What are Manual UTM Parameters?

Manual UTMs are parameters you manually add to campaign URLs:

Code
yoursite.com/page?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale

Standard UTM parameters:

  • utm_source - Traffic source (google, facebook, newsletter)
  • utm_medium - Marketing medium (cpc, email, social)
  • utm_campaign - Specific campaign name (spring_sale)
  • utm_content - Ad variation (banner_a, text_ad)
  • utm_term - Paid search keyword

😰 Is this your only tracking issue?

This is just 1 of 40+ ways UTM tracking breaks. Most marketing teams have 8-12 critical issues they don't know about.

• 94% of sites have UTM errors

• Average: $8,400/month in wasted ad spend

• Fix time: 15 minutes with our report

✓ Connects directly to GA4 (read-only, secure)

✓ Scans 90 days of data in 2 minutes

✓ Prioritizes issues by revenue impact

✓ Shows exact sessions affected

Get Your Free Audit Report

Platform-by-Platform Guide

Recommendation: Enable auto-tagging, skip manual UTMs (unless you need custom campaign names)

Why:

  • GA4 natively recognizes gclid
  • Automatic cost/click/impression import
  • Attribution works perfectly without UTMs
  • Less maintenance

Setup:

Code
Google Ads → Settings → Auto-tagging: ON

Landing URL becomes:
yoursite.com/page?gclid=abc123

GA4 shows:
Source: google
Medium: cpc
Campaign: Your Google Ads campaign name

When to add UTMs anyway:

  • Custom campaign naming different from Google Ads
  • Cross-platform campaign tracking
  • Reporting tools outside GA4

Facebook/Instagram Ads: Both Required

Recommendation: Enable fbclid + manual UTMs

Why:

  • GA4 cannot read fbclid for attribution
  • fbclid powers Facebook Pixel tracking
  • UTMs required for GA4 campaign data

Setup:

Code
Facebook Ads Manager → URL Parameters:
utm_source=facebook&utm_medium=paid-social&utm_campaign={{campaign.name}}

Actual landing URL:
yoursite.com/page?utm_source=facebook&utm_medium=paid-social&utm_campaign=spring_sale&fbclid=IwAR123

Result:
- Facebook Pixel reads fbclid → conversion tracking
- GA4 reads UTMs → campaign attribution

Dynamic parameters:

  • {{campaign.name}} - Campaign name
  • {{adset.name}} - Ad set name
  • {{ad.name}} - Individual ad name
  • {{site_source_name}} - Placement (Facebook, Instagram, Audience Network)

Microsoft Ads: Both Required

Recommendation: Enable auto-tagging + tracking template with UTMs

Why:

  • GA4 cannot read msclkid
  • msclkid required for UET tag conversions
  • UTMs required for GA4 attribution

Setup:

Code
Microsoft Ads → Settings → Auto-tagging: ON
Tracking Template:
{lpurl}?utm_source=bing&utm_medium=cpc&utm_campaign={campaign}&msclkid={msclkid}

Result:
yoursite.com/page?utm_source=bing&utm_medium=cpc&utm_campaign=brand_search&msclkid=abc123

Dynamic parameters:

  • {campaign} - Campaign name
  • {adgroup} - Ad group name
  • {keyword} - Matched keyword
  • {matchtype} - Match type (exact, phrase, broad)

TikTok Ads: Both Required

Recommendation: ttclid (automatic) + manual UTMs

Why:

  • ttclid powers TikTok Pixel
  • GA4 cannot read ttclid
  • UTMs required for GA4 attribution

Setup:

Code
TikTok Ads → Tracking → URL Parameters:
utm_source=tiktok&utm_medium=paid-social&utm_campaign={{campaign.name}}

Actual URL:
yoursite.com/page?utm_source=tiktok&utm_medium=paid-social&utm_campaign=spring_sale&ttclid=7abc123

Result:
- TikTok Pixel reads ttclid
- GA4 reads UTMs

LinkedIn Ads: Manual UTMs Only

Recommendation: Manual UTMs (no auto-tagging available)

Setup:

Code
LinkedIn Campaign Manager → URL Parameters:
utm_source=linkedin&utm_medium=paid-social&utm_campaign=lead_gen_2024

Result:
yoursite.com/page?utm_source=linkedin&utm_medium=paid-social&utm_campaign=lead_gen_2024

Note: LinkedIn has Insight Tag for conversion tracking but doesn't append click IDs to URLs.

Common Mistakes & Fixes

Mistake 1: Using UTMs with Google Ads Auto-Tagging

Code
❌ WRONG (unnecessary):
yoursite.com?gclid=abc123&utm_source=google&utm_medium=cpc

✅ RIGHT (auto-tagging alone):
yoursite.com?gclid=abc123

Why this works: GA4 automatically translates gclid into source/medium/campaign.

Exception: Add UTMs if you need custom campaign names different from Google Ads.

Mistake 2: Facebook Ads Without UTMs

Code
❌ WRONG (missing UTMs):
yoursite.com?fbclid=IwAR123

✅ RIGHT (both):
yoursite.com?utm_source=facebook&utm_medium=paid-social&fbclid=IwAR123

Why: GA4 ignores fbclid, shows traffic as Direct without UTMs.

Mistake 3: Conflicting UTM and Click ID Sources

Code
❌ WRONG (conflict):
yoursite.com?gclid=abc123&utm_source=facebook

✅ RIGHT (aligned):
yoursite.com?gclid=abc123
(No UTMs, let gclid determine attribution)

OR

yoursite.com?utm_source=google&utm_medium=cpc
(UTMs match click ID source)

Validation Checklist

Before launching any paid campaign:

✅ Google Ads:

  • Auto-tagging enabled
  • Test ad clicked, gclid appears in URL
  • GA4 Real-Time shows source: google, medium: cpc

✅ Facebook/Instagram Ads:

  • UTM parameters configured in URL settings
  • fbclid automatically appended
  • GA4 Real-Time shows source: facebook, medium: paid-social

✅ Microsoft Ads:

  • Auto-tagging enabled
  • Tracking template configured with UTMs
  • Both msclkid and UTMs appear in landing URL

✅ TikTok Ads:

  • UTM parameters configured
  • ttclid automatically appended
  • GA4 Real-Time shows source: tiktok

✅ LinkedIn Ads:

  • UTM parameters configured
  • Test click shows UTMs in URL
  • GA4 Real-Time shows source: linkedin

Decision Tree: What Should I Use?

Start here: What platform are you using?

Google Ads:

  • Need custom campaign names? → Use auto-tagging + UTMs
  • Standard setup? → Use auto-tagging only

Facebook/Instagram/TikTok/Pinterest:

  • Always use both (click ID + UTMs)

Microsoft Ads:

  • Always use both (msclkid + UTMs via tracking template)

LinkedIn/Twitter/Reddit/Quora:

  • Manual UTMs only (no auto-tagging available)

Email/SMS/Affiliate:

  • Manual UTMs only (no click IDs)

✅ Fixed this issue? Great! Now check the other 39...

You just fixed one tracking issue. But are your Google Ads doubling sessions? Is Facebook attribution broken? Are internal links overwriting campaigns?

Connects to GA4 (read-only, OAuth secured)

Scans 90 days of traffic in 2 minutes

Prioritizes by revenue impact

Free forever for monthly audits

Run Complete UTM Audit (Free Forever)

Join 2,847 marketers fixing their tracking daily

FAQ

Can I use both auto-tagging and manual UTMs on the same URL?

Yes, for most platforms. Google Ads: optional. Facebook/Microsoft/TikTok: required. The click ID and UTMs serve different purposes and don't conflict when properly configured.

Which takes priority in GA4: click ID or UTMs?

For Google Ads, gclid overrides UTMs. For other platforms (Facebook, Microsoft, TikTok), GA4 ignores the click ID and uses UTMs for attribution.

What if I disable auto-tagging after it's been enabled?

You'll lose automatic cost data import (Google Ads) and conversion tracking accuracy. Historical data remains but future clicks won't have click IDs.

Do I need UTMs if I'm only running Google Ads?

No, if you're satisfied with Google Ads campaign names appearing in GA4. Add UTMs only if you need custom naming or cross-platform campaign grouping.

Why does Facebook need both fbclid and UTMs?

fbclid powers the Facebook Pixel for conversion tracking and ad optimization. UTMs power GA4 attribution. Facebook's system and Google's GA4 are separate—each needs its own tracking parameter.

Can I use URL shorteners with auto-tagging?

Yes, but ensure the shortener preserves all query parameters. Test that both click IDs and UTMs pass through the redirect. Bitly and most major shorteners handle this correctly.

What happens if UTM source conflicts with the click ID?

GA4 will show whichever parameter has priority. For gclid, Google's attribution wins. For other platforms, UTMs win since GA4 can't read their click IDs. Always ensure UTM source matches the actual platform.

How do I test if auto-tagging is working?

Click a test ad from the platform. Check the landing URL in your browser address bar. The platform's click ID parameter should be visible (gclid, fbclid, msclkid, ttclid).

Do auto-tagging parameters expire?

Click IDs remain in the URL unless removed by redirects or user actions. GA4 captures them on page load. However, platforms may expire the click ID's ability to link back to campaign data after 30-90 days.

Should I remove auto-tagging parameters from the browser address bar?

Only after GA4 has captured them (typically 1-2 seconds after page load). Use JavaScript to clean URLs for better user experience while preserving tracking data.


Related guides:

✅ Fixed this issue? Great! Now check the other 39...

You just fixed one tracking issue. But are your Google Ads doubling sessions? Is Facebook attribution broken? Are internal links overwriting campaigns?

Connects to GA4 (read-only, OAuth secured)

Scans 90 days of traffic in 2 minutes

Prioritizes by revenue impact

Free forever for monthly audits

Run Complete UTM Audit (Free Forever)

Join 2,847 marketers fixing their tracking daily

UTM

Get Your Free Audit in 60 Seconds

Connect GA4, run the scan, and see exactly where tracking is leaking budget. No credit card required.

Trusted by growth teams and agencies to keep attribution clean.