In this guide, we’ll show you how to setup Google Consent Mode v2 (advanced consent mode) using a Consent Management Platform (CMP) and Google Tag Manager. We’ll be using GetTerms as our CMP of choice, but all of the settings and features mentioned should be available if you’re using a CMP that supports Advanced Consent Mode.
What you’ll need
How consent mode works
Google Advanced Consent Mode sends a users consent state along with cookie less pings to platforms like Google Analytics 4 (GA4) and Google AdSense. As this data is deidentified, it can be sent to these platforms before a user has provided their consent preferences. Through the power of machine learning, Google uses these cookieless pings to model the conversions and behaviour of users that it can’t observe directly, mitigating any data collection gaps.
Part 1: Install Google Tag Manager on your website
This guides uses Google Tag Manager to configure Google Consent Mode correctly. If you’ve installed your Google Tag directly into your site’s <head>, we strongly recommend removing it and installing it with Google Tag Manager to ensure it doesn’t fire before consent settings are updated.
If you haven’t installed Google Tag Manager yet, follow this guide first.
Part 2: Enable Google Consent Mode in your CMP
- Log into GetTerms (or your chosen CMP) and open your chosen Policy Pack with Cookie Consent enabled.
- Open the Cookie Consent tab.
- Open the Cookie Consent Widget tab.
- Open the Configuration tab.
- Toggle “Enable Google Consent Mode” to On.

Part 3: Embed your Consent Banner on your website correctly.
- Go to the Installation tab of your consent banner and make sure the embed code includes the consent mode initialisation code.
- Ensure that your consent banner script is embedded on your website correctly.
It should be the first <script> in the head section of your website.
Part 4: Setup Advanced Consent Mode in Google Tag Manager
Add the ‘GetTerms Consent Management’ Tag Template (or the template provided by your CMP solution) to your workspace.
- In your ‘Google Tag Manager’ workspace, open the ‘Templates’ tab.
- Within the ‘Tag Templates’ panel, click ‘Search Gallery’.

- Search for ‘GetTerms’ or your chosen CMP’s Tag template

- Click the ‘GetTerms Consent Management’ result.

- Click ‘Add to workspace’.

- Review the permissions required by the GetTerms Consent Management template, and click ‘Add’.

- Open the ‘Tags’ tab and click ‘New’ to add a new tag.

- Click the ‘Tag Configuration’ panel, and select the ‘GetTerms Consent Management’ custom tag type.

- Configure the default consent preferences.
Configure any default consent preferences using the dropdowns provided. These defaults will be applied before the user has updated their consent preferences.If you need scripts to be ‘opt-in’ for compliance, you should leave all preferences defaulted to ‘Denied’.
- Scroll down and click the ‘Triggering’ panel.

Note: You can add multiple triggers by hovering the trigger’s icon to reveal a checkbox to select more than one.
- Select ‘Consent Initialization – All Pages’.
Part 5: Configure your tags for Consent Mode in GTM
Consent overview tells you which tags have or haven’t been configured for consent.
- Open your container settings found in the admin tab.

- Tick the box for ‘enable consent overview’.
You’ll now see a shield in your tag settings which lets you know that consent overview is enabled.
Clicking the shield opens your consent overview, which tells you which tags have or haven’t been configured for consent.
Selecting a tag and clicking the shield button will allow you to edit the consent settings for your tags in bulk. In this instance, select your google tag and edit consent settings.
- Configure your Google Tag’s consent settings.
Configure your Google Tag’s consent settings to ‘No additional consent required’ as it’s a Google Tag and therefore knows about consent mode.
Consent settings for non-Google related tags:
Only Google branded tags will understand Google Consent Mode signals. If you want to fire a specific tag after consent is given, you’ll need to set this up to require additional consent firing only upon a user granting ‘analytics storage’. You can then use the event ‘consentUpdate’ as the trigger as we send the user’s consent preferences with this event.

- Set the trigger for your Google tag to ‘Page View – All Pages’ or ‘Initialization – All Pages’.

- Add a second trigger.

- Click the ‘+’button to add a new trigger.
- Select ‘Custom event’ as the trigger type.
- Input the event name ‘consentUpdate’.

- Click ‘Save’ to save the trigger.
- Configure the tag to fire ‘once per page’.
We recommend that you configure the to fire ‘once per page’ to avoid the chance of a tag firing twice on the same page. This can happen if a user grants consent for all cookies, then updates their consent to deny ‘advertising cookies’ on the same page as consentUpdate will fire each time consent preferences are updated.

- Click ‘Save’ again to save the tag configuration.
Now your Google Tag will when on each page view, and also when the user first sets their consent preferences. Google analytics will only collect personal information when consent is granted for ‘Analytics storage’.
- Publish your GTM container.
Publish your GTM container by clicking ‘submit’ in the top right of the window, your GTM is configured and consent mode should be active!

Part 6: Verify Consent Mode is installed correctly
- Analyze the event your Google Tag is firing on.
In the preview / debug view of Google Tag Manager, click the initialization event that your Google Tag is firing on.

- Check the consent state under the consent tab.
Make sure that your consent state is in-line with the cookie preferences you have set in our consent banner. If you have accepted all cookies, all types of data should show consent as granted, and the default state should say ‘denied’ for all types of data.
If you reject all cookies, the consent tab should show all cookies except security storage as ‘Denied’
Consent showing denied for all storage types?
If you have consented to all cookies, but the event your Google Tag fires on displays all types of cookies as ‘denied’, you may be firing our cookie banner or the GetTerms Consent Management tag after your Google Tag. This means we are not able to update the current state of consent state before your Google Tag fires.
Make sure:
- The GetTerms Consent Management tag or your chosen cookie banner is firing on ‘Consent Initialization’
- Your Google Tag is firing on ‘Initialization – All Pages’
- Your CMP installation script includes the Google Consent Mode initialization code.It should look something like this:
<!– 1. Initialise Google Consent Mode –>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
// Set all consent categories to “denied” by default.
gtag(“consent”, “default”, {
“ad_storage”: “denied”,
“ad_user_data”: “denied”,
“ad_personalization”: “denied”,
“analytics_storage”: “denied”,
“functionality_storage”: “denied”,
“personalization_storage”: “denied”,
“security_storage”: “denied”,
});
</script>