Audience measurement, tracking and product feeds
Installing measurement that tells the truth, making it consent-compliant, and feeding marketplaces reliable product data — on PrestaShop, WooCommerce and Shopify.
Wrong measurement costs more than no measurement
Most shops I take over do have a tag installed. The problem is almost never missing measurement: it is that the numbers it produces correspond to nothing. A purchase event fired twice because the tag sits both in the theme and in a module. Revenue that includes VAT on one side and not the other. Conversions attributed to “direct” because the payment domain is not excluded from referrals.
Setting an advertising budget on those numbers means flying blind while believing you can see. That is why I always start by checking what actually comes through, before adding anything.
How I work on a tracking setup
-
Observe what is really sent
Google Tag Manager preview mode, the browser network tab, the actual dataLayer contents. Not the declared configuration: what the browser sends.
-
Compare against the source of truth
The shop’s own order count, same period, same time zone. The gap is never zero; it must be explainable.
-
Fix the cause, not the symptom
Remove the duplicate tag rather than filtering duplicates out of reports. A filter hides the problem and is lost at the first theme change.
-
Write down what is in place
Which tag, where, fired by what. Without that, the next person adds a second tag and the cycle starts again.
Consent: two separate obligations that get conflated
On one side there is the legal obligation, in France and across the European Union, to obtain consent before setting trackers that are not strictly necessary. On the other, a requirement specific to Google: since March 2024, advertisers serving the European Economic Area and the United Kingdom must pass consent mode signals for their campaigns to keep working normally.
These are two different things. Meeting the second does not mean meeting the first. In its standard configuration, Google Analytics 4 does not meet the audience-measurement exemption criteria published by the French data protection authority, so in principle it requires consent. The pages in this section separate what the law requires from what a vendor requires.
Product feeds: outgoing data matters as much as incoming
A rejected Merchant Center feed is not a technical detail: it means ads that stop running. The rejection reasons repeat from one shop to the next — a product identifier that changes on every export, a feed price that does not match the price shown on the product page, availability frozen on “in stock”, a sale price declared without a valid promotion period.
The same principles apply to the Meta catalogue and the Pinterest feed, each with its own constraints. I cover feed generation from PrestaShop, WooCommerce and Shopify, and how to read error messages that, taken literally, rarely point at the real cause.
Frequently asked questions
My Analytics shows fewer orders than my shop. Is that normal?
Should I use Google Tag Manager or install the tag directly?
Is my theme’s tracking module enough?
Do you work on a site already in production?
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.