Add UTM tags to a Catalogue
Anyone know how to add UTM tags to the individual product on a FB catalogue driven by a Shopify integration.
We donβt typically use catalogues, however we have a client with a pretty large catalogue and want to track individual clicks to items in the catalogue.
We have a generic integration in place but would like campaign-name/ad-set-name/ad-name/product-name in the UTM parameters.
Is this possible?
The short answer is:
Yes, it is possible to add UTM tags to individual products in your Facebook Catalog driven by a Shopify integration, and the most robust method involves using the available dynamic parameters in your Facebook Ad’s URL parameters setting.
You can append ?
to the end of the URL you submit to the catalogue, assuming you can modify the feed or if Facebook’s integration offers a specific field for this.utm_source
=facebook&utm_medium
=paid&utm_campaign
={{campaign.name}}&utm_content
={{ad.name}}&utm_term
={{adset.name}}
Since you are using Shopify, the best practice is to leverage the Shopify integration’s settings if available, or, if you are looking for a more advanced and reliable tracking solution that goes beyond just UTM parameters, you should implement the Facebook Conversions API alongside Google Tag Manager and a server-side solution like Stape or Google Cloud Platform, which will let you track clicks and conversions more accurately without relying solely on client-side tracking like UTMs and the Facebook Pixel.
The long answer is:
Directly adding the UTM tags with dynamic parameters like campaign name, ad set name, and ad name to the product URLs in a catalogue driven by a standard Shopify integration can be tricky because the feed is generally managed by the platform itself, and it often does not provide a direct field to append these parameters to the product URLs.
However, the standard and most effective way to achieve this when running dynamic ads that utilize a catalogue is not by modifying the product feed itself, but by using the URL parameters section within your Facebook Ads Manager when setting up the ad campaign.
Facebook allows you to set up URL parameters that will be dynamically appended to the product link for every click.
You would input something like
into the “URL parameters” field.utm_source
=facebook&utm_medium
=paid&utm_campaign
={{campaign.name}}&utm_content
={{ad.name}}&utm_term
={{adset.name}}&product_id
={{product.id}}
The {{...}}
placeholders are dynamic values that Facebook automatically fills with the campaign, ad, and ad set information, as well as the unique product ID
, on the fly when someone clicks the ad.
This is the simplest and most scalable solution for your immediate need to track the UTM data.
If you are looking for more accurate, resilient, and in-depth tracking that does not rely on the client’s browser, the combination of the Facebook Conversions API, Shopify API, Google Tag Manager, and a server-side tagging solution like Stape or Google Cloud Platform is an excellent and cheap solution.
The problem with traditional UTM tracking and the standard Facebook Pixel is that they are increasingly unreliable due to browser restrictions like Intelligent Tracking Prevention (ITP) and ad-blockers, which can cause significant underreporting.
The Facebook Conversions API is a direct server-to-server connection that sends web events, such as PageView
,
, ViewContent
, and AddToCart
, directly from your server to Facebook.Purchase
This bypasses browser limitations and results in more reliable data for optimization and reporting.
By using the Shopify API, you can capture events like purchases right at the source – the moment the order is created on your store’s backend – and then send that data to a server-side Google Tag Manager container hosted on a platform like Stape or Google Cloud Platform.
Stape, in particular, is a very cheap and purpose-built platform for hosting GTM server containers.
The server GTM acts as a hub: it receives the event data from Shopify, processes it, and then reliably forwards it to the Facebook Conversions API endpoint, ensuring the data is deduplicated with any residual browser-side pixel events.
This setup provides maximum data fidelity, improved reporting accuracy, and better ad optimization for your client, making it a powerful and inexpensive alternative to solely relying on standard client-side UTMs and the Facebook Pixel.
It future-proofs your tracking against ongoing privacy changes.