TechGenius Solutions LLC

Google Consent Mode v2 for EU Businesses: What Breaks If You Skip It

If you advertise to people in the European Economic Area or the UK with Google Ads, or measure them with Google Analytics 4, Consent Mode v2 is no longer optional. Skipping it doesn’t produce an error message. Your remarketing audiences quietly stop growing, your conversion numbers drift away from reality, and automated bidding starts optimising on incomplete data. This guide explains what Consent Mode v2 actually does, what breaks without it, and how to set it up and check it properly.

What Consent Mode is (and what it isn’t)

Consent Mode is a signalling layer between your cookie banner and Google’s tags. When a visitor accepts or declines cookies, your consent management platform (CMP) passes that choice to Google’s tags, and the tags adjust their behaviour: they may set cookies or not, send full data or reduced pings, and allow or block ad personalisation.

Two things it is not:

  • It is not a cookie banner. Consent Mode doesn’t ask anyone anything. You still need a CMP that collects consent in a way that meets the GDPR and the ePrivacy rules in your market.
  • It only governs Google tags. The Meta Pixel, LinkedIn Insight Tag, TikTok Pixel, Hotjar and every other third-party script need to be blocked or released by your CMP separately. Consent Mode won’t do it for them.

Why “v2”, and why it became mandatory

The original Consent Mode had two signals, for advertising cookies and analytics cookies. In late 2023 Google added two more to reflect the EU’s Digital Markets Act, which requires large platforms to have explicit consent before they combine personal data across services for advertising. Since March 2024, Google has required advertisers to send these signals for EEA traffic if they want to keep using audience and personalisation features. The UK has since been brought into the same framework.

The four parameters are:

ParameterWhat it controlsAdded in
ad_storageWhether advertising cookies (e.g. for conversion tracking) can be read or writtenv1
analytics_storageWhether analytics cookies (e.g. GA4’s _ga) can be read or writtenv1
ad_user_dataWhether user data can be sent to Google for advertising purposesv2
ad_personalizationWhether data can be used for personalised advertising, such as remarketingv2

What breaks if you skip it

Nothing on your website visibly changes, which is why so many accounts run without Consent Mode for months. The effects show up in your advertising and analytics data:

  1. Remarketing audiences stop growing for EEA users. Without a valid ad_personalization signal, Google won’t add those visitors to your audience lists. Over a few months your remarketing lists shrink, and so does the reach of any campaign built on them.
  2. Conversion measurement degrades. Without ad_user_data, Google limits how it uses conversion data from EEA users. Reported conversions drop even if your real sales don’t.
  3. Smart Bidding optimises on a partial picture. Target CPA, target ROAS and Maximise Conversions all learn from conversion data. When a chunk of it is missing, bidding becomes more conservative or chases the wrong signals.
  4. You lose conversion and behavioural modelling. Google can estimate the conversions and GA4 sessions of people who declined cookies, but only if Consent Mode is running (in Advanced mode, explained below). Without it, those users are simply invisible.
  5. Your legal risk goes up, not down. Sites that drop Consent Mode often “fix” the data gap by firing tags before consent. That is exactly what regulators fine companies for.

Basic vs Advanced mode

Consent Mode comes in two implementations, and the choice is partly technical and partly legal.

BasicAdvanced
Before consentGoogle tags don’t load at allTags load with all four signals set to “denied”
If the visitor declinesNothing is sent to GoogleCookieless pings are sent (no identifiers, no cookies)
ModellingLimited, general modelling onlyAdvertiser-specific conversion and behavioural modelling
Data recoveredLowestHighest
Privacy positionMost conservativeRequires a view on whether cookieless pings need consent in your market

Our view: Advanced mode gives you noticeably better data, but some European data protection authorities take a strict view of any request to a third-party server before consent, cookieless or not. If you have a data protection officer or legal counsel, make this decision with them and write it down. If you don’t, Basic mode is the safer default, and you can move to Advanced once you’ve taken advice.

How to implement it correctly

1. Choose a CMP with built-in Consent Mode support

If you show Google ads on your own site (AdSense, Ad Manager or AdMob), Google requires a Google-certified CMP for EEA and UK traffic. If you only advertise on Google, certification isn’t strictly required, but a certified CMP is still the easiest route: it sends the Consent Mode signals for you, and it’s been tested against Google’s requirements.

2. Set the defaults before any Google tag runs

This is the step that most often goes wrong. The default consent state must be set before any measurement code runs. For a site that sets defaults with gtag.js directly, that looks like this:

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Deny everything by default for EEA countries and the UK
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'region': ['AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR','DE','GR','HU',
               'IS','IE','IT','LV','LI','LT','LU','MT','NL','NO','PL','PT','RO',
               'SK','SI','ES','SE','GB'],
    'wait_for_update': 500
  });

  // Optional: keep click IDs in URLs and redact ad identifiers when denied
  gtag('set', 'url_passthrough', true);
  gtag('set', 'ads_data_redaction', true);
</script>
<!-- CMP script, then Google tag / GTM container, go below this -->

wait_for_update gives your CMP up to 500 milliseconds to load and restore a returning visitor’s saved choice before tags fire. url_passthrough keeps ad-click identifiers in page URLs, so conversions can still be attributed without cookies. ads_data_redaction strips ad identifiers from requests while ad storage is denied.

If you use Google Tag Manager, don’t hand-code this. Use your CMP’s official GTM template and fire it on the Consent Initialization – All Pages trigger, which runs before everything else in the container.

3. Send an update when the visitor chooses

When someone accepts or declines, the CMP calls gtag('consent', 'update', {...}) with the new values. A good CMP also sends that update on every later page load, so a returning visitor’s choice is respected straight away.

4. Remove anything that bypasses the CMP

Old GA snippets pasted into a theme, plugins that inject their own Google tag, and developer test tags all run outside your consent setup. Audit the page source and your GTM container, and make sure there is exactly one path by which Google tags load.

How to check that it actually works

“The banner appears” is not a test. Check these four things:

  1. Tag Assistant. Open your site through Google’s Tag Assistant and look at the Consent tab. You should see a default event with all four parameters denied, followed by an update event after you make a choice.
  2. Cookies before consent. In a private window, open your site and don’t touch the banner. In your browser’s developer tools, check the cookies: there should be no _ga, _gcl_au or similar Google cookies.
  3. Network requests. In the Network tab, filter for collect or google. Requests carry a gcs parameter that shows the consent state: G100 means both storage types were denied, G111 means both were granted. Declining should produce G100 (or no requests at all in Basic mode).
  4. Google Ads diagnostics. In Google Ads, open Goals → Conversions → Summary and check the consent mode status for each conversion action. It can take a few days after launch to show as active.

The most common mistakes

  • Defaults set to “granted”. Some CMP configurations ship with defaults granted “for testing”, and nobody changes them. For EEA and UK visitors, defaults must be denied.
  • Only the two v1 parameters are sent. Older setups send ad_storage and analytics_storage but not ad_user_data and ad_personalization. Google treats that as incomplete.
  • The banner loads after the tags. A CMP loaded asynchronously at the bottom of the page, with no wait_for_update, lets tags fire before a choice is known.
  • Region list is wrong or missing. A missing region list applies EEA defaults worldwide, which isn’t wrong but costs you data elsewhere. A list that misses the UK, Norway, Iceland or Liechtenstein is a real compliance gap.
  • Non-Google tags ignored. Consent Mode is set up perfectly, and the Meta Pixel fires for everyone regardless.

A short checklist

  • A CMP is installed, and it collects consent before any non-essential script runs.
  • All four Consent Mode parameters default to “denied” for EEA and UK visitors.
  • Defaults are set before the Google tag or GTM container loads.
  • The CMP sends a consent update on choice and on every later page load.
  • No Google tags load outside the CMP-controlled path.
  • Non-Google pixels are blocked until the relevant consent is given.
  • Basic or Advanced mode has been chosen deliberately, and the decision is written down.
  • Tag Assistant, cookies and network requests have been checked in both the accept and decline paths.
  • Google Ads shows consent mode as active for your conversion actions.

Sources and further reading

This article is general technical guidance, not legal advice. Consent requirements differ between EU member states, so check your setup with your data protection officer or legal counsel.

Have a question about your setup?

Tell us what you are working on, and we will get back to you with practical next steps.