What auto-tagging does
When you enable auto-tagging in Google Ads, every ad click gets a gclid parameter (Google Click Identifier) appended to the landing URL. Google Analytics then matches that identifier against Google Ads data and imports the full click context automatically: campaign, ad group, keyword, match type, ad creative, cost data and more — richer and more reliable than anything you could type by hand.
For Google Ads traffic flowing into Google Analytics 4, auto-tagging is the default recommendation, and for good reason: it eliminates typos, captures data UTMs cannot (like actual cost), and keeps working when campaigns are restructured.
What manual tagging does
Manual tagging means appending UTM parameters yourself: utm_source=google&utm_medium=cpc&utm_campaign=spring&utm_term=running+shoes. You control every value, the tags work in any analytics platform (not just Google's), and the data is human-readable in any report. The cost is maintenance: every URL must be built correctly, values must stay consistent, and keyword-level data must be typed or generated per keyword.
Our UTM term generator exists precisely to make the manual side less error-prone — but it cannot remove the fundamental tradeoff. New to the parameters themselves? Start with UTM parameters explained.
Head-to-head comparison
| Factor | Auto-tagging (gclid) | Manual tagging (UTMs) |
|---|---|---|
| Setup effort | One toggle in Google Ads | Every URL must be tagged |
| Data richness | Full: keyword, match type, cost, creative | Only what you type |
| Typo risk | None | Constant; one bad value corrupts reports |
| Works outside Google Analytics | No | Yes — any platform reads UTMs |
| Human-readable URLs | No (opaque ID) | Yes |
| Cross-platform consistency | Google Ads only | Same scheme for all ad platforms |
| Cost data | Imported automatically | Not available via UTMs |
When auto-tagging wins
Use auto-tagging when all three are true: your ads run on Google Ads, your analytics is Google Analytics 4, and you want keyword and cost data with minimum maintenance. This covers the majority of Google Ads advertisers. Enable it, verify the gclid appears on landing URLs, and confirm the Google Ads linking in GA4 is active — then stop thinking about tagging for Google traffic.
When manual tagging still matters
- Non-Google ad platforms. Microsoft Ads, Meta, TikTok, LinkedIn — none of them speak gclid. Manual UTMs are the universal language.
- Third-party analytics. If your source of truth is Mixpanel, Amplitude, Plausible or a data warehouse, gclid means nothing there. UTMs work everywhere.
- CRM and attribution systems that parse UTM parameters from landing URLs to stamp leads with source data.
- Consistent cross-channel reporting — one tagging scheme across every paid channel makes blended reports possible.
- Debugging. A human-readable
utm_termin the URL is worth a lot when diagnosing why a campaign's data looks wrong.
Can you use both?
Yes, and many teams do: auto-tagging for Google Ads into GA4, plus manual UTMs on the same URLs for the warehouse, CRM and third-party tools. The two systems coexist — gclid and UTM parameters do not conflict. The one rule: keep the manual values consistent with reality, because when the two disagree, someone will trust the wrong one. Document which system is authoritative for which report.
The utm_term decision
For Google Ads with auto-tagging on, manual utm_term is redundant — the keyword arrives via gclid with more detail than a hand-typed value. Keep manual utm_term for: non-Google paid search, analytics platforms outside Google's, and any system that keys off UTM parameters. Everywhere else, let the automation do the typing.
A practical hybrid setup
If you run Google Ads alongside other paid channels, here is a tagging workflow that stays sane: Once the tagging is live, the payoff is in the reports; see how to read UTM data in GA4.
- Enable auto-tagging in Google Ads and link it to GA4 — this covers Google traffic with zero per-URL work.
- Tag everything else manually with one consistent scheme:
utm_sourceas the platform,utm_mediumfrom your controlled list, datedutm_campaignvalues. - Keep one vocabulary document listing every approved value, so "paid-social" never becomes "paidsocial" on a Friday afternoon.
- Audit quarterly: pull a source/medium report, and every unrecognized value gets added to the vocabulary or fixed at the source.
Frequently asked questions
Does auto-tagging replace all UTM parameters?
For Google Ads traffic into GA4, effectively yes — gclid carries campaign, keyword, cost and creative data. UTMs remain useful for other platforms and other analytics tools.
Will manual UTMs break auto-tagging?
No. The two coexist on the same URL. Just keep manual values accurate, and document which source each report trusts.
Why is my gclid traffic showing as unassigned in GA4?
Usually the Google Ads–GA4 link is missing or the auto-tagging toggle got disabled. Check both, and allow up to a day for data to flow after fixing.
Should I manually tag Microsoft Ads?
Yes — Microsoft has its own auto-tagging (msclkid) for its ecosystem, but for universal reporting, manual UTMs on Microsoft Ads URLs are the standard approach.
Is there any downside to enabling auto-tagging?
Very little. The gclid makes URLs slightly longer and opaque, and some strict redirect setups strip parameters — test the full click path after enabling.