Google Shopping UTM parameters, from product feed to ad click
Tag Shopping ads in Google Ads, not in your product feed. Merchant Center's help says to keep ValueTrack parameters out of the link attribute, and to use a tracking template rather than hardcoding tags into ads_redirect. Free listings are separate: Merchant Center adds srsltid to them, and GA4's channel table sends the Shopping Free Listings source platform to Organic Shopping.
The interactive UTM builder loads with this page, pre-filled for Google Shopping, and runs entirely in your browser.
google with cpc is Paid Search on its own. A campaign value containing shopping meets GA4's Paid Shopping rule, which the channel table checks before Paid Search, so hand-tagged Shopping clicks get their own channel.
Where to put it
In Google Ads, open the Shopping campaign, click Settings, then Additional settings, then Campaign URL options, and add the tracking template.
Google recommends {unescapedlpurl} in Shopping templates, for example {unescapedlpurl}?utm_source=google&utm_medium=cpc&utm_campaign=shopping-{campaignid}.
Templates can also sit at account, ad group or product group level. Google Ads uses the most specific one.
Leave the feed's link attribute clean. If tracking parameters do end up in it, submit canonical_link with the untagged URL.
Use ads_redirect only when ad clicks need a different URL. After parameters expand, its domain must match the link attribute's exactly.
Macros filled in at click time
Macro
Resolves to
{campaignid}
Campaign ID
{adgroupid}
Ad group ID
{product_id}
Product ID, as in your Merchant Center feed
{product_partition_id}
ID of the product group the clicked product belongs to
{merchant_id}
Merchant Center account that owns the ad
{adtype}
pla, pla_multichannel, pla_with_promotion or pla_with_pog
{product_channel}
online or local
{product_country}
Country of sale
{product_language}
Language of your product data
{store_code}
Local store ID, 60 characters max; required in ads_redirect for Vehicle Ads
{ifmobile:[value]}
Your value, on clicks from a mobile phone
{unescapedlpurl}
Final URL, unescaped; tracking templates
A merchant adds ?utm_source=google&utm_medium=cpc to every URL in the product feed, expecting Shopping ads to report under those tags. The link attribute is also where free listing clicks go, so every free click now carries a paid medium too. Google's help for the attribute says not to put ValueTrack parameters in link at all. It also warns that tracking parameters in link can get the tagged URL indexed by Google Search, and recommends submitting canonical_link with the clean URL if you keep them. The canonical checker shows what a product page declares.
ads_redirect covers ad clicks only. When it's set, a Shopping ad click goes there instead of link or mobile_link, and Google marks the attribute as not available for products listed for free. Free listing clicks always use link or mobile_link. After parameters expand, the ads_redirect domain must exactly match the link domain, which is what lets parallel tracking send people straight to your site. Google's note at the top of the ads_redirect page still says to avoid hardcoding tracking there and to use a tracking template in Google Ads for accurate, long-term click tracking.
Free listings tag themselves. Merchant Center auto-tagging, on by default for many accounts, adds srsltid to the URL when someone clicks a product through to your store. GA4's channel table has a Merchant Center section of its own: traffic from the Shopping Free Listings source platform is Organic Shopping. No UTM is involved, another reason to keep link clean. The srsltid decoder covers what that parameter does to your URLs.
{keyword} comes back empty. Shopping ads target product groups, not keywords, so any ValueTrack parameter that inserts keyword information is blank on Shopping clicks. Use the Shopping ones instead. {product_id} gives the product from your feed and {product_partition_id} its product group. {adtype} returns pla for a plain Shopping ad, pla_with_promotion when the ad showed a merchant promotion, and pla_multichannel when it offered online and local options. With utm_content={product_id}, a GA4 content report becomes a product report.
Auto-tagging still decides the channel. For Google Ads traffic, GA4 files a click as Paid Shopping when the source platform is Google Ads and the campaign type is Shopping, with no UTM needed. The shopping- prefix in the preset matters when auto-tagging is off, and for other tools, such as a CRM, that log the landing page URL. How gclid and your own tags interact is on the Google Ads UTM builder page.
Questions
What is a Google UTM?
UTM parameters are utm_ tags added to a URL so Google Analytics can tell where a visit came from, for example utm_source=google&utm_medium=cpc. For Google Shopping, Google also tags clicks itself: Merchant Center adds srsltid to free listing clicks, and Google Ads auto-tagging identifies ad clicks. UTMs are the tags you add, through a tracking template.
Should I add UTM parameters to my Merchant Center feed?
Not to the link attribute. Google says to keep ValueTrack parameters out of it, and free listing clicks use link too, so tags there mislabel unpaid clicks and can get the tagged URL indexed. Add UTMs through a Shopping campaign tracking template in Google Ads.
Is UTM tracking free?
Yes. UTM parameters are text added to a URL, so any link can carry them, and the builder on this page is free. In Shopping you pay for the ad click, not for the tags on it.