How to properly attribute Google Shopping traffic sources in Shopify with utm_medium
Question:
I noticed that the UTM parameters in my Google Shopping product URLs are not being generated correctly. For example, a current URL looks like this:
There issues are:
utm_sourceis set to "organic", which is incorrect for paid campaigns.utm_campaignis static and doesn’t reflect the actual Google Ads campaign
What I want to achieve is:
utm_sourceshould be "google" or "google_ads" for paid campaigns.utm_campaigndynamically reflects the name or ID of the Google Ads campaign.
Can you please advise on how to configure the app so that these UTM parameters are generated dynamically and accurately?
Answer:
Product URLs in the feed are submitted to GMC and form the base of all Google Shopping links. Google uses them in two different contexts:
- Free listings: The product URL is used as-is.
- Paid ads (Google Ads campaigns): The product URL can be extended with a final URL suffix (custom tracking parameters).
By default, the app sets:
utm_medium=organic(like the official Google & YouTube app) —> Ensures correct attribution for free listings.- This can cause confusion if you also want to measure paid traffic separately, since Google Ads will use the same base link.
The solution is:
- Keep the base product URL as-is (with
utm_medium=organic) to avoid misreporting free listings as paid. - In Google Ads, configure a final URL suffix to add your tracking parameters dynamically, for example:
utm_medium=cpc&campaign=my_campaign. This value will be appended automatically by Google to the end of the product URL when creating an advertising link.
So you’ll end up with two different attributions, correctly separated:
- Free listing link:
https://shop.com/products/my-product?utm_medium=organic&utm_content=shirt
- Google ads advertising link:
Even if two utm_medium values appear, the last one takes priority, so Ads clicks will be attributed as cpc, while free listing clicks remain organic.