Google Tag Manager includes several features that work together to help you manage how tags behave in response to consent settings. Tag Manager features a consent initialization trigger, tag settings for consent management, and a Consent Overview page. Several third-party consent management providers have built integrations with consent mode into their products. This article describes how to set up the consent management features in Tag Manager.
Set up consent mode in Google Analytics
Consent Initialization trigger
The Consent Initialization trigger is designed to help you ensure that all consent settings are honored before any other triggers fire. The Consent Initialization trigger is used for tags that set or update the user consent state for your site, such as a consent management platform tag or tags that set consent defaults.
Each web container includes a Consent Initialization - All Pages trigger by default. Select this trigger to fire any tags that require it.
The Consent Initialization trigger is not used for tags that should fire early on a site. For tags that aren't specifically used to manage consent settings, use an Initialization trigger instead. The Consent Initialization trigger will always fire before all other tags, including any Initialization triggers.
Note: When writing your own templates or Custom HTML tags, any commands executed in callbacks or commands that use gtag()
are not guaranteed to be available before the next trigger fires. To ensure that consent information is available as quickly as possible, use the Tag Manager Consent APIs. Read the developer guides for more information.
Tag consent settings
Tags with built-in consent checks typically modify their behavior based on the consent granted. Each tag can have customized consent settings. To edit consent settings for a tag:
- In any web tag, click Advanced Settings > Consent Settings.
- Review settings listed in Built-In Consent Checks. Tags with built-in consent checks include logic that changes the tag's execution behavior based on the user's consent state. Read how consent mode operates for Google Ads, Google Analytics and Floodlight. Note: Third-party consent management platforms may feature different default built-in behaviors.
- Select Additional Consent Checks.
- Not set: Default. No additional consent checks are performed by this tag.
- No additional consent required: Select this option to indicate that your tag does not need to check for additional consent in order to fire. You may choose to use this option to distinguish tags that need no additional consent outside of their built-in consent checks for any tags that you have not yet reviewed.
- Require additional consent for tag to fire: This tag will only fire if the status of all specified consent types are 'granted' when the tag is triggered. If you select this option, the + Add required consent button will appear. Use this button to add additional consent types. Tag Manager supports the consent types listed in the table below, and you can add your own custom consent types based on what is supported by your consent management platform.
Tag Manager consent types
The following consent types can be used to control tag firing in Google Tag Manager. Google tags that support consent mode already adjust their behavior based on these consent types.
Consent Type | Description |
ad_storage | Enables storage (such as cookies) related to advertising. |
ad_user_data | Sets consent for sending user data related to advertising to Google. |
ad_personalization | Sets consent for personalized advertising. |
analytics_storage | Enables storage (such as cookies) related to analytics e.g. visit duration. |
In addition to the consent mode parameters, there are the following privacy parameters:
Storage Type | Description |
functionality_storage | Enables storage that supports the functionality of the website or app e.g. language settings. |
personalization_storage | Enables storage related to personalization e.g. video recommendations |
security_storage | Enables storage related to security such as authentication functionality, fraud prevention, and other user protection. |
Consent Overview
The Consent Overview page provides a high level view of all the consent settings across the tags in your container. To enable this feature in your container:
- In Tag Manager, click Admin > Container Settings.
- Under Additional Settings, select Enable consent overview.
To access the Consent Overview page:
- Click Tags in the left navigation.
- Click the Consent Overview icon.
The Consent Overview page groups tags into two categories:
- Consent Not Configured: Lists tags where no action has been taken. These tags are in the 'not set' state.
- Consent Configured: List of tags where Additional Consent Checks has been set to either "No additional consent required" or "Require additional consent for tag to fire"
Bulk consent edits
From the Consent Overview screen, you can edit consent settings for multiple tags at the same time:
- Click Tags in the left navigation.
- Click the Consent Overview icon.
- In a list of tags, use the checkboxes to the left of each entry to select which items you would like to update. When one or more tags are selected, the Edit Consent Settings icon will appear.
- Modify settings for Additional Consent Checks.
- Click Save.
- Publish your container for the changes to take effect.
Consent management platform integrations
Consent management platforms (CMPs) are able to integrate with Consent Mode and consent settings in Google Tag Manager. Tag Manager Featured CMPs have templates available in the Tag Manager Community Template Gallery which are integrated with our Consent APIs.
To capture valuable insights while protecting user privacy, you need to collect consent from your website users. We recommend you use a Consent Management Platform (CMP) or work with your Content Management System (CMS) to collect consent and send it to Google.
Learn more about how to Set up your consent banner with a consent management platform or a content management system.
Refer to the table below for more information on how CMPs have integrated with Consent Mode:
Consent Tool | Supported consent types | Tag Manager Community Template available |
Integrated with consent update calls | Integrated with consent default calls |
Commanders Act | ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + TrustCommander template) |
Complianz | ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + TrustCommander template) |
Consentmanager | ad_personalization ad_storage ad_user_data analytics_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Cookie First | ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Cookie Information A/S |
ad_personalization |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Cookiebot (Cybot) | ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
CookieScript |
ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ |
✓ (Integrated GTM template + code example for gtag.js) |
CookieYes |
ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Didomi |
ad_personalization |
✓ | ✓ | ✓ (Full GTM + non-GTM integration) |
iubenda | ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
OneTrust |
ad_personalization |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Osano | ad_personalization ad_storage ad_user_data analytics_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Secure Privacy |
ad_personalization |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Sirdata | ad_personalization ad_storage ad_user_data analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Termly |
ad_storage analytics_storage functionality_storage personalization_storage security_storage |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Usercentrics |
ad_personalization |
✓ | ✓ | ✓ (Integrated GTM template + code example for gtag.js) |
Consent configuration settings behavior with the Transparency & Consent Framework v2.0
Google Ads and Google Analytics tags integrate with the IAB Transparency & Consent Framework (TCF) v2.0 framework. If customers have TCF support enabled, Google product tags will respect TCF user consent settings. Interpretation of TCF behaviors may differ between products. Read the documentation for each product to learn how they integrate with TCF: Google Ads, Google Analytics, Campaign Manager, and Display and Video 360.
Currently, Tag Manager consent configuration settings support TCF Purpose 1: Store and/or access information in a device, and users can configure their tags for the five consent types listed in the table above if they are also supported by your consent management platform.