We run a website with a global user base and need to respect GDPR compliance for those visitors that the law applies too. Since we are on Shopify we are currently making a front-end request to check the visitors GDPR profile and if they are in a non-applicable area, we then load tracking (GA, Optimizely, Heap, etc.).

Unfortunately since Shopify only allows client-side manipulation, the call to check visitor GDPR requirements severely delays the JavaScript we need to run A/B testing without massive flicker.

To avoid this with other clients we have loaded Optimizely upon landing, which creates the anon cookie, however, we configure this to hold all tracking/events until consent can be given. If it is not given the cookie is deleted and Optimizely is unloaded. Does this approach comply with GDPR?

Note: Optimizely does not track any PII or full IP addresses.

1 Answer 1


The cookie consent requirement comes from the ePrivacy Directive, not from the GDPR. While the GDPR defines consent, cookie consent is required regardless of whether the cookie actually contains personal data. Instead, it says we can access information stored on an end users device under the following circumstances.

  • Technical access to the information is used for the sole purpose of performing a transmission over a network, e.g. using a browser cache.
  • Accessing the information is strictly necessary for providing a service explicitly requested by the user, e.g. session cookies or a consent-declined cookie.
  • The user has given consent to the access, where consent is defined by the GDPR (freely given, informed, specific, …).

The first scenario likely doesn't apply because your cookies aren't likely to be “technical storage or access” in the sense of ePrivacy, and because the tracking cookies wouldn't be used for the sole purpose of carrying out a transmission.

The second scenario doesn't apply because tracking cookies are not strictly necessary to interact with the webshop, as evidenced by the possibility to opt out. The service explicitly requested by the user is the webshop or website, not the A/B testing.

This only leaves consent as possible grounds for storing or accessing information on the user's device. It is already the storing or access that is covered by ePrivacy, not only later use as a persistent identifier.

Your suggestion – to first set the cookie and then delete it if it shouldn't have been set – is more compliant than many set-ups I've seen, but is still technically non-compliant. It is also likely to fail in practice under non-ideal network conditions: if the request to see whether GDPR applies times out, or if the user closes the browser tab before the cookie will be deleted, the tracking cookie will remain without consent.

I would instead suggest to consider the following points.

  • It seems that by itself, Optimizely Web cannot be used in a compliant manner since it doesn't provide sufficient control over how cookies are managed.
  • Thus, you should avoid loading such tracking scripts unless consent has been given, or unless this processing falls outside of EU/UK law.
  • Currently, you defer loading of tracking scripts until you know if you have to ask for consent.
  • This can be avoided if you always ask for consent :)
  • This can also be avoided if you load the tracking scripts from a server that can independently determine whether the requests comes from the EU. For non-EU requests and for users with opt-in, the server can return the original tracking scripts. Otherwise, the server returns a dummy script. This server can be independent from your website's hosting. By combining the jurisdiction decision with the loading of the script, one roundtrip is saved and latency is reduced.

Finally, no one is forcing you to use Shopify, and ePrivacy/GDPR is not required to accommodate their limitations. You do have different choices:

  • use Shopify, at the cost of slow pages and limited A/B tests
  • use a different A/B test provider that can be used without setting cookies
  • use edge computing to do stuff in between of the browser and the original server
  • use a different webshop platform
  • ignore EU laws

Well, one of them is clearly unethical. But you do have choices, and which choice you take is a business decision. Slow pageloads and consent banners are likely costing you conversions, but Shopify might be providing massive value that outweighs all that.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .