Consent Mode v2

A plain English guide to Consent Mode v2

Consent Mode v2 gets described as a checkbox: you have it or you do not. In practice it is a small protocol with four signals and two very different implementations, and the difference decides how much of your data survives a rejected banner.

The four signals

Consent Mode is how your banner tells Google's tags what the visitor allowed. It speaks through four switches. analytics_storage covers measurement cookies, the ones GA4 uses to recognise a returning session. ad_storage covers advertising cookies, used for attribution. Version 2 added two more: ad_user_data, which says whether data about the user may be sent to Google for advertising, and ad_personalization, which says whether that data may power personalised ads and remarketing.

Since March 2024, Google requires the v2 signals for audiences in the European Economic Area and the UK if you want ad personalisation and measurement features to keep working. Without them, features degrade regardless of what your banner looks like.

Basic versus advanced

The same four signals can be implemented two ways, and the names undersell the difference.

Basic means Google tags do not load at all until the visitor consents. Clean and simple, but when someone rejects, Google receives nothing — not even the anonymous signal that a visit occurred. There is nothing to model from, so rejected traffic is simply gone.

Advanced means tags load before the choice, respect it completely once made, and send cookieless pings when consent is denied. No cookies are set and no identifiers are stored, but Google learns that an anonymous conversion happened. Those pings are the raw material for conversion modelling, which is how denied traffic finds its way back into your reports as modelled conversions.

How to tell which one you are running

Open your site in a private window and watch the network tab before touching the banner. If no Google requests appear at all until you accept, you are on basic. If requests to Google fire with gcs or gcd parameters showing a denied state, you are on advanced. In Tag Assistant, the consent tab shows the four signals and their state on page load — the defaults should be set before any tag fires, then update when the visitor chooses.

Velo ships the advanced implementation by default, sets the default state before your tags fire, and keeps a consent log so you can prove what was set and when.

All posts

Consent that pays for itself.

Velo keeps you compliant across the EU, UK and US and recovers the conversions other consent tools quietly cost you.

Consent saved