How do I track my Shopping campaigns?

Introduction

Shopping campaigns are driven by a product feed (title, image, price, availability, link…) and served by an advertising platform or an ad server .
To automate the monitoring of these campaigns, Eulerian offers campaign tracking formats by parameters based on dynamic macros .
Dynamic macros are variables (e.g., {campaignid} , {{adset.id}} , {product_id} …) that the advertising platform or ad server automatically replaces with actual values ​​( ID de campagne , ID de produit.. ) on clicks. They allow you to insert reliable and granular information into your tracking settings without manual input.
When the user clicks, only the dynamic macros of the platform that serves the ad (or the ad server) are replaced.


Specific context: Shopping

Two “sources” of URLs coexist: links integrated into the product feed and those declared directly in the advertising platform or adserver .
Dynamic macros are never replaced in the feed : they are replaced at the time of the click by the tool that serves the ad .


Basic rules

    A single source of truth: implement the tracking parameters in the platform that serves the ad (or in the ad server), not in the feed.
    Clean product feed : the product feed carries product data (and business labels if necessary), never tracking.
    Do not mix macro families (Google ≠ Microsoft ≠ Meta ≠ TikTok ≠ Snap ≠ Pinterest ≠ Criteo ≠ DV360 ≠ CM360).
    Creative served by ad server : if CM360 serves the creative, use CM macros exclusively.


Common mistakes (and antidotes)

  • Settings placed in the feed → place them in the platform (or ad server).
  • Macros from one control unit used elsewhere (e.g., Meta macros in CM360) → strictly prohibited .
  • Overloading of levels (e.g., Criteo: ad that overrides the Ad Set) → keep only one level active.
  • Fragment # present in the destination URL → All parameters that follow This fragment is not transmitted to the ad platform or ad server. If your campaign tracking parameters are positioned after this fragment, dynamic macros will not be fed by ad platforms.


Summary by platform

Plateforme
Où configurer le tracking
Particularités flux/catalogue
Google Ads (Shopping / PMAX)
campaign template/suffix
No tracking in the Merchant Center feed
Microsoft Ads (Shopping)
campaign template/suffix
No tracking in the feed; bingads_redirect exists but prefer the platform template
Meta (Catalog)
URL parameters at the ad level
Avoid including any parameters in the catalog (otherwise there's a risk of duplicates)
TikTok (Catalog)
URL parameters at the ad level
No tracking in the catalog
Snapchat (Catalog)
URL parameters at the ad level
No tracking in the catalog
Pinterest (Catalog)
URL parameters at the Ad or Ad Group level
No tracking in the catalog
Criteo (Catalogue)
URL parameters at the Ad Set level (recommended)
Zero tracking in the feed, including in the case of URLs with #
DV360
URL suffix / creative in DV360
Not in the flow
CM360 (ad server)
Landing page URL suffix (advertiser/campaign/ad)
Not in the flow