Website Spec
Privacy Required Updated 2026-05-29

Cookie consent

In the EU and UK, non-essential cookies and similar storage require freely given, informed, specific, and unambiguous opt-in consent before they are set.

What it is

In the EU and UK, the ePrivacy Directive — implemented through national laws such as PECR in the UK — requires consent before storing or reading information on a user’s device. The GDPR then defines what valid consent looks like: a freely given, specific, informed, and unambiguous indication of the user’s wishes, given by a clear affirmative action.

This applies to cookies, but also to localStorage, sessionStorage, IndexedDB, fingerprinting, and pixel trackers. The technology does not matter; the storage and access do.

Why it matters

Cookie consent is the most enforced part of EU privacy law on the public web. National regulators — CNIL, the Garante, the ICO, the Belgian DPA — issue fines regularly, and most of them target the same patterns: pre-ticked boxes, “reject” buttons hidden two clicks away, and banners that count scrolling as consent.

A non-compliant banner is also a poor user experience. Visitors do not want to negotiate with your site before reading it.

How to implement

The principles are simpler than vendors make them sound:

  • Strictly necessary cookies do not need consent. Session cookies for login, shopping carts, security tokens, and load balancing are exempt. Analytics, advertising, social embeds, and A/B testing are not.
  • Set no non-essential cookies before the user accepts. This includes Google Analytics, Meta Pixel, Hotjar, YouTube embeds, and most “marketing” tags.
  • Give “accept” and “reject” equal prominence. Same size, same colour weight, same number of clicks. A bright green “Accept all” next to a grey “Manage preferences” is non-compliant.
  • Rejecting must be as easy as accepting. One click. Not a maze of toggles.
  • Reject means reject. No tracking cookies, no fingerprinting fallback, no “legitimate interests” toggle that is on by default.
  • Be specific about purposes. “Analytics” and “marketing” are categories users can choose between; “improving your experience” is not.
  • Let users change their mind. A persistent link in the footer to reopen the banner.
  • Re-ask only when the purposes change, not every visit.

The banner is not the consent record. Store the user’s choice — what they consented to, when, and which version of the notice they saw.

Common mistakes

  • Pre-ticked boxes for any non-essential purpose. The CJEU ruled this invalid in Planet49 (2019).
  • “By using this site you agree” — implied consent is not valid consent under GDPR.
  • Loading analytics scripts before the user has chosen.
  • A “reject” button that is visually deprioritised, or only appears after clicking “preferences”.
  • No way to withdraw consent later.
  • Treating the UK as exempt from these rules — UK GDPR and PECR are substantively the same.

Related topics

Sources & further reading

Search
esc close navigate open