Consent mode v2 in practice: what actually fires before consent

Ask three teams what fires before consent and you get three answers, and all three are confident. One says nothing fires. One says cookieless pings fire. One says the tags load but do not set cookies. All three are describing a real configuration, and none of them is describing yours, because consent mode v2 has two modes, and the modes disagree about exactly this question. Basic mode blocks the tags until consent is granted. Advanced mode loads the tags with denied defaults and sends cookieless pings. The mode is the answer, and most sites do not know which mode they are running.

Consent mode v2 passes four signals to Google tags: ad_storage and analytics_storage, which control cookies, and ad_user_data and ad_personalization, which were added in v2 and control how Google may use the data for advertising. Each signal is granted or denied. The banner sets them. The tags read them. That is the whole mechanism, and the confusion comes from the fact that the mechanism behaves differently depending on when the tags load.

Basic mode: nothing fires until the answer

In basic mode, the Google tags stay blocked until the visitor grants the relevant consent. If the visitor clicks reject all, nothing is sent to Google: no cookies, no pings, no signals. The data gap is real, and Google Ads falls back to a general model to estimate conversions, because it has no site specific signal to work from. The privacy position is clean, and the measurement cost is a gap in the data that no amount of modelling fully closes.

Basic mode is the right choice for a site that wants the simplest defensible position: no data leaves the browser before consent. It is also the mode that is hardest to implement well, because every tag has to wait for the banner, and the triggering has to be exact. A tag that fires early in basic mode is not a minor bug. It is processing without consent, and it is the failure the mode exists to prevent.

Advanced mode: pings before consent, modelled conversions after

In advanced mode, the tags load immediately with denied defaults, and when consent is denied they send cookieless pings. The pings carry no cookies and no persistent identifiers, but they carry contextual signals: timestamp, user agent, whether a conversion occurred. Google uses those signals to build a model of the conversions it cannot observe directly. The data gap is smaller, and the modelling is site specific rather than general.

Whether those pings count as personal data processing under the ePrivacy Directive is still debated among data protection professionals, and that debate is the reason advanced mode needs a privacy decision, not just a technical one. The modelling also has a threshold: GA4 needs at least 1,000 daily users with analytics_storage granted on seven of the last 28 days, plus at least 1,000 daily events with analytics_storage denied for seven days, before it will model at all. A small site running advanced mode gets the pings and no modelling, which is the worst of both worlds.

How to tell which mode you are running

Open the site with a fresh browser, block nothing, and watch the network before touching the banner. If Google requests appear before consent, you are in advanced mode, or your tags are firing without consent mode at all, which is a different and worse problem. If nothing appears until you accept, you are in basic mode. Then check the defaults: all four signals should start as denied, and the banner update should set them to granted or denied as the visitor chooses. A setup where the defaults are granted is not consent mode. It is tracking with a banner on top.

Keep reading: Embedded video that loads before the choice: the two click fix and why autoplay breaks it, Consent banner language that matches the site language.

Frequently asked questions

What is the difference between basic and advanced consent mode?

In basic mode, Google tags stay blocked until the visitor grants consent, and a rejection means nothing is sent. In advanced mode, tags load immediately with denied defaults, and a rejection still produces cookieless pings that Google uses for conversion modelling.

What are the four consent mode v2 signals?

ad_storage controls advertising cookies, analytics_storage controls analytics cookies, ad_user_data controls sending user data to Google for advertising, and ad_personalization controls using data for personalised ads. The last two were added in v2.

How much traffic does GA4 need before it will model conversions?

At least 1,000 daily users with analytics_storage granted on seven of the last 28 days, plus at least 1,000 daily events with analytics_storage denied for seven days. Below that, advanced mode sends pings and gets no modelling back.

How do I check which mode my site is running?

Open the site in a fresh browser and watch the network before touching the banner. Google requests before consent mean advanced mode, or tags firing without consent mode at all. Nothing until accept means basic mode.