Usercentrics - PUBLIC

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

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.

  • 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.)

  • 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 it

<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>

Default consent states for Google Consent Mode storage types in detail

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 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
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.

(info) 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.

Updates of consent states for Google Consent Mode storage types

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.
      (warning) 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.

Discover more about Google Consent Mode

  • No labels