Google Consent Mode v2: a practical guide for client sites
Google Consent Mode v2 is how a website tells Google tags what a visitor chose in the cookie banner. It works with four parameters, ad_storage, analytics_storage, ad_user_data and ad_personalization, each set to granted or denied. For traffic from the EEA and the UK, Google expects these signals before it will use the data for ads measurement and personalisation. On client sites it is usually configured once, then broken by a change nobody connects to it.
The four parameters
ad_storage and analytics_storage date from the first version: they decide whether Google tags may read and write cookies for advertising and for analytics. Version 2 added two parameters that are about the use of data rather than storage. ad_user_data covers whether user data can be sent to Google for advertising, and ad_personalization whether it can be used for personalised ads such as remarketing.
The site sends them twice. A default command must run before any Google tag fires, and an update follows when the visitor makes a choice:
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied'
});
gtag('consent', 'update', { analytics_storage: 'granted' });
The default can be limited to certain countries with the region parameter. In practice the CMP sends both commands, through its Google Tag Manager template or its own script.
Basic or advanced
In basic mode, Google tags are blocked until the visitor interacts with the banner. If they refuse, Google receives nothing.
In advanced mode, tags load straight away with the denied defaults. While consent is denied they send cookieless pings instead of full hits. GA4 can use those for behavioural modelling and Google Ads for conversion modelling, once the property meets Google's data thresholds.
Why it matters in the EEA and UK
Google's EU user consent policy covers visitors from the EEA and the UK. When v2 signals are missing for those users, Google Ads can't use their data for personalised advertising, so remarketing audiences stop growing and conversion measurement gets thinner. The client sees fewer conversions and smaller audiences, and the cause is easy to miss.
How to verify it
Start with Tag Assistant. Connect the site, select an event and open the Consent tab: it shows the default and update values of each parameter. Run it three times: before touching the banner, after accepting, after refusing. For EEA visitors the defaults should be denied, and the update should match the choice.
Then look at the requests. In DevTools, filter the Network tab for collect. GA4 hits to /g/collect carry two consent parameters. gcs is short: G1 followed by one digit for ad_storage and one for analytics_storage, where 1 means granted and 0 denied. G100 is everything denied, G111 both granted, G101 analytics only. gcd is longer and encodes all four parameters, including whether each value came from the default or from an update. Let Tag Assistant decode it rather than reading it by eye.
With Tag Assistant connected, GA4 DebugView confirms that events actually arrive after acceptance. Our guide on how to check GA4 is installed covers that step in more detail.
What breaks it
Most failures come from changes made for other reasons:
- a CMP replaced, with the new provider's Google consent mode integration left switched off
- the CMP's GTM template deleted, or its trigger moved from Consent Initialization to a later one, so tags fire before the default exists
- GA4 loaded outside GTM by a theme, a plugin or a hardcoded
gtag.jssnippet that runs before the CMP - a redesign that drops the banner, so no update ever arrives
What Deltio watches, and what it doesn't
Deltio doesn't read Consent Mode signals. It doesn't inspect default or update commands, or gcs and gcd values, and it doesn't check that tags send events. Tag Assistant stays the tool for that.
It does catch the changes listed above. Deltio detects which CMP runs on the homepage and alerts you when it appears, disappears or changes provider, as explained in our post on cookie banner monitoring. On every monitored URL it also reads the source HTML and alerts when the Google Tag Manager container or a GA4 gtag.js tag appears, disappears or changes ID. A GA4 tag published inside GTM isn't visible to it, since it doesn't render the page. When one of those alerts lands, that is the moment to rerun the Tag Assistant check.
Starter costs £24 a month, or £20 billed annually, and you can try Deltio free for 14 days.
Frequently asked questions
- Is Google Consent Mode v2 a cookie banner?
- No. Consent Mode only passes the visitor's choice to Google tags. The banner itself comes from a consent management platform (CMP) such as Cookiebot or OneTrust, which then sends the default and update commands.
- Does advanced mode let me collect GA4 data without consent?
- Advanced mode sends cookieless pings while consent is denied, which Google uses for modelling. Whether that is acceptable under GDPR or PECR for a given site is a legal question for the site owner, not a technical setting to decide on their behalf.
- What does gcs=G100 mean?
- It means both ad_storage and analytics_storage are denied for that hit. The two digits after G1 stand for ad_storage and analytics_storage, with 1 for granted and 0 for denied, so G111 means both granted.
- Do I need Consent Mode v2 for sites outside Europe?
- Google's requirement is tied to its EU user consent policy, which covers visitors from the EEA and the UK. Sites with audiences elsewhere may still need a consent banner under local law, and Consent Mode is the way to pass those choices to Google tags.
- Does Deltio check that Consent Mode is working?
- No. Deltio doesn't read Consent Mode signals or gcs and gcd values. It alerts you when the cookie banner provider appears, disappears or changes, and when the Google Tag Manager container or a GA4 tag in the page source disappears or changes ID, which are common causes of a broken setup.