ConsentPixel – Privacy · Verified

Shopify · EU ⚡ No app store required

Cookie Consent for
Shopify in the EU
Done Properly.

Shopify's banner only appears if you configured an active EEA market — so a US-market store running ads into Europe shows nothing at all. And any pixel pasted into theme.liquid bypasses the consent system entirely, no matter how good your banner looks. ConsentPixel — Privacy · Verified blocks them all. One script tag. No app.

Install in under 5 minutes GDPR · ePrivacy · 27 EU member states + UK Google Consent Mode v2 · IAB TCF 2.3 Works with Shopify's Customer Privacy API
€20M
Max GDPR fine — or 4% of global revenue
€150M
CNIL fine against Shein for cookies before consent
4
Consent signals in Shopify's Customer Privacy API
10 sec
To scan any storefront — no admin access needed
Trap 1
No EEA market — no banner shows, even though EU shoppers are browsing
Trap 2
theme.liquid pixels — fire regardless of what the visitor chose
Trap 3
Wrong Permission setting — custom pixels only blocked if configured correctly
Trap 4
No consent records — the default banner keeps no auditable log
Updated July 2026 14 min read For agencies & store owners
The honest baseline

What Shopify's built-in consent actually does

Let's start where most Shopify compliance content won't: Shopify has built a lot of this in, and for a straightforward store it can be enough. Under Settings → Customer privacy you get three real things:

  • A cookie banner you can switch on, style lightly, and scope to specific regions.
  • The Customer Privacy API — the mechanism that actually records the shopper's choice and exposes it to apps and pixels.
  • Consent Mode v2 and Meta integration, so connected tools are supposed to respect a decline.

For a store running GA4 and the Meta Pixel through Shopify's native channels, turning this on, scoping it to the right regions, and confirming your pixels route through Shopify's consent system covers the core requirement. No third-party app strictly required.

Automated settings are on by default — with a condition

Per Shopify's own documentation, when you set up a new store, automated privacy settings are activated by default, which automatically configures the cookie banner for visitors in the UK and EEA — if you have active markets in those regions. Outside configured regions, the banner is inactive by default, which is intended for places like the US that don't require opt-in.

That conditional is the whole page. Read it again: if you have active markets in those regions. Shopify is not detecting your EU visitors and protecting you. It is reading your Markets configuration — a commercial setting your team chose for shipping and currency reasons — and inferring your legal obligations from it.

The gap

Trap 1: the EEA-market assumption

Here is the scenario that catches agencies. A client sells primarily in the US. You configure Markets accordingly — US market active, maybe Canada. The store goes live, runs Meta and Google ads, and those ads reach people in Ireland, Germany, the Netherlands. Or a French customer finds the store organically. Or an EU-based journalist links to a product.

No EEA market is configured, so no banner appears — and every tracker fires on page load. Not because anyone disabled anything, but because the automated setting did precisely what it was designed to do.

🚨

With no region selected, Shopify's own cookies fire before consent

According to Pandectes — a Shopify Plus Partner and Google-certified CMP — when no country is selected, all Shopify cookies, including the native Facebook Pixel app cookies and Google Analytics app cookies, will fire before consent is given. Worse, Shopify's default cookies are set as persistent cookies, not session cookies. The GDPR does not care which Markets you configured. It applies to the people on your site.

This also hits older stores. Automated privacy settings were introduced for new stores; a store built three years ago may never have had them, and nobody has looked since. And it hits any store where someone toggled automated settings off to customise the banner and then scoped the regions incorrectly — or not at all.

Store situationBanner shows to EU visitors?Exposure
New store, automated settings on, EEA market activeYes — auto-configuredBaseline covered; check the traps below
New store, automated settings on, no EEA marketNoEverything fires on load for EU shoppers
Automated settings off, regions not scopedNoSame — plus nobody realises
Older store predating automated settingsUsually noSilent, and years old
Any store with pixels in theme.liquidBanner may showConsent ignored regardless — see Trap 2

The fix takes two minutes

In your Shopify admin, go to Settings → Customer privacy → Cookie banner. In Regions and content, either leave Use automated settings on and confirm you have an active EEA/UK market, or turn it off and explicitly select your regions. If you sell to Europe at all — or advertise to Europe at all — the EEA and UK belong in that list regardless of what Markets says.

The bigger trap

Trap 2: pixels in theme.liquid bypass consent entirely

This is the one that produces genuinely non-compliant stores with a perfectly good-looking banner on them — and it is almost always an agency's doing, inherited from a previous developer.

Shopify's consent system works by exposing the visitor's choice to pixels and apps that ask for it. Shopify's pixel manager checks consent state before loading a pixel: if a pixel requires marketing or analytics permission and the visitor hasn't granted it, the pixel doesn't load. Pixels read consent via the init.customerPrivacy API and listen for changes with the visitorConsentCollected event.

A script pasted into theme.liquid does none of that. It is raw JavaScript in the page. It fires when the page loads. It has never heard of the Customer Privacy API, and the API has never heard of it. Your banner can sit there politely asking permission while the Meta Pixel has already transmitted.

⚠️

Shopify's docs are explicit: remove it manually

When you migrate a pixel into Shopify's native system, existing pixel code should be manually removed from any place it existstheme.liquid, checkout.liquid (Shopify Plus only), and the Additional scripts box in checkout settings. Adding the pixel natively does not remove the old one. If you skip this step you now have two pixels: one that respects consent, and one that doesn't. Only the second one matters legally.

The audit is quick and you should run it on every EU store you touch:

  1. Open Online Store → Themes → Edit code → theme.liquid. Search for fbq, gtag, googletagmanager, connect.facebook.net, hotjar, clarity, tiktok.
  2. Check Settings → Checkout → Additional scripts (and checkout.liquid on Plus).
  3. Check any custom app or snippet a previous developer added.
  4. Anything you find: move it to Settings → Customer events as a custom pixel with the correct Permission setting — then delete the original.
The subtle one

Trap 3: custom pixels with the wrong Permission setting

Moving a pixel into Customer events is necessary but not sufficient. Every custom pixel has a Permission setting that determines whether customer consent is required, under applicable law, for that pixel to collect data for marketing, analytics or preferences purposes. There is also a separate Data sale setting for jurisdictions with opt-out rights.

Shopify's sandbox only blocks pixels that are correctly configured with the right permission settings. Get the setting wrong — mark a marketing pixel as not requiring permission — and Shopify will dutifully fire it before consent, exactly as instructed. The banner still shows. The store still looks fine. The pixel still transmits.

Shopify tells you this is your problem. Their documentation on custom pixels states plainly that custom pixels are an advanced feature requiring JavaScript knowledge, and that compliance with applicable laws, consents, code security, troubleshooting, and updates are your responsibility. Adding and using custom pixels is unsupported by Shopify. For an agency, that sentence is the entire liability conversation: the platform is handing you the tool and the responsibility in the same breath.

Checkout is a different environment

One more thing agencies discover the hard way: Shopify's checkout is effectively a separate site. It doesn't use theme.liquid, and you practically cannot inject custom code into it — Shopify Plus could historically use checkout.liquid, but that route is being deprecated. Custom pixels running on checkout execute inside an iframe, in a separate environment from your storefront's top window. Any consent architecture that assumes one shared JavaScript context across storefront and checkout is built on a false premise.

The API

How the Customer Privacy API actually works

Shopify's Customer Privacy API is the plumbing underneath all of this, and understanding it separates agencies who configure Shopify from agencies who guess at it. It recognises four consent signals:

1

analytics

Cookies measuring behaviour and performance — GA4, Shopify's own analytics, heatmap tools.

2

marketing

Advertising and retargeting — Meta Pixel, Google Ads, TikTok, Klaviyo tracking.

3

preferences

Cookies remembering choices like country or language to personalise the visit.

4

sale_of_data

Relevant to US state opt-out rights (CCPA/CPRA) rather than the EU — true where the visitor's region requires a data-sale opt-out.

A correct integration is simple to describe: your banner collects consent, maps the visitor's choices to those four categories, and passes the signals to the API. Shopify then conditionally loads or blocks its own tracking scripts based on them. When Shopify's native banner is enabled, it displays in the configured regions and passes consent to the API automatically.

📕

Two rules from Shopify's own API docs — both are compliance rules, not style advice

1. Record consent only on visitor interaction. Shopify's documentation states that recording consent "should only be done on a visitor interaction (such as a visitor accepting or declining via a cookie banner), and never done automatically on behalf of the visitor." An app that calls setTrackingConsent on page load has manufactured consent, which is exactly what the GDPR prohibits.

2. Never read or modify Shopify cookies directly. The docs warn that doing so will break when new versions ship. Always go through the API. Any "compliance" app or bespoke snippet that manipulates _shopify_* cookies by hand is both fragile and wrong.

Where the defaults fall short

What Shopify's default banner doesn't do

Assume you've configured the regions correctly and your pixels all route through Customer events with proper permissions. You are now in a genuinely defensible position on the biggest issue — prior blocking. But the default banner still leaves gaps that EU regulators have been explicit about:

Granular category control

EU regulators expect visitors to accept analytics while refusing marketing. The default banner offers a blunt instrument where the DSK and CNIL expect a scalpel.

GDPR Art. 4(11) — "specific"

Reject with equal prominence

The Dutch AP requires "Reject all" on layer one at equal prominence where "Accept all" appears. The German DSK requires equivalence including button position, not just colour. The default banner was not built to those standards.

AP 2025 guidance · DSK OH

Auditable consent records

The API records consent state for the current visitor. It is not a log you can produce when a regulator asks who consented to what, when, and against which banner version.

GDPR Art. 5(2) + 7(1)

Third-party app cookies

Shopify has no control over whether a third-party app tracks customers — that's precisely why the consent API exists for apps to integrate with. An app that ignores it is invisible to your banner.

Shopify Customer Privacy API

Google Consent Mode v2 certification

Google requires a certified CMP for some advertiser features. The native banner supports Consent Mode v2 signals but is not a Google-certified CMP — a real reason some EU stores need an app.

Google EU User Consent Policy

IAB TCF v2.3

If your client runs programmatic display in Europe, TCF support is a hard requirement and the native banner does not provide it.

IAB Europe TCF v2.3
🇪🇺

Selling into Germany or the Netherlands?

Both have country-specific rules your banner must meet — the German § 25 TDDDG has no legitimate-interest route, and the Dutch AP scans 10,000 sites a year.

Germany rules →
Live check — Shopify store, fresh EU session, no cookies
Meta Pixel — via Customer events, marketing permissionBLOCKED
GA4 — via Customer events, analytics permissionBLOCKED
Klaviyo onsite trackingBLOCKED
TikTok Pixel — custom pixel, permission setBLOCKED
Meta Pixel — pasted in theme.liquid⚠ LOADED — bypasses consent
Cookie banner — Accept & Reject, equal weight✓ DISPLAYED
Consent log entry✓ PENDING CHOICE
The fifth row is the one that ends the argument. Four pixels correctly wired through Shopify's consent system, one legacy snippet in the theme — and the store is non-compliant regardless of how good the other four are. This is exactly what a regulator's scan, or a competitor's HAR file, captures.
Why it matters

E-commerce is not flying under the radar

The assumption that regulators only pursue Big Tech died in September 2025, when France's CNIL fined Shein €150 million for placing cookies before users gave permission and for an inadequate reject option on its banner. On the same day, Google was fined €325 million. Shein is an e-commerce store. The violation was the banner and what fired behind it.

Shopify stores are, if anything, easier targets than most. They are trivially identifiable — the platform fingerprint is obvious in the page source. They run a predictable stack: GA4, Meta Pixel, Klaviyo, Hotjar, TikTok. And the merchant usually assumes the platform handled compliance. That combination is exactly what an automated regulator scan or a claimant's tooling is built to find.

An irony worth knowing. Shopify merchants regularly report that their Meta Pixel "stopped working" and that the fix was to enable the cookie banner. Shopify's privacy sandbox had been suppressing pixel data because there was no consent mechanism to authorise it. Compliance and attribution point the same direction here: a properly configured consent setup does not only reduce legal risk, it is what lets your tracking function at all.
Free tool

Scan any Shopify store in 10 seconds

Every trap on this page produces the same observable symptom: something transmits before the visitor chooses. That is checkable from outside the store, with no admin access, in about ten seconds — which makes it the fastest audit in an agency's toolkit.

Our free scanner opens the storefront with a clean session, records every tracker that fires before consent, and shows you exactly what a regulator's scan would capture. Run it on a client's store before the pitch. It is a more persuasive argument than any deck.

Action plan

The EU Shopify checklist, in order

1

Confirm the banner actually shows to EU visitors

Settings → Customer privacy → Cookie banner → Regions and content. Either keep automated settings on and verify an active EEA/UK market exists, or turn automation off and select the regions explicitly. Do not infer your legal scope from your Markets configuration — that setting was made for shipping and currency reasons.

2

Purge theme.liquid and Additional scripts

Search theme.liquid for fbq, gtag, googletagmanager, hotjar, clarity, tiktok. Check Settings → Checkout → Additional scripts, and checkout.liquid on Plus. Move anything you find into Customer events — and delete the original. Adding the native version does not remove the old one.

3

Set the Permission field on every custom pixel

Settings → Customer events → Custom pixels. Each pixel's Permission setting decides whether Shopify's sandbox blocks it pre-consent. Marketing pixels need marketing permission; analytics need analytics. A wrong setting means Shopify fires it before consent exactly as instructed.

4

Audit installed apps for their own cookies

Shopify has no control over whether a third-party app tracks customers. Review each installed app: does it integrate with the Customer Privacy API? Reviews apps, chat widgets, upsell apps and loyalty apps are frequent offenders. Every install or removal changes your cookie surface.

5

Test in incognito — decline, then watch

Open the storefront in a private window with DevTools → Network. Watch what fires before you touch the banner. Then click Reject and reload. If Meta or GA4 still transmit, the banner is theatre — and arguably worse than no banner, because you are now visibly asking for consent you don't honour.

6

Fix the banner design for EU standards

Reject as prominent as Accept, on the same layer, at the same effort. Granular categories so a visitor can take analytics but refuse marketing. No pre-ticked boxes. This is where the default banner most often needs replacing rather than configuring.

7

Keep consent records you can produce

The API tracks the current visitor's state; it is not an audit log. If a regulator asks what was shown, what was chosen and when, you need timestamped records per visitor and per banner version. This is the single most common gap on otherwise well-configured stores.

8

Re-scan after every change

Apps add and remove cookies constantly. Re-run the scan whenever you install or remove an app, change theme, or add a pixel. On client retainers, make it a monthly line item — it takes ten seconds and it is the cheapest insurance in the engagement.

Compliance checklist

Shopify EU cookie compliance checklist 2026

Common questions

Shopify EU cookie consent — frequently asked questions

Does Shopify's built-in cookie banner meet GDPR requirements?
Partially, and for a simple store it can be enough. Shopify provides a real cookie banner, the Customer Privacy API that records consent, and Google Consent Mode v2 integration. Configured correctly — regions scoped to the EEA and UK, all pixels routed through Customer events with correct Permission settings — it covers the core prior-blocking requirement. Where it falls short for many EU stores: granular category control, a reject option with equal prominence to accept, auditable consent records, and Google CMP certification or IAB TCF support if you need those.
Why isn't my Shopify cookie banner showing to EU visitors?
Almost always because no active EEA market is configured. Shopify's automated privacy settings are on by default for new stores and automatically configure the banner for UK and EEA visitors — but only if you have active markets in those regions. Outside configured regions the banner is inactive by default. So a store set up for the US market shows no banner to European shoppers, even while running ads that reach them. Fix it under Settings → Customer privacy → Cookie banner → Regions and content. Older stores predating automated settings, and stores where automation was toggled off, have the same problem.
Do pixels in theme.liquid respect Shopify's cookie banner?
No. This is the most damaging Shopify consent failure and it is usually inherited from a previous developer. Shopify's pixel manager checks consent state before loading pixels registered through Customer events — they read consent via the init.customerPrivacy API and listen for the visitorConsentCollected event. A raw script pasted into theme.liquid does none of that; it simply fires on page load. Shopify's documentation is explicit that existing pixel code must be manually removed from theme.liquid, checkout.liquid on Plus, and the checkout Additional scripts box. Adding the native version does not remove the old one.
What is the Shopify Customer Privacy API?
It's the mechanism that records a visitor's consent choice and exposes it to apps and pixels. It recognises four signals: analytics, marketing, preferences, and sale_of_data (the last being relevant to US state opt-out rights rather than the EU). Your banner collects consent, maps choices to those categories, and passes them to the API; Shopify then conditionally loads or blocks tracking scripts. Two rules from Shopify's own docs are compliance rules, not style advice: record consent only on genuine visitor interaction, never automatically on page load, and never read or modify Shopify cookies directly.
Do I need a third-party consent app for my Shopify store?
Not always, and anyone telling you otherwise is selling something. For a straightforward store running GA4 and the Meta Pixel through Shopify's native channels, configuring the built-in banner correctly covers the core requirement. You have genuine reasons to go beyond it when you need granular category control, a reject option meeting Dutch or German prominence standards, auditable consent logs, a Google-certified CMP for Consent Mode v2, IAB TCF v2.3 for programmatic display, or you have third-party apps that ignore the Customer Privacy API. Diagnose which of those apply before buying.
Does the Shopify cookie banner work on checkout?
Checkout is effectively a separate environment. It doesn't use theme.liquid, and you practically cannot inject custom code into it — Shopify Plus could historically use checkout.liquid, but that route is being deprecated. Custom pixels running on checkout execute inside an iframe, in a separate JavaScript context from the storefront's top window. Shopify's cookie banner may be displayed on storefront, cart, checkout and customer account pages in configured regions, but any consent architecture assuming one shared context across storefront and checkout is built on a false premise.
My Meta Pixel stopped working after enabling privacy settings — why?
That's the system working as designed. Shopify's privacy sandbox suppresses pixel data collection when there's no valid consent mechanism authorising it. Merchants frequently report the opposite sequence too: a pixel showing no activity at all, with the fix being to enable the cookie banner under Settings → Customer privacy, after which the pixel fires correctly. Compliance and attribution point the same direction — a properly configured consent setup is what allows your tracking to function, not what breaks it.
Can a Shopify store actually get fined over cookies?
Yes, and e-commerce is not exempt. In September 2025 France's CNIL fined Shein €150 million for placing cookies before users gave permission and for an inadequate reject option on its banner — on the same day it fined Google €325 million. Shopify stores are relatively easy to identify from their page source, run a predictable tracking stack, and their owners often assume the platform handled compliance. Under GDPR the ceiling is €20 million or 4% of global annual turnover, and several member states add their own national layer on top.

One pixel. Every Shopify store. Every EU market.

ConsentPixel — Privacy · Verified blocks third-party trackers at the browser level until the visitor consents — including scripts that bypass Shopify's own consent system — integrates with the Customer Privacy API, and logs every decision with a timestamp. Manage every client store from one dashboard.

No credit card required · Setup in 10 minutes · Agency plans from 10 domains

Not legal advice. This page is an educational summary based on Shopify's published documentation, the Customer Privacy API reference, EU privacy law and regulator enforcement decisions. It is not legal advice, and Shopify changes platform behaviour regularly — verify current settings against Shopify's Help Center and test your own store. Consult a qualified privacy professional about your specific obligations.
Scroll to Top