Why ad tracking breaks in the EU
- GDPR and the ePrivacy rules require consent before non-essential cookies and similar tracking. That includes the Meta Pixel, Google Ads tags and most analytics.
- Some visitors decline, browsers limit cookies, and ad blockers stop pixels.
- The result is fewer conversions reported than really happened, so the ad platforms optimise on thinner data.
The fix is not to skip consent. It is to send everything you are allowed to send, as completely and accurately as possible.
1. A consent banner that really controls the tags
- Make “Accept” and “Reject” equally easy. Data protection authorities have fined companies whose banners made refusing harder than accepting, France's CNIL among them.
- Use a consent tool that supports Google Consent Mode v2 and can block or release the Meta Pixel. Google keeps a list of certified consent platforms. Shopify has its own customer privacy banner and API.
- Test it: open the site in a private window, ignore the banner, and check the browser's network tab. No Meta Pixel requests should go out, and Google tags should only send what your consent mode setup allows.
2. Google Consent Mode v2
Consent Mode is how your site tells Google's tags what the visitor agreed to. Version 2 uses four signals: ad_storage, analytics_storage, ad_user_data and ad_personalization. Google added the last two in 2024 for visitors in the European Economic Area, following the Digital Markets Act. Without them, Google Ads cannot build remarketing audiences from your EEA visitors, and conversion measurement is limited.
- Set the default to “denied” for EEA visitors before any Google tag loads, then update it when the visitor chooses.
- Basic mode loads no Google tags until consent is given.
- Advanced mode loads the tags straight away and, without consent, sends cookieless pings that Google uses to model missing conversions. It recovers more data. Some legal advisers prefer basic mode, so decide with yours.
3. Google Ads conversions
- Install the Google tag directly or through Google Tag Manager.
- Track the actions that matter: purchases with their value, enquiry forms, quote requests, phone clicks. Page views are not conversions.
- Turn on enhanced conversions. They send a hashed email or phone number from the checkout or form so Google can match more conversions. They depend on the
ad_user_dataconsent, and your privacy policy should mention them. - If you link GA4 to Google Ads, pick one source as the primary conversion for each action so nothing is counted twice.
- If sales close later, by phone or in person, import them as offline conversions so Google learns which clicks became customers.
- On Shopify, the Google & YouTube app sets up most of this. On WooCommerce, use Google's official extension or Tag Manager.
4. Meta Pixel and the Conversions API
- The Pixel runs in the browser and reports events such as PageView, ViewContent, AddToCart, InitiateCheckout and Purchase (with value and currency), or Lead for enquiry sites.
- The Conversions API sends the same events from your server, so they still arrive when a browser blocks the Pixel. It changes where events are sent from, not whether you need consent.
- Deduplicate. Send the same event name and event ID from browser and server, so Meta counts each event once.
- Match quality. With consent, send hashed customer data such as email and phone, then check the Event Match Quality score in Events Manager.
- Respect consent. Load the Pixel only after consent, or hold it with
fbq('consent', 'revoke')until the visitor agrees. Apply the same rule to server events. - Verify your domain in Meta Business Manager.
- On Shopify, Meta's Facebook & Instagram app sets up the Pixel and Conversions API. On WooCommerce, Meta's official plugin does the same.
5. UTM tags and naming
- Add UTM parameters (
utm_source,utm_medium,utm_campaign,utm_content) to every Meta ad link. Meta can fill them in automatically with dynamic values such as{{campaign.name}}. - Keep auto-tagging on in Google Ads.
- Name campaigns, ad sets and ads with one pattern, so reports stay readable.
6. Test before you spend
- Use Google Tag Assistant to see which tags fire and what consent state they read.
- Use Test Events in Meta Events Manager, and the Meta Pixel Helper browser extension.
- Place a test order or send a test enquiry. Check that the value and currency arrive in both platforms and that the event is counted once.
- Reject the banner and repeat. Advertising tags should stay silent, apart from the cookieless pings advanced Consent Mode is designed to send.
7. What to expect afterwards
- Ad platform numbers will not match your shop's orders exactly, because of consent, ad blockers and attribution windows. Compare trends, and check them against real orders or leads in your shop or CRM.
- Campaigns learn from conversions. If you have only a few purchases a week, optimise for an earlier step, such as add to cart or lead, until volume grows.
This guide is practical setup advice, not legal advice. For your consent wording and privacy policy, check with a lawyer or your data protection officer.