Guide
UTM parameters for Google Ads
Google already invented a click identifier. That does not make UTMs useless. It makes them a translation layer so paid search can sit next to email and LinkedIn without looking like a different dialect. This page is the Ads-account work. The theory of gclid vs tags is UTM vs auto-tagging.
Do this first: auto-tagging and the link
Turn on auto-tagging in Google Ads (account settings). Link Google Ads to GA4 (GA4 Admin → Product links). That path gives you campaign, ad group, and keyword detail inside the Google Ads reports in Analytics. If you skip linking and only add pretty UTMs, you get pretty source/medium and thinner Ads diagnostics. Do both when you can. Do not turn auto-tagging off to “only use UTMs.”
When a manual UTM still helps
- You want
utm_campaign=brand-searchto match the same string used in Microsoft Ads and the weekly email. - A CRM or warehouse lands page URLs but does not expand
gclid. - You run Performance Max or YouTube and still want a human campaign name in Session campaign next to Meta.
- A partner or agency looks at GA4, not the Ads UI, and needs a name they can say in a meeting.
If none of those are true and the accounts are linked, you can live on gclid for Google-only reporting. Most teams that also run Meta and email still want the suffix. Why the site report needs names at all: why track campaign traffic.
Values that map to Paid Search
| Parameter | Value | Why |
|---|---|---|
utm_source | google | Platform. Not google.com, not Google Ads. |
utm_medium | cpc | Default channel grouping can treat this as Paid Search. |
utm_campaign | Human program name | Same string you use in email if it is the same initiative. |
utm_term | {keyword} or a theme | ValueTrack fills the actual query or keyword. |
utm_content | {creative} or ad name | Which ad, without a new campaign name. |
utm_id | {campaignid} | Join key back to the Ads UI. |
Microsoft Advertising is the same idea with utm_source=bing and msclkid left intact. Display / YouTube demand-gen can use display or video if you have decided that in the taxonomy — do not silently reuse cpc for a bumper ad if you care about channel mix. Confirm in the channel checker.
A calm final URL suffix
Prefer the final URL suffix when you only need to add query parameters. Example:
utm_source=google&utm_medium=cpc&utm_campaign=brand-search&utm_term={keyword}&utm_content={creative}&utm_id={campaignid}
A tracking template that wraps the landing page:
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign=brand-search&utm_term={keyword}&utm_content={creative}&utm_id={campaignid}
Use {lpurl} so landing page changes do not orphan the template. Campaign should be a name you would say in a meeting, not only an account ID. Build the human bits in the builder (Google Ads preset) or copy from templates, then paste ValueTrack tokens into term, content, and id.
Performance Max and YouTube
PMax does not give you the same ad-level URL control as Search. You can still set a suffix at campaign level so sessions carry a shared campaign name. Asset-group detail may not appear as neatly as Search keywords. Do not expect UTMs to recreate the PMax UI inside GA4. Use them so PMax is not a mystery lump next to a tagged email.
QA a live click
- Serve or preview an ad. Click it on a phone.
- Read the final URL with the click ID inspector. You want gclid and the UTMs if you added a suffix.
- Score hygiene in the validator.
- Confirm in GA4 using how to see UTMs. Clicks will not equal sessions; that is a definition gap, not automatically a broken suffix.