As BigID Consent is a Google-certified CMP, it is really easy to comply with Google requirements and here you will find how to do it.
Configuring the look-and-feel of your banner without coding
Although the banner comes ready for you to use, it is useful to know that you can fully configure the visual aspects, content and behavior from a graphical user interface too. Check our guide!
Picking the right banner template
Google requires you to show a banner that:
explains that data is collected for personalized advertising purposes
includes an affirmative consent option
Fortunately, points 1 and 3 are covered in all banners out-of-the-box. As for point 2, you can achieve it by enabling it in our Banner Builder module.
Go to My Banners → Select the banner to configure → Main/Secondary Screen → Legal links. Then, enable the Google Consent switch:

Setting up Google Consent Mode v2
As a Google-certified CMP, you can integrate BigID directly from Google Tag Manager and in this way integrate Google Consent Mode V2 as well. To know more about what is Google Consent mode V2, check out our latest blog.
Set up Google Consent Mode V2 using GTM (recommended)
When you implement BigID through Google Tag Manager, it is already integrated automatically with Google Consent Mode V2. You can do it, and no technical experience is needed at all.
Manual setup (if you can’t use GTM)
If you are integrating the Consent Banner by copying and pasting the script tag directly in the HTML code, you need to add a second code snippet to comply with Google's consent requirements. In other words, KEEP the banner script tag and ADD the following one.
1. Add the following <script> tag to the <head> of your pages:
Important
Remember to replace
<your-site-id>with your actual Site ID shown in the platform.
For Explicit consent banners:
<script>
(function(siteId, win, doc) {
var cookieName = 'bigid-consent-' + siteId;
var cookies = doc.cookie.split(';');
var cookie = cookies.map((c) => c.split('=')).find(([name]) => name.trim() === cookieName);
var consentStr = cookie ? cookie.slice(1).join('=').trim() : undefined;
var consent = {};
consentStr?.split('|').map((v) => v.split('=')).forEach(([k, v]) => {
consent[k] = v === 'true';
});
// Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Privacy Controls and Cookie Soluion is loaded)
win.dataLayer = win.dataLayer || [];
function gtag() {
win.dataLayer.push(arguments);
}
win.gtag = win.gtag || gtag;
win.gtag("consent", "default", {
ad_storage: consent.marketing ? 'granted' : 'denied',
analytics_storage: consent.preferences ? 'granted' : 'denied',
functionality_storage: consent.preferences ? 'granted' : 'denied',
personalization_storage: consent.preferences ? 'granted' : 'denied',
security_storage: consent.preferences ? 'granted' : 'denied',
ad_user_data: consent.marketing ? 'granted' : 'denied',
ad_personalization: consent.marketing ? 'granted' : 'denied',
});
window.gtag('set', {
'ads_data_redaction': !consent.marketing,
'url_passthrough': !consent.marketing || !consent.preferences,
});
})("your-site-id", window, document);
</script>For Implicit consent banners:
<script>
(function(siteId, win, doc) {
var cookieName = 'bigid-consent-' + siteId;
var cookies = doc.cookie.split(';');
var cookie = cookies.map((c) => c.split('=')).find(([name]) => name.trim() === cookieName);
var consentStr = cookie ? cookie.slice(1).join('=').trim() : undefined;
var consent = {};
consentStr?.split('|').map((v) => v.split('=')).forEach(([k, v]) => {
consent[k] = v === 'true';
});
// Initialize the data layer for Google Tag Manager (this should mandatorily be done before the Privacy Controls and Cookie Soluion is loaded)
win.dataLayer = win.dataLayer || [];
function gtag() {
win.dataLayer.push(arguments);
}
win.gtag = win.gtag || gtag;
win.gtag("consent", "default", {
ad_storage: consent.optedIn !== false ? 'granted' : 'denied',
analytics_storage: consent.optedIn !== false ? 'granted' : 'denied',
functionality_storage: consent.optedIn !== false ? 'granted' : 'denied',
personalization_storage: consent.optedIn !== false ? 'granted' : 'denied',
security_storage: consent.optedIn !== false ? 'granted' : 'denied',
ad_user_data: consent.optedIn !== false ? 'granted' : 'denied',
ad_personalization: consent.optedIn !== false ? 'granted' : 'denied',
});
window.gtag('set', {
'ads_data_redaction': consent.optedIn === false,
'url_passthrough': consent.optedIn === false,
});
})("your-site-id", window, document);
</script>To learn more about Consent Mode, take a look at the official blog of the Google Marketing Platform, the Google Analytics Help, the official Set up consent mode on websites of Google and the gtag.js guide.
No-code setup (if you can’t use GTM or add embedded code)
If you are integrating the Consent Banner by copying and pasting the script tag directly in the HTML code but you can not add a second block of code, you can still add a flag to the initial code snippet to comply with Google's consent requirements.
Change the code snippet from:
<script src="https://bigidcmp.cloud/banner.js?siteId=<your-site-id>"></script>To:
<script src="https://bigidcmp.cloud/banner.js?siteId=<your-site-id>&includeGCMDefault=true"></script>Basic vs Advanced Google Consent Mode
Google presents its Consent Mode in two ways: Basic Consent Mode and Advanced Consent Mode. In a nutshell:
Basic Consent Mode: Google Tags will not appear on the website until the user grants the consent to do so.
Advanced Consent Mode: Google tags will appear on the website, but they will adapt their behavior based on the user’s consent.
To learn more about them, please refer to Google’s documentation.
By integrating BigID’s banner following the setup steps shown above, the platform will send both Default and Update consent signals as Google requires. Therefore, implementing Basic or Advanced modes will depend on how you load your Google tags.
Implementing Advanced Google Consent Mode
This is the default behavior and you don’t need to do anything special to set it up, just trigger the Google tag with a regular page load and you are good to go.
Why? Remember, in Advanced Mode, Google tags will load, but they will adapt their behavior internally. You can actually see this feature on any GTM tag that comes with “Built-in consent checks”:

Since BigID’s cookie banner is already sending these consent signals to GTM, you only need to trigger the tag as you would usually do, for example with a page load:

Implementing Basic Google Consent Mode
In order to prevent the Google Tags from loading entirely, you’ll have to do two things:
Use our Custom Event to trigger the tag whenever there’s a new consent value.
Add additional consent settings to the Google tag.
Creating a Custom Event to trigger tags whenever there’s a new consent value
Go to the Triggers section and click on "New".

Then click on the Trigger configuration box and pick Custom Event as trigger type. As Event name add
bigidcmp_consent_update, then click "Save".
Adding additional consent settings to the Google tag
As seen in Advanced Mode, Google tags (and other tags like Microsoft’s) come with some “Built-in consent checks”. This is not enough. To implement Basic Mode you need to “Require additional consent for tag to fire”. Also, since you want to load the Google Tag only once per page (and not each time the user clicks on the accept button), you need to set the “Tag firing options” to “Once per page”:
.png?sv=2022-11-02&spr=https&st=2026-04-05T13%3A35%3A21Z&se=2026-04-05T13%3A53%3A21Z&sr=c&sp=r&sig=Tp8nOe0eizj5mCB0Rw3EkUJizse5sLZwoLGW5nH9rDA%3D)
Add the Consent Types you need for your tag. Here you have a small explanation on what does each of them mean:
Consent Type | Description |
ad_storage | Enables storage (such as cookies) related to advertising |
analytics_storage | Enables storage (such as cookies) related to analytics e.g. visit duration |
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 |
ad_user_data | It controls whether user data related to advertising can be sent to Google. |
ad_personalization | It controls whether personalized advertising is allowed. |
For example, for a Google tag that will load Google Analytics, the reasonable choice would be to select only analytics_storage. However, if you are loading a Google Ads asset, then requiring ad_storage, ad_user_data, ad_personalization, sounds more accurate.
Last step, use the Custom Event trigger you created above to fire the Google Tag:

Disabling Google Consent Mode entirely
If you want to remove all kinds of reference or integration with Google Consent Mode, please integrate the banner by pasting the script tag in your HTML code, but adding the noGoogleConsentMode to it in the following way:
<script src="https://bigidcmp.cloud/banner.js?siteId=<your-site-id>&noGoogleConsentMode=true"></script>Troubleshooting
The tag does not load on first visit, even if the user grants the consent
This might mean that you are triggering the tag with a page load (or similar) when the consent is still denied. Then the user grants it but there’s no new page load event until the user visits the website again.
How can I fix it?
Set up and use the Custom Event described in the Implementing Basic Google Consent Mode section.
How can I check if the issue is fixed?
Once you did the changes, click on Preview on the upper-right part of GTM’s screen and check that the tag fires properly.
“A tag read consent state before a default was set”
If when testing Google Consent Mode in GTM, the preview console shows this error, then you are not loading the Cookie Banner on time:
.png?sv=2022-11-02&spr=https&st=2026-04-05T13%3A35%3A21Z&se=2026-04-05T13%3A53%3A21Z&sr=c&sp=r&sig=Tp8nOe0eizj5mCB0Rw3EkUJizse5sLZwoLGW5nH9rDA%3D)
How can I fix it?
Checklist if using Google Tag Manager:
Make sure BigID's cookie banner is fired by the "Consent Initialization" trigger in GTM.
Make sure no other tag is fired with that trigger.
Make sure no tags are being added to the website without or before GTM.
Checklist if adding the banner by pasting it to the HTML:
Make sure BigID's cookie banner is pasted right at the start of the
<head>element, before anything else.
Checklist if using Adobe Launch:
Make sure BigID's cookie banner is fired before any other tag.
How can I check if the issue is fixed?
Using Google Tag Manager:
When previewing the website in GTM, click on the "Consent" tab in the main screen. If the consent state is shown without any red warning, everything is fine.
Using the browser:
Open the browser's development tools and go to the console.
Type
bigidcmp.googleConsentMode.examine()and check that the booleanloadedOnTimeis set to true. If false, the issue is still there.


