Start With the Right Measurement Choice: Auto-Tagging vs. UTM Parameters
Before you add UTM parameters to Google Ads, get clear on why you’re adding them. In most Google Ads + Google Analytics 4 setups, the cleanest approach is to rely on auto-tagging (which adds a click identifier to your landing page URL) because it unlocks the richest Ads-to-Analytics detail. UTM parameters are still extremely useful—but typically as a supplement for cross-platform consistency, third-party analytics, CRM attribution, or “special case” websites where click identifiers can’t be used reliably.
One important nuance: if you use manual tagging (UTMs), be consistent. Partial UTM tagging often creates messy reporting, including “(not set)” values. If you’re going to tag, do it with a standard that your whole team follows.
What UTMs Typically Track (and Which Ones Matter Most)
UTM parameters are simple key/value pairs added to URLs so analytics tools can classify traffic. The “core five” most advertisers use are utm_source, utm_medium, utm_campaign, utm_content, and utm_term. In a Google Ads context, a common convention is source=google and medium=cpc, then you use campaign/content/term to capture the “which campaign, which ad, which keyword (or targeting)” detail.
My practical advice after years of audits: decide whether your UTMs are meant to be human-readable labels (great for marketing dashboards) or stable IDs (great for data warehouses). You can do either, but mixing the two randomly is where reporting becomes painful.
When Adding UTMs to Google Ads Is the Right Move
UTMs are worth adding when you need consistent channel labeling across multiple ad platforms, you’re using an analytics system that depends on UTMs, you want “belt and suspenders” classification for edge cases, or you’re passing campaign metadata into a backend system via the landing page URL. Just be deliberate about where you add them in Google Ads so you don’t create approval churn or accidentally override more specific tracking.
Best-Practice Implementation in Google Ads: Final URL Suffix First
In modern Google Ads accounts, the most reliable and scalable place to attach UTMs to the landing page URL is the Final URL suffix. It’s designed specifically to append parameters to the end of the landing page URL, and it can be applied at multiple levels (account, campaign, ad group, ad, keyword, dynamic ad target, and sitelink). This makes it ideal for UTM tagging because you’re not forced to rebuild the landing page URL structure manually.
Option A: Simple, Static UTMs Using Final URL Suffix
If you’re managing a smaller account or you don’t need campaign-by-campaign customization, you can use a straightforward UTM set in the Final URL suffix and keep it consistent.
- Decide the level: If you want one standard across everything, set it as high as possible (account or campaign). If different campaigns need different values, set at campaign or ad group.
- Add the suffix: Enter a parameter string (key=value pairs separated by &) in the “Final URL suffix” field.
- Save and verify: Use the built-in testing workflow in URL options to ensure the final landing page URL resolves correctly.
Example Final URL suffix you can adapt:
utm_source=google&utm_medium=cpc&utm_campaign=brand_search&utm_content=responsive_search&utm_term=na
This is intentionally “static.” It’s not fancy, but it’s hard to break and it keeps your reporting clean.
Option B: Scalable UTMs Using Custom Parameters (My Go-To for Larger Accounts)
For larger accounts, you usually want consistent structure with flexible values. This is where custom parameters shine. You define a custom parameter (for example {_utm_campaign}) at the campaign or ad group level, then reference it inside your URL setup. Google Ads will substitute the value at click time.
Key behavior to know: you can create multiple custom parameters per level, and if the same custom parameter name exists at different levels, the most specific one takes precedence. Also, custom parameters are set at levels like campaign/ad group/ad/keyword (not at the overall account level), so plan your structure accordingly.
A clean, scalable pattern looks like this:
1) Set custom parameters per campaign (or ad group)
Example campaign custom parameter:{_utm_campaign}=brand_us_q1
2) Use Final URL suffix to apply your standard UTM framework
Example Final URL suffix:utm_source=google&utm_medium=cpc&utm_campaign={_utm_campaign}
This approach gives you two big wins: you can keep a standardized UTM “template,” and you can rename campaigns inside Google Ads without accidentally changing your external reporting labels (because you control the label explicitly).
When to Use a Tracking Template (and How Not to Break Your URLs)
Use a tracking template when you need a third-party click tracker, redirect-based measurement, or more advanced routing. The biggest rule: if you set a tracking template at account/campaign/ad group level, it must include a final URL insertion parameter (commonly {lpurl}) or your landing page URL can break.
Also, keep your roles clear: tracking templates are best for third-party tracking/redirect logic, while parameters you want to propagate to the final landing page are typically best placed in the Final URL suffix. That division prevents a lot of messy escaping issues and makes maintenance easier.
Finally, remember that parallel tracking is the standard click measurement method across most campaign types. If you’re using redirects, ensure your tracking and redirect chain is compatible and uses secure URLs end-to-end, or you risk measurement gaps and broken user journeys.
Make Your UTMs “Smart” With Dynamic Values (Without Overcomplicating It)
If you want UTMs to capture details like keyword, device, or network, you’ll usually do that with dynamic parameters. In Google Ads, these are commonly implemented using ValueTrack parameters and/or custom parameters.
Practical Dynamic UTM Examples
If your reporting needs keyword-level detail, you can populate utm_term dynamically. Just be aware that in campaign types that don’t use keywords (or where matching can happen without keywords), keyword-based parameters may come through blank—so don’t build dashboards that assume the field will always be populated.
Example Final URL suffix that blends a clean UTM set with dynamic details:
utm_source=google&utm_medium=cpc&utm_campaign={_utm_campaign}&utm_content={creative}&utm_term={keyword}
In that setup, you still control the campaign label via a custom parameter, while allowing ad/keyword details to flow through dynamically where supported.
QA, Troubleshooting, and “Gotchas” That Break UTM Tracking
Test Like a Pro Before You Roll It Out
Two tests prevent most tracking disasters. First, confirm your website allows arbitrary URL parameters and doesn’t error out or strip them during redirects. Second, in Google Ads URL options, use the testing feature to confirm the combined final URL + tracking resolves to a working landing page and returns the parameters you expect.
Also watch for fragments (anything after a #). Parameters must appear before fragments or many analytics tools won’t read them.
Common UTM Problems (and What to Fix First)
- UTMs missing in analytics: Your website may be stripping query parameters, or a redirect is dropping them. Fix the redirect logic first—don’t “patch” this by adding UTMs in multiple places.
- Duplicate UTMs: This usually happens when UTMs exist in the final URL and the final URL suffix. Standardize on one method (preferably the suffix).
- “(not set)” for campaign/source/medium: This is typically incomplete manual tagging. If you set one UTM, set the rest of the relevant ones so your analytics platform doesn’t have to guess.
- Approval delays after changes: If you’re changing URLs at the ad, keyword, or asset level, you can trigger review workflows. Whenever possible, centralize tracking at higher levels to reduce operational friction.
Campaign-Type Considerations: Performance Max, Shopping Feeds, and Assets
Not every campaign type behaves like Search keywords. For example, keyword-based tracking values can be blank in keywordless matching scenarios. For Shopping and other feed-based formats, be cautious about hard-coding UTMs into product URLs that are shared across multiple campaign types and surfaces; it’s much easier to maintain accurate attribution when you handle your campaign-specific tracking in Google Ads URL settings instead of embedding it in a feed URL that’s used everywhere.
Finally, don’t forget assets. Sitelinks (and other assets) can have their own URL options, and if you care about clean attribution, you’ll want a consistent plan for how UTMs apply when traffic lands via an asset URL versus a headline URL.
Let AI handle
the Google Ads grunt work
Let AI handle
the Google Ads grunt work
If you’re standardizing UTMs in Google Ads—whether via Final URL suffix, custom parameters, or ValueTrack—the hardest part is often keeping everything consistent over time as campaigns, assets, and landing pages evolve. Blobr can help by connecting to your Google Ads account and continuously analyzing changes, flagging tracking and structure issues that can lead to messy reporting, and turning best practices into clear, prioritized actions; its specialized AI agents can also support related work like aligning keywords, ads, and landing pages so your measurement stays reliable as you scale.
Start With the Right Measurement Choice: Auto-Tagging vs. UTM Parameters
Before you add UTM parameters to Google Ads, get clear on why you’re adding them. In most Google Ads + Google Analytics 4 setups, the cleanest approach is to rely on auto-tagging (which adds a click identifier to your landing page URL) because it unlocks the richest Ads-to-Analytics detail. UTM parameters are still extremely useful—but typically as a supplement for cross-platform consistency, third-party analytics, CRM attribution, or “special case” websites where click identifiers can’t be used reliably.
One important nuance: if you use manual tagging (UTMs), be consistent. Partial UTM tagging often creates messy reporting, including “(not set)” values. If you’re going to tag, do it with a standard that your whole team follows.
What UTMs Typically Track (and Which Ones Matter Most)
UTM parameters are simple key/value pairs added to URLs so analytics tools can classify traffic. The “core five” most advertisers use are utm_source, utm_medium, utm_campaign, utm_content, and utm_term. In a Google Ads context, a common convention is source=google and medium=cpc, then you use campaign/content/term to capture the “which campaign, which ad, which keyword (or targeting)” detail.
My practical advice after years of audits: decide whether your UTMs are meant to be human-readable labels (great for marketing dashboards) or stable IDs (great for data warehouses). You can do either, but mixing the two randomly is where reporting becomes painful.
When Adding UTMs to Google Ads Is the Right Move
UTMs are worth adding when you need consistent channel labeling across multiple ad platforms, you’re using an analytics system that depends on UTMs, you want “belt and suspenders” classification for edge cases, or you’re passing campaign metadata into a backend system via the landing page URL. Just be deliberate about where you add them in Google Ads so you don’t create approval churn or accidentally override more specific tracking.
Best-Practice Implementation in Google Ads: Final URL Suffix First
In modern Google Ads accounts, the most reliable and scalable place to attach UTMs to the landing page URL is the Final URL suffix. It’s designed specifically to append parameters to the end of the landing page URL, and it can be applied at multiple levels (account, campaign, ad group, ad, keyword, dynamic ad target, and sitelink). This makes it ideal for UTM tagging because you’re not forced to rebuild the landing page URL structure manually.
Option A: Simple, Static UTMs Using Final URL Suffix
If you’re managing a smaller account or you don’t need campaign-by-campaign customization, you can use a straightforward UTM set in the Final URL suffix and keep it consistent.
- Decide the level: If you want one standard across everything, set it as high as possible (account or campaign). If different campaigns need different values, set at campaign or ad group.
- Add the suffix: Enter a parameter string (key=value pairs separated by &) in the “Final URL suffix” field.
- Save and verify: Use the built-in testing workflow in URL options to ensure the final landing page URL resolves correctly.
Example Final URL suffix you can adapt:
utm_source=google&utm_medium=cpc&utm_campaign=brand_search&utm_content=responsive_search&utm_term=na
This is intentionally “static.” It’s not fancy, but it’s hard to break and it keeps your reporting clean.
Option B: Scalable UTMs Using Custom Parameters (My Go-To for Larger Accounts)
For larger accounts, you usually want consistent structure with flexible values. This is where custom parameters shine. You define a custom parameter (for example {_utm_campaign}) at the campaign or ad group level, then reference it inside your URL setup. Google Ads will substitute the value at click time.
Key behavior to know: you can create multiple custom parameters per level, and if the same custom parameter name exists at different levels, the most specific one takes precedence. Also, custom parameters are set at levels like campaign/ad group/ad/keyword (not at the overall account level), so plan your structure accordingly.
A clean, scalable pattern looks like this:
1) Set custom parameters per campaign (or ad group)
Example campaign custom parameter:{_utm_campaign}=brand_us_q1
2) Use Final URL suffix to apply your standard UTM framework
Example Final URL suffix:utm_source=google&utm_medium=cpc&utm_campaign={_utm_campaign}
This approach gives you two big wins: you can keep a standardized UTM “template,” and you can rename campaigns inside Google Ads without accidentally changing your external reporting labels (because you control the label explicitly).
When to Use a Tracking Template (and How Not to Break Your URLs)
Use a tracking template when you need a third-party click tracker, redirect-based measurement, or more advanced routing. The biggest rule: if you set a tracking template at account/campaign/ad group level, it must include a final URL insertion parameter (commonly {lpurl}) or your landing page URL can break.
Also, keep your roles clear: tracking templates are best for third-party tracking/redirect logic, while parameters you want to propagate to the final landing page are typically best placed in the Final URL suffix. That division prevents a lot of messy escaping issues and makes maintenance easier.
Finally, remember that parallel tracking is the standard click measurement method across most campaign types. If you’re using redirects, ensure your tracking and redirect chain is compatible and uses secure URLs end-to-end, or you risk measurement gaps and broken user journeys.
Make Your UTMs “Smart” With Dynamic Values (Without Overcomplicating It)
If you want UTMs to capture details like keyword, device, or network, you’ll usually do that with dynamic parameters. In Google Ads, these are commonly implemented using ValueTrack parameters and/or custom parameters.
Practical Dynamic UTM Examples
If your reporting needs keyword-level detail, you can populate utm_term dynamically. Just be aware that in campaign types that don’t use keywords (or where matching can happen without keywords), keyword-based parameters may come through blank—so don’t build dashboards that assume the field will always be populated.
Example Final URL suffix that blends a clean UTM set with dynamic details:
utm_source=google&utm_medium=cpc&utm_campaign={_utm_campaign}&utm_content={creative}&utm_term={keyword}
In that setup, you still control the campaign label via a custom parameter, while allowing ad/keyword details to flow through dynamically where supported.
QA, Troubleshooting, and “Gotchas” That Break UTM Tracking
Test Like a Pro Before You Roll It Out
Two tests prevent most tracking disasters. First, confirm your website allows arbitrary URL parameters and doesn’t error out or strip them during redirects. Second, in Google Ads URL options, use the testing feature to confirm the combined final URL + tracking resolves to a working landing page and returns the parameters you expect.
Also watch for fragments (anything after a #). Parameters must appear before fragments or many analytics tools won’t read them.
Common UTM Problems (and What to Fix First)
- UTMs missing in analytics: Your website may be stripping query parameters, or a redirect is dropping them. Fix the redirect logic first—don’t “patch” this by adding UTMs in multiple places.
- Duplicate UTMs: This usually happens when UTMs exist in the final URL and the final URL suffix. Standardize on one method (preferably the suffix).
- “(not set)” for campaign/source/medium: This is typically incomplete manual tagging. If you set one UTM, set the rest of the relevant ones so your analytics platform doesn’t have to guess.
- Approval delays after changes: If you’re changing URLs at the ad, keyword, or asset level, you can trigger review workflows. Whenever possible, centralize tracking at higher levels to reduce operational friction.
Campaign-Type Considerations: Performance Max, Shopping Feeds, and Assets
Not every campaign type behaves like Search keywords. For example, keyword-based tracking values can be blank in keywordless matching scenarios. For Shopping and other feed-based formats, be cautious about hard-coding UTMs into product URLs that are shared across multiple campaign types and surfaces; it’s much easier to maintain accurate attribution when you handle your campaign-specific tracking in Google Ads URL settings instead of embedding it in a feed URL that’s used everywhere.
Finally, don’t forget assets. Sitelinks (and other assets) can have their own URL options, and if you care about clean attribution, you’ll want a consistent plan for how UTMs apply when traffic lands via an asset URL versus a headline URL.
