What is Consent Mode for GA4?

Consent Mode is used in Google Analytics 4 to model unconsented user data into the reports, but what is it? This guide will explore what Consent Mode is, and how GA4 and GTM utilises it.

What is Consent Mode?

Consent Mode is a feature that helps manage what tracking occurs when consent is and is not granted from the user. This feature applies for websites via Google’s global site tag (gatg.js) and Google Tag Manager (GTM), and for apps via the Firebase SDK.

There are five default types of consent (you can add your own on top as well) that can be managed in Consent Mode:

Consent TypeDescription
ad_storageEnables storage (such as cookies) related to advertising
analytics_storageEnables storage (such as cookies) related to analytics e.g. visit duration
functionality_storageEnables storage that supports the functionality of the website or app e.g. language settings
personalization_storageEnables storage related to personalization e.g. video recommendations
security_storageEnables storage related to security such as authentication functionality, fraud prevention, and other user protection

What isn’t Consent Mode?

Consent Mode is not a consent management platform (CMP). That is, it doesn’t collect user consent on a website or app. Consent Mode is only the process of managing tracking based on the collected consent levels. You will need to implement a CMP to do the actual consent collection.

GTM has some out-of-the-box CMP integrations via templates that can be used with relative ease. However, you do not need to use one of these to use Consent Mode effectively. For example, the Measurelab website www.measurelab.co.uk uses CIVIC’s Cookie Control which is not on the list and it works absolutely fine with Consent Mode.

How Consent Mode works with GA4

Generally speaking, each tracking tag will have some sort of consent dependency. For example, you will need ad_storage to be true to be able to fire the Facebook Pixel. However, Consent Mode works slightly differently when it comes to the Google tags (Google Analytics, Google Ads, Floodlights).

For Google Analytics 4 (GA4), it will actually track all the events with or without consent. There are a few variations of consent as GA4 utilises both the analytics_storage (for the core tracking) and ad_storage (for Google Signals) consent. Depending on what the user consents to, depends on what is collected in GA4. The below table details what happens in each situation:

analytics_storagead_storageGA4 tracking
truetrueThe 1P _ga cookie is set and read.
All events are tracked including a Client ID and Session ID.
Google Signals data is collected.
truefalseThe 1P _ga cookie is set and read.
All events are tracked including a Client ID and Session ID.
Google Signals data is not collected.
falsetrueThe 1P _ga cookie is not set or read.
All events are tracked without a Client ID or Session ID.
Google Signals data is collected.
falsefalseThe 1P _ga cookie is not set or read.
All events are tracked without a Client ID or Session ID.
Google Signals data is not collected.

GA4 data modelling

The reason GA4 still tracks all events even without consent (called ‘cookieless pings’) is so that it can use machine learning models to estimate the number of unconsented users, sessions, etc. in the data. This process is called behavioural modelling for Consent Mode and is available for all GA4 properties now.

Assuming you have met the prerequisites in data volume, then you will be able to use the ‘Blended’ reporting identity in GA4, which is set under Admin > Reporting Identity.

Ga4 reporting identities

You will then see the modelled data in all available reports when using GA4. You can see if any specific report is using modelled data by clicking on the report status icon:

GA4 modelled data in reports

Opting out of cookieless pings (GTM)

Some companies might not agree with Google’s cookieless pings and want to prevent them from happening altogether. In a sense, make sure that no consent means no track of any sort.

In GTM this is relatively simple to do. First you may have to enable the consent overview in Admin > Container Settings > Additional Settings:

GTM container setting for consent overview

Then you should see a new ‘Consent Settings (BETA)’ section under the ‘Advanced Settings’ in any tag configuration.

In there, for the GA4 tags you have, you can select ‘Require additional consent for tag to fire’ and specify the consent type you want to ensure you have. For GA4, this is most likely to be the analytics_storage consent.

GTM tag consent settings with additional consent set

Once saved and published, all the GA4 tags will now behave the same as the non-Google tags in that nothing will be tracked until you have the user’s consent.

Note: By doing this, you will never be able to use the behavioural modelling in GA4!

Do I need to use Consent Mode?

No, but it will save you all the time and effort of manually triggering tracking based on consent statuses from your CMP.

In GTM, you can manage variables and triggers for each consent type by creating trigger groups to include consent and dynamically fire each tag. However, Consent Mode makes all of this much easier, and you can manage, change and update consent requirement in bulk without the need of trigger groups!

If you are using a CMP (and who isn’t nowadays), then Consent Mode is a valuable tool and asset to making sure it is ‘plumbed in’ effectively to all your marketing and analytics tracking and data collection.

Written by

Daniel is the innovation and training lead at Measurelab - he is an analytics trainer, co-host of The Measure Pod analytics podcast, and overall fanatic. He loves getting stuck into all things GA4, and most recently with exploring app analytics via Firebase by building his own Android apps.

Subscribe to our newsletter: