Shopify analytics without a cookie banner: what is possible and what is not
Store owners in Europe usually ask this the other way round: "Why do my Shopify numbers drop after I turn on the cookie banner?" The answer is that every visitor who clicks Reject, or ignores the banner, stops being counted by any analytics tool that needs consent. Here's what you can and can't do about it, without breaking the law.
Short answer
- If you run ad pixels (Meta, Google Ads, TikTok) for visitors in the EU or UK, you need a consent banner. No analytics tool changes that.
- If analytics is your only reason for a banner, a cookieless tool removes that reason: it stores nothing on the device, so the cookie rule doesn't apply to it.
- Either way, cookieless analytics counts the visitors who decline the banner, which consent-based tools can't.
This isn't legal advice. Rules differ by country, so check with your own advisor.
What sets cookies on a Shopify store
| What | Needs consent in the EU/UK? |
|---|---|
| Cart, checkout and session cookies Shopify needs to run the store | No, strictly necessary |
| Shopify's own analytics and marketing cookies | Yes, Shopify only sets them when the visitor allows it in regions where you show its banner |
| Google Analytics 4 | Yes |
| Meta, Google Ads, TikTok and other ad pixels | Yes |
| Cookieless analytics that stores nothing on the device | Generally no |
Shopify has a built-in banner (Settings → Customer privacy) that you can show only in the regions that require it. That's a good default if you run ads.
Why your numbers drop with a banner
Shopify Analytics and GA4 respect the visitor's choice, so people who decline, or never touch the banner, are partly or fully missing from the reports. Depending on the audience and the banner design, that can be a large share of European traffic. You still see the orders, but not the sessions, sources and pages that led to them, so conversion rates and channel reports look wrong.
What cookieless analytics counts
A cookieless tool loaded in the theme runs for every visitor, because it doesn't read or write anything on the device. It typically counts unique visitors per day with a one-way hash of the IP address, user agent and a salt that's deleted daily. You get:
- Visitors, pages and sources for everyone, including people who declined the banner.
- Traffic from ChatGPT, Perplexity and other AI assistants as its own channel.
What you give up: you can't recognise an anonymous shopper who comes back next week. See how cookieless counting works and its trade-offs.
The part that stays consent-gated: checkout
Shopify runs checkout in its own sandbox. Apps see checkout events (checkout started, order completed) only through a web pixel, and every web pixel declares what it's for: analytics, marketing or both. Shopify then runs the pixel only when the visitor's consent allows that purpose. So even a cookieless tool gets checkout events only from visitors who allow analytics, in regions where you show the banner.
In practice that's fine: you see all storefront visits and sources, and you see the orders themselves in Shopify. What's partial is linking each order back to its source for visitors who declined.
A setup that works
- Keep Shopify's banner on in the regions that require it, if you run any ad pixels.
- Add a cookieless tool in the theme for full visitor, page and source numbers.
- Use its web pixel for checkout events, declared as analytics only, not marketing.
- Compare the visitor count with Shopify's sessions for a week. The gap is roughly the traffic you were missing.
PageLens Analytics for Shopify does steps 2 and 3: a theme app embed that loads the cookieless script (no theme code edits) and a web pixel declared as analytics only. If you'd rather paste a snippet, there's a manual install guide.