Privacy & consent

Consent Mode v2: Basic vs Advanced (and Regional Defaults)

Consent Mode v2: Basic vs Advanced (and Regional Defaults)consentthe four signalsanalytics_storagegrantedad_storagedeniedad_user_datadeniedad_personalizationgranted

Once you've grasped Consent Mode v2, the next decision is which implementation to run: basic or advanced. They behave very differently under a "reject," and the choice affects how much data you recover. This guide compares them and covers the regional defaults most setups get wrong.

Not legal advice

General implementation guidance, not legal advice. What you set, and to what, depends on your jurisdiction and CMP, confirm specifics with whoever owns privacy at your organization.

Quick recap: what Consent Mode does

Consent Mode adjusts how Google tags behave based on four signals, analytics_storage, ad_storage, ad_user_data, ad_personalization. You set denied defaults before tags load, and your CMP pushes an update when the user chooses. The basic-vs-advanced choice is about what happens before that update, under denial.

Basic vs advanced

Basic Consent Mode

  • Google tags are fully blocked until consent
  • No pings sent before the user chooses
  • Nothing collected under denial
  • Simplest to reason about, less data

Advanced Consent Mode

  • Tags load and send cookieless pings under denial
  • Enables conversion modeling to fill gaps
  • Recovers more measurement
  • More to configure and verify

The practical difference: under a rejection, basic sends nothing, while advanced sends anonymous, cookieless pings that let Google model the conversions it can't observe. Advanced usually recovers more data, at the cost of more setup and careful verification.

Regional defaults (the part people miss)

You don't have to apply the same defaults everywhere. Set stricter denied defaults for regulated regions (EEA/UK) and, where appropriate, more permissive defaults elsewhere, using the region parameter.

// Stricter default for the EEA, a different default elsewhere
gtag('consent', 'default', {
  ad_storage: 'denied', ad_user_data: 'denied',
  ad_personalization: 'denied', analytics_storage: 'denied',
  region: ['ES','FR','DE','IT','GB'],   // regulated regions
  wait_for_update: 500
});

gtag('consent', 'default', {
  analytics_storage: 'granted', ad_storage: 'granted',
  ad_user_data: 'granted', ad_personalization: 'granted'
  // no region = applies everywhere else
});

url_passthrough and ads_data_redaction

  • url_passthrough, passes ad click ids through the URL when cookies are denied, so some attribution survives.
  • ads_data_redaction, further redacts ad identifiers when ad_storage is denied, tightening privacy under rejection.

Practice this on a real container

Advanced Consent Mode, regional defaults, url_passthrough and ads_data_redaction are easiest to understand by watching them behave. Practice the advanced setup on your own container.

Practice advanced Consent Mode →

Which should you choose?

If you run meaningful Google Ads spend and want to recover modeled conversions, advanced is usually worth the extra setup. If you want the simplest, most conservative posture and can accept collecting nothing under denial, basic is fine. Either way: denied defaults first, all four signals, and verify in the Consent tab of Tag Assistant.

Now go practice it

Reading sticks when you do it. These hands-on lessons load your own GTM container and let you debug in Tag Assistant.

Frequently asked questions

What is the difference between basic and advanced Consent Mode?

In basic Consent Mode, Google tags are fully blocked until the user grants consent, so nothing is sent beforehand. In advanced Consent Mode, tags load and send anonymous, cookieless pings even under denial, which lets Google use conversion modeling to estimate unobserved activity. Advanced recovers more data but requires more configuration.

Which is better, basic or advanced Consent Mode?

Advanced is usually worth it if you run meaningful Google Ads spend and want to recover modeled conversions. Basic is fine if you want the simplest, most conservative posture and can accept collecting nothing under denial. Both require denied defaults before tags load and all four v2 signals.

How do regional defaults work in Consent Mode?

You can set different consent defaults per region using the region parameter in the gtag consent 'default' command. Typically you set stricter denied defaults for regulated regions like the EEA and UK, and a separate, possibly more permissive default (with no region) that applies everywhere else.

What are url_passthrough and ads_data_redaction?

url_passthrough passes ad click identifiers through the URL when cookies are denied, so some attribution survives. ads_data_redaction further redacts ad identifiers when ad_storage is denied, tightening privacy under a rejection. Both are advanced Consent Mode options.

Related posts

About the author

Nathan Gage
Nathan Gage

Analytics & Tag Management Consultant

Nathan Gage got his start in marketing through Google Tag Manager. Seeing how tracking customer behavior could turn raw clicks into insight you can actually act on is what pulled him into the field. Since then he has worked both full time and as a consultant with 15 marketing agencies, supporting brands that spend anywhere from a thousand dollars a month to over a million. Along the way he built a multi-touch attribution app, and he created The Happy Tagger so anyone can practice GTM, GA4 and server-side tracking on a real container instead of a production site.