Follow all 5 steps in this tutorial to set up Google Consent Mode V2 for your website.
Why do you need to implement consent mode for your website?
To keep using Google Ads measurement, ads personalization and remarketing features, you must collect consent from end users based in the EEA to share consent signals with Google.

Disclaimer: Before getting started, consult with your legal department/expert regarding data and privacy. This tutorial only shows how to technically implement Google Consent Mode V2 using a CMP, it does not guarantee data and privacy compliance for your specific business.
*This guide is not sponsored, affiliated, endorsed or administered by Google or Cookiebot in any way. This guide was created to provide the ppc community with a technical tutorial on implementing consent mode V2. Check official sources for up-to-date information.
Now let’s get started!
Step 1: Choose a Google CMP (Consent Management Platform)
In this tutorial, I’m using Cookiebot as a CMP. But you can choose your own favorite partner. Here’s a link where you can find all official Google CMP Partners: cmppartnerprogram.withgoogle.com
I’m using Google Tag Manager to implement Consent Mode. Be sure to first set up your accounts. Accounts ready? Then navigate to ‘Container Settings’ in GTM.

Step 2: Set up Google Tag Manager for Consent Mode
Enable consent overview in the Container Settings of your Google Tag Manager account. This option enables new consent functionality in GTM.

Now continue by navigating to your Tags overview and select to create a New tag.
Hit the ‘New’ button.

Step 3: Configure the Cookiebot CPM tag
Search the gallery for ‘Cookiebot CMP’ and add it to your workspace. Provide required permissions. (If you are already working with Cookiebot, then update to the latest version.)


Now enter your Cookiebot ID. You can get this ID from your Cookiebot.com user account. Copy/paste the Domain Group ID attached to your website(s).

Enable Google Consent Mode. Cookiebot will then automatically signal the user’s consent to tags that rely on the Google’s consent API.
Set the default consent state for users in different geographical regions if needed. Or leave blank to apply globally.


Click ‘Add’ at the top right to save your changes.
Create a trigger to fire the Cookiebot tag. It should fire on all pages using the ‘Consent initialization – All pages’ trigger.

This is how your final tag should look like (except for the example value of the Cookiebot ID). Now hit ‘Save’ to create your tag.

Step 4: Debug and publish your setup
When you debug and publish your tag, the Cookiebot consent banner should appear on your website from the moment a user visits your website.

Cookiebot uses 4 consent types categories: necessary, preferences, statistics and marketing. Users can choose to enable or disable each of these categories.
The Consent Mode V2 introduces 2 new consent types: ‘ad_personalization’ and ‘ad_user_data’. Both are mapped to the ‘marketing’ Cookiebot type.

When people choose to enable ‘Marketing’ cookies, it will grant consent for ‘ad_storage’, ‘ad_personalization’ and ‘ad_user_data’.

Step 5: Verify built-in consent checks
When a tag supports ‘Built-in Consent Checks’, you can use a default trigger like ‘All Pages’ for it to fire. It will first check consent before firing the tag.

Tags such as the Google Tag, Google Ads, Floodlight and Conversion Linker all have built-in consent checks. No additional consent configuration is needed for these tags.
However, if you add new Tags that don’t have built-in consent checks (e.g. a Meta Pixel tag), then you need to ‘Require additional consent for the tag to fire’.

For Tags that require additional consent, you need to use a custom event Trigger that first checks the latest user consent state before firing the tag.

Create a new Trigger and select ‘Custom Event’ as the Trigger Type. Use ‘cookie_consent_update’ as the Event name. Fire on ‘All Custom Events’.

When you’re done configuring consent for all your tags. You can then debug and preview the consent configuration. All consent types are denied when no consent is given.

When people choose to enable ‘Marketing’ cookies, it will grant consent for ‘ad_storage’, ‘ad_personalization’ and ‘ad_user_data’.

Congratulations! You have now successfully implemented Google Consent Mode V2. Allow some time for Google to detect your changes.