Guide

Where do UTM parameters go in Google Ads?

In the final URL suffix, not the tracking template. Why, which template Google uses when several are set, and what a ? in a template does to your landing page.

In short

The manual way comes first, in Google Ads itself. Then the same problem as Goldbeater finds it, every day, without anyone asking.

  • UTM parameters go in the final URL suffix, the field whose parameters Google adds to the end of your landing page URL.
  • Google sends people straight from the ad to the final URL and loads the tracking template in the background, so its developer documentation says parameters your landing page needs belong in the suffix, not the template.
  • A template that starts {lpurl}? is safe on a final URL that already has a question mark: Google replaces the template's ? with & itself.
  • Only the most specific template applies to a click: a keyword's, then an ad's, ad group's, campaign's and the account's. Templates set at different levels aren't combined, and neither are suffixes.
  • When a template and a suffix both set utm_source, the landing page gets it twice, and which one counts is up to your analytics tool, not Google Ads. Set each parameter in one place.
  • Goldbeater reads every level's template, suffix and custom parameters every day, and raises a custom parameter that arrives empty, auto-tagging switched off while your conversions rely on it, and a click ID pasted into a final URL.
01

UTM parameters belong in the final URL suffix.

Each ad’s URL options have two fields for tracking, and they do different jobs:

  • Final URL suffix. Parameters Google adds to the end of your landing page URL, where your analytics reads them.
  • Tracking template. Tracking information for click measurement, with {lpurl} where your final URL goes. Google calls it an advanced feature for advertisers who use a third-party click tracker, and says most advertisers won’t need one.

The difference is where each one goes after a click. Google sends people straight from the ad to your final URL and loads the tracking template in the background. It calls this parallel tracking, and it’s mandatory for Search, Shopping, Display, Video and Performance Max campaigns.

So Google’s developer documentation says parameters your landing page needs must go in the final URL suffix, or in the final URL itself, rather than the tracking template. UTM parameters are read on the landing page, so they belong in the suffix.

A final URL suffix
Example
FieldValue
Final URLhttps://example.com/sofas
Final URL suffixutm_source=google&utm_medium=cpc
Landing pagehttps://example.com/sofas?utm_source=google&utm_medium=cpc
Write the suffix without a ? in front, and join its parameters with &. Google adds the ? itself.

A template full of UTM parameters isn’t broken. Google’s own examples show a template that begins {lpurl}? carrying its parameters to the landing page. It’s in the field meant for something else, though, and it can collide with a suffix, as the fifth section shows.

02

A ? in the template is safe, even when the final URL has one.

The usual worry is a product page whose final URL already has a question mark, such as /sofas?color=oak, under a template that adds another. Two question marks in one address would break the parameters after the second.

Google prevents it. In its words: “If your final URL already contains a question mark, Google Ads will replace the question mark in your tracking template with an ampersand (&).”

The ? becomes &
Example
FieldValue
Final URLhttps://example.com/sofas?color=oak
Tracking template{lpurl}?utm_source=google
Landing pagehttps://example.com/sofas?color=oak&utm_source=google
The template's ? became &, because the final URL already had a ?.

That holds for a template that begins with {lpurl}, which Google says to follow with a ?. Where {lpurl} sits inside a click tracker’s address instead, Google escapes your final URL, and what follows it is %3F. Your tracker’s own instructions give its exact format.

Two things do break a landing page, by Google’s account:

  • A template without {lpurl} at the account, campaign or ad group level. Google says a template there must insert your final URL, or your landing page URL will break.
  • A final URL with an anchor (#). When a template adds parameters to the end of a final URL with an anchor, Google says all the tracking parameters must go in the final URL itself.
03

Only the most specific template applies, and it replaces the rest.

A template can be set on the account, a campaign, an ad group, an ad or a keyword. Google uses one for each click, the most specific: the keyword’s, then the ad’s, the ad group’s, the campaign’s, and last the account’s.

It doesn’t combine them. Google’s developer documentation says the template and the final URL suffix are each taken from the lowest level that has one, separately. Whatever is set higher up doesn’t reach that click.

So a level with its own template or suffix has to carry everything. An ad group whose suffix sets only utm_content sends none of the account suffix’s parameters.

A lower suffix wins
Example
FieldValue
Account suffixutm_source=google&utm_medium=cpc
Ad group suffixutm_content=oak
Landing pagehttps://example.com/sofas?utm_content=oak
Clicks in that ad group arrive without utm_source or utm_medium.
04

A custom parameter no level gives a value arrives empty.

A custom parameter is a name and a value you set, such as campaign and sofas, and use in a template, suffix or final URL as {_campaign}. Google lets you set up to 8 on a campaign, an ad group, an ad or a keyword, and none on the account.

Unlike templates, custom parameters from different levels combine. Google looks each name up on its own and takes the value from the lowest level that sets it: if an ad group sets {_color} to red and one of its ads sets it to blue, that ad’s clicks carry blue.

A name that no level sets doesn’t break the address. Google puts nothing in its place, so the parameter it fills arrives with no value. So does one whose lowest level sets it to nothing, since that value wins over any above it.

A name nothing sets
Example
FieldValue
Final URLhttps://example.com/sofas
Campaign suffixutm_source=google&utm_campaign={_campaign}
Landing pagehttps://example.com/sofas?utm_source=google&utm_campaign=
No campaign, ad group or ad sets campaign, so utm_campaign arrives empty.
05

How to find every template and suffix in an account

Templates and suffixes can sit at any of those levels, so read each one.

  1. Go to Admin › Account settings and open the Tracking section. Note the account’s tracking template and final URL suffix.
  2. Go to Campaigns › Campaigns and select the Settings tab. Add the Tracking template column: select the columns icon above the table, then Modify columns, expand Attributes, select Tracking template and Apply. A campaign with its own template shows it there.
  3. Do the same on Campaigns › Ad groups and on Campaigns › Audiences, keywords, and content › Search keywords.
  4. Hover over an entry in the column and select the pencil. The Final URL suffix field is in the same place as the template.
  5. For ads, go to Campaigns › Ads, hover over an ad, select the pencil, then Edit, and expand Ad URL options.
  6. Custom parameters sit beside them: a campaign’s under Campaign URL options in its settings, an ad group’s in the Custom parameter column, and an ad’s under Ad URL options.
  7. Select Test beside a template. Google combines your final URL with the tracking you set up and shows the landing page it leads to.

Google’s help also points to a Tracking template source column, which shows which template applies. Then look for four things:

  • UTM parameters in a template rather than a suffix.
  • A template or suffix lower down that leaves out parameters the account sets. Clicks under it arrive without them.
  • A {_name} in a template or suffix with no custom parameter of that name at any level that reaches the ad. It arrives empty.
  • The same UTM parameter set in a template and in a suffix that apply to the same ad. That’s the next section.
06

When a template and a suffix both set a parameter, your analytics decides which counts.

Take a campaign whose template is {lpurl}?utm_source=google, and an ad in it with its own suffix, utm_source=sale. Google applies both, because it chooses the template and the suffix separately: it adds the suffix to the final URL, then puts that address where {lpurl} is in the template.

One parameter, set twice
Example
FieldValue
Final URLhttps://example.com/sofas
Campaign template{lpurl}?utm_source=google
Ad suffixutm_source=sale
Landing pagehttps://example.com/sofas?utm_source=sale&utm_source=google
The landing page gets utm_source twice, the suffix's first.

Google Ads has built the address the way it documents. Which utm_source counts is up to whatever reads the address on your site:

  • Google Analytics, with auto-tagging on. Google turns auto-tagging on by default for new accounts. When a click carries auto-tagging and UTM parameters together, Google Analytics takes source, medium and the other traffic-source dimensions from auto-tagging, and Google says it has no option to put the UTM values first.
  • Google Analytics, where it can’t use the click’s GCLID, the identifier auto-tagging adds. It then takes every source dimension from the UTM parameters. Its help doesn’t say which copy of a repeated parameter it reads.
  • Anything else that reads the address, such as another analytics tool, or a form on your site that saves UTM values with each lead. Each follows its own rule.

So don’t leave it to the tool. Keep each UTM parameter in one place, which is what the next section does.

07

Move UTM parameters to the final URL suffix

Leave a click tracker’s template where it is. Move only the UTM parameters.

  1. Write the parameters once, without a ? in front, joined by &: utm_source=google&utm_medium=cpc. ValueTrack parameters work in a suffix as they do in a final URL, so utm_id={campaignid} records each campaign’s ID.
  2. Put them in the account’s suffix: Admin › Account settings, the Tracking section, the Final URL suffix field, then Save. Google doesn’t send ads back to review for a change at the account, campaign or ad group level. A change on an ad, keyword or sitelink does go through review.
  3. Take the UTM parameters out of every template you found. If a template held nothing else, clear it.
  4. Where a campaign or ad needs its own values, give it its own suffix with the whole set, because it replaces the account’s rather than adding to it.
  5. Select Test on each template you changed. Google says template changes take 24 to 48 hours to reach your ads, so read your analytics after that.
08

What Goldbeater shows you

Every day Goldbeater reads the tracking template, final URL suffix and custom parameters at every level: the account, each campaign, ad group and ad, each Performance Max asset group, and each keyword’s own. It raises three things, each read from the account’s settings:

  • A custom parameter that arrives empty. A {_name} in the template, suffix or final URL an ad or asset group uses that no level gives a value. Medium where it sits above the ad and reaches many, low on one ad.
  • Auto-tagging switched off while a conversion action your bidding counts relies on the click ID: high for a Google Analytics import or an offline import, which Google says need auto-tagging, and medium for website tags alone, which it says need it to record on all browsers.
  • A click ID pasted into a final URL. A gclid, srsltid or fbclid copied in with an address, so every click on the ad carries one old click’s ID. Low: it’s cleanup.

Each finding says where the parameter or the address is, and what to change. Before auto-tagging goes on, the finding gives Google’s test for whether your site accepts the click ID, since a small share of sites show an error page when it arrives.

Finding
Sample data
MediumMedium severityTracking accuracy

{_campaign} in the final URL suffix of Sofas — Phrase arrives empty on 6 of its 9 ads

Sofas — Phrase

What Goldbeater saw

it fills utm_campaign · no custom parameter named campaign on the ad, its ad group or its campaign, so Google puts nothing in its place

Why it matters

Auto-tagging switched off while conversions your bidding counts rely on it, a custom parameter your tracking uses that nothing gives a value, so it arrives empty, or one click's ID pasted into a final URL, so every click carries it. The spend is real, and the record of where it came from is lost or wrong.

What to do

Add a custom parameter named campaign with a value: on the campaign, under Campaign URL options in its settings, it reaches everything in the campaign, and a lower level's own value overrides it. Or take {_campaign} out of the final URL suffix.

What would change

No single setting fixes this, so Goldbeater drafts no change. The steps under What to do are the fix.

Sample data. Cedar & Pine Interiors is an invented account, and its figures are made up.
09

Questions

What’s the difference between a tracking template and a final URL suffix?
The suffix holds parameters Google adds to the end of your landing page URL. The template holds tracking information for click measurement, which Google loads in the background while the visitor goes straight to your page.
Does a tracking template break a final URL that already has a question mark?
No. When the final URL already contains a question mark, Google replaces the one in your template with an ampersand.
Which tracking template does Google use when several are set?
The most specific: the keyword’s, then the ad’s, the ad group’s, the campaign’s and the account’s. The others don’t apply to that click at all, and the final URL suffix works the same way.
Should UTM parameters go in the tracking template?
Put them in the final URL suffix. Google’s developer documentation says parameters your landing page needs belong there, or in the final URL, rather than in the template.
What happens to a custom parameter that isn’t set?
Google puts nothing in its place, so the parameter it fills arrives empty. Set it on the campaign to reach every ad in it, or take it out of the template or suffix.
What happens if utm_source is set twice?
The landing page gets both copies, and whatever reads the address decides which counts. Google Analytics’ help doesn’t say which it reads, so set each parameter in one place.

How Goldbeater checks this

This check runs every day, and whenever you ask.

Each finding carries its evidence and, where the problem costs money, an estimate of how much a month. Where a setting can fix it, Goldbeater drafts the change, and it reaches your account when you approve it and press Apply.

Clicks arriving untracked

What a finding is worth: Tracking accuracy.

7-day trial · nothing charged until day 7

Try it for a week. See the money it saves. It pays for itself.

Start the 7-day trial