Apply for early access

Informational11 min read · verified 2026-09-19

ValueTrack parameters: the complete list with examples

Google Ads has about 60 ValueTrack parameters, from {campaignid}, {keyword} and {matchtype} to Shopping and hotel parameters. There is no {searchterm}: {keyword} returns your keyword, not the user's query.

Yehor Dementiev · Updated September 19, 2026

Google Ads has about 60 ValueTrack parameters. The ones most people need are {campaignid}, {adgroupid}, {keyword}, {matchtype}, {network}, {device} and {lpurl}. There is no {searchterm} parameter: {keyword} returns the keyword in your account that matched the search, not what the user typed.

Last verified: September 19, 2026

This page is part of the Google Ads limits reference because URL fields have limits of their own. Some of those limits Google publishes, and some it doesn't:

FieldLimitNotes
Custom parameter name16 charactersAlphanumeric only
Custom parameter value250 charactersThe API docs say 200 bytes, so stay under 200 to be safe
Custom parameters per level8Not available at account level
{store_code} value60 charactersLocal products in Shopping
Tracking templateNo published limitGoogle gives no number
Final URL suffixNo published limitThe Google Ads API team says there is no published maximum, but URLs over roughly 2,000 characters can break in some browsers

Sources: Google Ads Help — Create custom parameters, Google Ads API — Upgraded URL fields, Google Ads API forum — final URL suffix length.

All ValueTrack parameters

The tables follow Google's help page Set up tracking with ValueTrack parameters. The example values are only illustrations. Real IDs are 64-bit numbers.

Search and general (final URL, tracking template or custom parameter)

ParameterReturnsExample valueWhere it works
{campaignid}Campaign ID20412345678All campaign types
{adgroupid}Ad group ID151234567890All campaign types with ad groups
{creative}Unique ID of the ad689012345678All campaign types with ads
{keyword}The keyword from your account that matched the query (Search) or the content (Display)running%20shoesSearch, Display. Blank for AI Max, DSA and Performance Max. Not in Demand Gen
{matchtype}Match type of the triggering keyworde, p, b, or a (AI Max keywordless)Search
{targetid}ID of the keyword (kwd), AI Max keywordless (kwl), DSA target (dsa), remarketing list (aud), product partition (pla) or hotel group (hpi)aud-456:kwd-123Wherever one of those targets triggered the ad. Excludes affinity and in-market audiences. Not in Demand Gen
{network}Where the click came fromg Google search, s search partners, d Display, ytv YouTube, vp video partners, gtv Google TV, x Performance Max, e App engagementNot in Demand Gen
{device}Device typem, t or cAll
{devicemodel}Phone or tablet modelApple+iPhoneDisplay Network only
{loc_physical_ms}Location ID of the click1023191All
{loc_interest_ms}Location ID of the location of interest that triggered the ad1023191All
{gclid}Google click identifierCj0KCQ...All (limited in Performance Max)
{feeditemid}ID of a feed-based (legacy) asset that was clicked12345Not for Display ads
{extensionid}ID of an asset-based (upgraded) asset that was clicked9876543210Not for Display ads
{placement}Content site where the ad was clicked, or the matching placementexample.comDisplay, Video. Not in Demand Gen
{target}Placement categorysportsPlacement-targeted campaigns only
{ifmobile:[value]}Your value if the click came from a mobile phone{ifmobile:mob} gives mobAll
{ifnotmobile:[value]}Your value if the click came from a computer or tablet{ifnotmobile:desk} gives deskAll
{ifsearch:[value]}Your value if the click came from the Search Network{ifsearch:srch} gives srchNot in Demand Gen
{ifcontent:[value]}Your value if the click came from the Display Network{ifcontent:gdn} gives gdnNot in Demand Gen
{random}Random unsigned 64-bit number, often used to force a page reload8423112345All
{param1}, {param2}Creative parameters set through the API's AdParamService19.99API users only
{assetgroupid}Asset group ID6512345678Performance Max

Shopping

ParameterReturnsExample valueWhere it works
{adtype}Shopping ad typepla, pla_multichannel, pla_with_promotion, pla_with_pogShopping, Performance Max (Shopping ads)
{merchant_id}Merchant Center account that owns the clicked ad123456789Shopping, Performance Max (Shopping ads)
{product_id}Product ID from your Merchant Center feedsku-4411Shopping, Performance Max (Shopping ads)
{product_channel}Shopping channel of the productonline or localShopping, Performance Max (Shopping ads)
{product_country}Country of saleUSShopping, Performance Max (Shopping ads)
{product_language}Language of your product dataenShopping, Performance Max (Shopping ads)
{product_partition_id}ID of the product group293946777986Shopping
{store_code}Local store ID (maximum 60 characters)store-017Shopping, local products

Display and video

Most general parameters work here too. Parameters that apply only to these formats, or that behave differently:

ParameterReturnsExample valueWhere it works
{placement}Site or placement where the ad was clickedyoutube.comDisplay, Video
{devicemodel}Device modelApple+iPhoneDisplay only
{network}d, ytv, vp or gtv for these inventoriesytvDisplay, Video
{sourceid}Google lists it for Video but doesn't describe itVideo
{keyword}Keyword that matched the contenttrail%20runningDisplay (keyword-targeted)

Demand Gen does not support {placement}, {target}, {keyword}, {ifsearch:[value]}, {ifcontent:[value]}, {network} or {targetid}. Hotel campaigns have their own set of about 19 parameters, such as {hotel_id} and {travel_start_day}. They are on Google's page.

Tracking and URL parameters

ParameterReturnsWhere it works
{lpurl}The final URL. It is escaped unless it's at the start of the templateTracking template only
{lpurl+2}, {lpurl+3}Final URL escaped twice or three times, for redirect chainsTracking template only
{unescapedlpurl}Final URL, unescapedTracking template only
{escapedlpurl}Final URL with :, /, ?, = and % escapedTracking template only
{escapedlpurl+2}, {escapedlpurl+3}Escaped twice or three timesTracking template only
{ignore}Marks everything after it as tracking info so Google crawls less of your siteFinal URL (and final mobile URL) only
{_yourname}Your custom parameter valueTracking template, final URL

{searchterm} vs {keyword}

This is why the page gets searches for "searchterm". People want the actual query in the URL, and Google Ads doesn't offer it:

{keyword}{searchterm}
Exists in Google AdsYesNo, it's not on Google's list
ReturnsThe keyword in your account that matched
Example: keyword running shoes, query "best running shoes for flat feet"running%20shoes
AI Max, DSA, Performance MaxBlank

The Google Ads API has an error code for tags it doesn't know, VALUE_TRACK_PARAMETER_NOT_SUPPORTED. Don't copy a {searchterm} template from a forum post into a Google account.

To see real queries, use the search terms report. Google leaves out terms that don't have enough query activity, for privacy reasons. For those, it shows only grouped subthemes or "other queries" (About the search terms report). To get closer to the query, pair {keyword} with {matchtype}. A b or a value means the query and the keyword may differ a lot.

Copy-paste tracking templates

UTM parameters for GA4, in the final URL suffix (account level). Leave out the leading ?. Google adds the separator itself, and its own example suffix is just x=y:

utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={creative}&utm_term={keyword}

Keep auto-tagging on. Google says that in GA4, auto-tagging (gclid) wins over manual UTM tags because GA4 has no override option (About auto-tagging). UTMs still help in other analytics tools and CRMs.

Tracking template with {lpurl} at the start (Google's own format):

{lpurl}?matchtype={matchtype}&device={device}&network={network}&kw={keyword}

Third-party click tracker ({lpurl} not at the start, so it is escaped):

https://tracker.example.com/click?id=123&url={lpurl}

Escaping rules for anything added after the URL parameter (from Google's help page):

ParameterPositionFollow it with
{lpurl}Start of template?
{lpurl}Not at start%3F
{lpurl+2}Not at start%253F
{lpurl+3}Not at start%25253F
{unescapedlpurl}Anywhere?
{escapedlpurl}Anywhere%3F

When {lpurl} is not at the start, Google escapes ?, =, ", #, tab, ' and spaces in it.

Common mistakes

  • A template without {lpurl}. Tracking templates at account, campaign or ad group level must contain {lpurl} or a variant of it, or the landing page URL breaks. Dynamic Search Ads need it at every level.
  • Two ? in the URL. If the final URL already has a ?, Google replaces the ? in your tracking template with & (or an escaped &). If you still see two, look for a query string hard-coded into the final URL, or a suffix typed with a leading ?.
  • Wrong {lpurl} escaping. If {lpurl} is not at the start and you follow it with a plain ?, Google warns that your site or third-party system may not save the parameters correctly. Use the escaping table above.
  • Setting it at the wrong level. Templates from several levels are not combined. Google uses the most specific one: keyword, then ad, ad group, campaign, account. An old keyword-level template silently overrides your new account-level one. The "Tracking template source" column shows which template is used (Tracking template: definition). Custom parameters with the same name follow the same rule.
  • Spaces in URLs. They break tracking. Multi-word keywords arrive as %20.
  • Expecting instant changes. Google says tracking template changes take 24–48 hours to show up in serving ads.
  • Static tracking URLs with AI Max. A template without {lpurl}, or with {lpurl} placed inside a parameter value, can send users from final URL expansion to the wrong page or a 404.

Ship the same tracking to every client

Agencies usually rebuild the same URL structure for every new client, one account at a time. AdsCockpit Templates lets you build a campaign once, including its ads and sitelinks with final URLs, and launch it into every client account in your manager account. Client-specific parts, such as the domain, are variables that you fill in per client. Put the ValueTrack suffix at account level in each client account once. Every campaign you launch from a template then inherits it.

FAQ

Is there a {searchterm} ValueTrack parameter in Google Ads?

No. Google's list of ValueTrack parameters has no {searchterm} or query parameter. {keyword} returns the keyword from your account that matched the search, not the search term itself. To see actual search terms, use the search terms report.

What does {keyword} return for Performance Max or Dynamic Search Ads?

A blank value. Google says {keyword} is empty when an ad matches without keywords, which covers AI Max for Search, Dynamic Search Ads and Performance Max. {keyword} is also not supported in Demand Gen.

Should I use a tracking template or a final URL suffix for UTM parameters?

Use the final URL suffix for UTM parameters. It is appended to the landing page URL, while a tracking template is meant for click trackers and redirects. Account-level templates also need {lpurl} or your landing page breaks.

Which level wins if tracking templates are set at several levels?

The most specific one. Google's order is keyword, then ad, ad group, campaign and account. Custom parameters with the same name follow the same rule: the most specific level is used.

How long can a custom parameter be?

The name can be up to 16 alphanumeric characters and the value up to 250 characters, according to Google Ads Help. You can set up to 8 custom parameters per level, but not at account level.

Early access

Set up, watch and report on every client from one login.

Apply for early access

Limited spots · no commitment

What happens next

  1. Apply

  2. Personal reply

  3. Free 30-minute onboarding call

Questions first? Send a message