Usercentrics - PUBLIC

Implementing Google Consent Mode with the Usercentrics CMP

The Usercentrics CMP supports Google Consent Mode v2, which Google may require you to implement based on their EU user consent policy. Below you’ll find more information about it and how to implement it.

Consent Mode in essence is a mechanism that allows third party scripts to pass consent data to Google Tag Manager using the Global site tag (gtag) API.
This data can be used to conditionally load tags, or modify their behavior.

  • Consent Mode is not a Google service or product, it’s more like a consent API.

  • Consent Mode makes use of the dataLayer and only works with Google Tag Manager (or gtag).

  • Consent Mode is part of the larger Global site tag (gtag) API.

Two easy ways to implement GCM with the Usercentrics CMP

  1. The Usercentrics CMP template tag registers default consent settings, so the consent mode script doesn’t need to be used with that implementation method for the Usercentrics CMP, as long as all relevant Google tags are handled in the Google Tag Manager. (No default consent needed on the page.)

  2. If you don’t implement Usercentrics CMP via the template tag in Google Tag Manager, you’ll need to add a script to your page to enable it.

Let’s have a look at that script for option 2:

<script type="text/javascript"> // create dataLayer window.dataLayer = window.dataLayer || []; //Create the gtag API, so you don’t have to write dataLayer.push() and can use gtag() instead. function gtag() { dataLayer.push(arguments); } //Use the gtag method to pass default consent settings to Google Tag Manager. gtag("consent", "default", { ad_user_data: "denied", ad_personalization: "denied", ad_storage: "denied", analytics_storage: "denied", wait_for_update: 2000 // milliseconds to wait for update }); // Enable ads data redaction by default [optional] gtag("set", "ads_data_redaction", true); </script> //The last part is the Google Tag Manager script. If you want to use Consent Mode as alternative to prior blocking the type of the script tag is "text/javascript". <script type="text/javascript"> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window, document, 'script', 'dataLayer', 'GTM-XXXXX'); //replace GTM-XXXXXX with Google Tag Manager ID </script>
Description
ad_storage
ad_user_data
ad_personalization
analytics_storage

In addition to the Consent Mode parameters relevant for Google services, 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
security_storage

The Usercentrics CMP does not update the above privacy parameters (functionality_storage, personalization_storage and security_storage) out-of-the-box as they are not part of the built-in consent checks of Google services. To make this connection (if applicable), you can use an event listener similar to the one from Step 2 of our Google Consent Mode tech doc after making sure to include them with the default consent state settings. While technically feasible, please note that this is outside of the support scope for the Usercentrics support & success teams.

After the default consent states are set, updates to those will occur when the consent_status of the Google DPS added to the implemented CMP Configuration / SettingID changes.

The updates are automatic, provided:

  1. You are using Predefined DPS for the relevant Google services. A list of the relevant Google DPS for this out-of-the-box way to handle Google Consent Mode is available in our documentation.

  2. You have enabled Google Consent Mode in the Admin Interface of the CMP Configuration, with the relevant toggle under Configuration → CMP Settings tab → Google Consent Mode

    enable-Google-Consent-Mode-in-Admin-Interface.png

     

If you’re using Custom DPS for relevant Google services:

  1. Follow the optional Step 2 of the Google Consent Mode technical documentation.

    1. Alternative (requires deeper technical GTM expertise): For Google Consent Mode setups purely handled within the Google Tag Manager (GTM), it’s also possible to build your own or use third party Google Consent Mode GTM templates. The idea with that approach is to use the consent_status event’s information in the dataLayer to “translate” this into Google Consent Mode storage type consent states in the GTM.
      Usercentrics does not recommend or actively support this alternative, but it may be feasible for some customers to explore such an option.

  2. Deactivate Google Consent Mode in the Admin Interface of the CMP Configuration. This helps prevent mixed signaling for the consent states.

You’ll find more details above and on the other pages of this Google Consent Mode section, but here are the steps to take for implementing GCM with the Usercentrics CMP put into simple terms.

  1. Set the default consent states for Google Consent Mode storage types in one of two ways:

    1. Using our GTM template tag can do this for you in the Google Tag Manager. Ensure you enable Google Consent Mode in the tag.

    2. Follow Step 1 of our Google Consent Mode tech doc in the context of a direct implementation in your website’s code.

  2. Regardless of your choice (a or b) above, it’s then necessary to: Toggle on / off Google Consent Mode in the Admin Interface of your CMP Configuration / SettingID under Configuration → CMP Settings tab → Google Consent Mode, depending on:

    1. Most common use case: If you’re using only Predefined DPS for the relevant Google services, toggle Google Consent Mode on in the Admin Interface to take advantage of our out-of-the-box signaling for GCM storage types.

    2. Optional: If you’re using some Custom DPS for the relevant Google services, follow Step 2 of our GCM tech doc and toggle Google Consent Mode off in the Admin Interface. This helps prevent multiple consent state updates for the GCM storage types.

  3. Adjust triggers of relevant Google tags based on your decision to use Basic or Advanced Google Consent Mode v2.

Usercentrics - PUBLIC