Skip to main content
Skip table of contents

GA4 and Consent Mode with JENTIS

This article is intended for informational purposes only and does not constitute legal advice. For advice tailored to your specific situation, consult your Data Protection Officer of a qualified attorney.

In the realm of digital analytics and marketing, JENTIS stands out as a pivotal data capturing platform and tag management software, streamlining how organizations track user interactions on their digital platforms. With increasing emphasis on data privacy and user consent, understanding and implementing consent configurations, like the "Essential Mode" in JENTIS, becomes crucial. This article delves into the intricacies of Essential Mode and its integration with Google Consent Mode, elucidating their roles in responsible data capture and processing.

Understanding Essential Mode in JENTIS and Google Consent Mode (GCM) Differences

Essential Mode in JENTIS is a consent configuration setting that plays a vital role in aligning website data tracking with user consent. This mode enables JENTIS customers to define, within their Data Protection guidance, what is considered “strictly necessary” data for their business and configure its tracking for cases where consent is not given. This approach not only enables you to adheres to privacy regulations but also respects user preferences, a cornerstone in building trust in the digital age.

Essential Mode operates on a different level than for example Google Consent Mode. Here is the key difference at a glance:

  • JENTIS Essential Mode: A data routing option in your data capturing platform (selecting and activating the forwarding of data to an endpoint) in a defined level of granularity. Your triggers decide when and your variables and applied functions (such as anonymization) what data is forwarded.

  • Google Consent Mode: A configuration that indicates what data will be captured and how it is processed further to be used in reporting, machine learning etc. at this specific provider (Google).

With JENTIS you control what and when data is available, with Google Consent Mode you tell the provider how to treat received data. Both are very different topics so you may need to consider: is it necessary to apply a redundant setting with both, Essential Mode AND Google Consent Mode?

Essential Mode and JENTIS Data Capturing Platform is your full-control unit. If your JENTIS configuration already considers the consent choices of your users, you may need to consider if applying further controls (like Google Consent Mode) is necessary. As Google Consent Mode can redundantly further redact data or make it less valuable, even though this data has already been redacted via JENTIS before its transmission to Google.

Make sure to read on to better understand this fine but important differences.

Read more on the topic of Essential Mode in our documentation articles:

Possible combinations of JENTIS Essential Mode and Google Consent Mode are the following. Which can all be plausible settings, as JENTIS Essential Mode and GCM are two different things they can operate in a mix and match combination.

Let’s reflect in a 2x2 table the possible combinations:

  • Option A: JENTIS receives consent (true/false) and submits it exactly to Google (true/false)

  • Option B: JENTIS receives consent (true) and submits “granted” to Google, in case of “false” however it still forwards “granted” to avoid applying a potentially redundant redaction of the data

GCM: Consent Granted

GCM: Consent Denied

JENTIS Essential Mode

Default Tag Execution
Positive Consent

Option A - all positive
JENTIS tag executes regularly, it is interpreted as consent-granted. Google Consent Mode receives the same (granted) information.

(this case is not common as there should be no benefit to redact data in case consent is granted, so we will spare the details of this option)

JENTIS Essential Mode

Consent Aware Tag Execution
Negative Consent

Option B - negative and positive combination
JENTIS tag execute with your essential mode configuration (anonymizing the data you selected). Google tools however receive the signal to operate as consent is granted. In some cases, this may be a plausible setting, given that on the basis of your configuration via JENTIS the data has been first pseudonymized or anonymized and then sent to Google making further redaction by Google redundant.
Read here how to configure this setting with Google Tags:

https://jentis.atlassian.net/wiki/spaces/DD/pages/edit-v2/867827752#Configuring-the-%E2%80%9COption-B%E2%80%9D---A-Mixed-Combination-of-Consent-Data

Option A - all negative
JENTIS tag execute with your essential mode configuration (anonymizing the data you selected). Google Consent Mode receives the same information (consent denied).

Your JENTIS data capturing and tag management configuration is custom to your individual situation and you must evaluate which option is the right for your website. While the Option A comes as a (logical) default the Option B might also be a good idea. To jump straight ahead into configuring the latter please find here the section:

Overview of Google Consent Mode (GCM)

Further we will now focus on the configuration options with JENTIS and GCM specifically.

Google Consent Mode is a framework that allows website owners to adjust how Google tools, such as Google Analytics and Google Ads, behave based on the consent status of users. This mode provides finer control over data processing and capturing, particularly when using the global site tag (gtag.js). It enables businesses to respect user privacy while still gathering valuable insights in a consent-compliant manner.

JENTIS and Google Consent Mode Integration Options - Important Must Read

Google Consent Mode is another story to an existing epic that is “Consent” in the digital space. Making the world a slightly more complicated place than it was before this contribution. There are some things that you must make sure to be fully aware of so that data is not incorrectly flagged and hence not appearing in your reports or Google tools.

First we want to make sure nothing breaks during the migration phase of an implementation where Google Consent Mode was either in Version 1 (or not yet fully integrated) to Version 2 of GCM.

Please make sure to understand these very important definitions:

  1. Google Consent Mode has different implications and requirements based on the execution: client-side or server-side.

    1. Client-Side Tags: regardless if you will use client-side tags with or without JENTIS: the gtag() function call (here we refer to Google Tag) that submits data to the global dataLayer (window.dataLayer as the GTM default) is the source of truth. JENTIS and/or your website or Consent Management Platform will push information to this interface (setting the default and updates in regards to consent with gtag function).

    2. Server-Side Tags: with JENTIS any server-side executed tag will compute the consent information based on the vendors settings in your JENTIS Data Capturing Platform. You must make sure the vendors receive the consent correctly for this to function.

  2. Make sure that some application pushes a default and update signal to the Google Tag (gtag())! This is crucial as a missing call to this function to set the defaults and update to the latest information will break functionality client-side. The following applications can push this data:

    • your Consent Management Provider (CMP) possibly offers a functionality to submit a default and update based on its consent information.

    • your website possibly can push the default and update to the Google Tag.

    • JENTIS can push a default and update event to the gtag() library. On this option please read on “Activating Google Consent Mode Parameters with JENTIS”.

Make yourself familiar with the topic of integrating the Google Tag and Consent Mode into your website. Decide which application will submit the default and update event. The consent settings must be resolved with gtag() on client-side, as it will affect all your tags.

Activating Google Consent Mode Parameters with JENTIS

In JENTIS you have control over the values for various settings Google has defined with the Consent Mode version 2 update. This is an optional setting in case you actively want to set those values based on the consent information received in JENTIS.

The following options are available with Google Tags:

  • ad_user_data

  • ad_personalization

  • ad_storage

  • analytics_storage

The recommendation is to always initialize with all settings value “denied” when a website is rendered, so no service prematurely starts tracking. With JENTIS we will set this as a default when a client-side Google Tag is configured (but making sure not to override any pre-existing settings) within a configuration.

Further, you want to map those settings to individual consents granted in your Consent Management Platform. It can either be a mapping based on categories (ie. “Marketing”, “Statistics”, etc.) or individual services (“Analytics Tool”, “Advertising Tool”, etc.). With JENTIS you can use both options. Here is how to configure this.

Important: JENTIS will only submit the default and update events to Google Tag (gtag()) if a Google related vendor is implemented client-side. Your settings will only apply if this condition is met. If in your configuration no client-side Google Tag activates the Google Consent Mode default and update signals will not be provided by JENTIS.
Server-side tags however will operate based on your vendor settings. It is not mandatory to have a client-side tag for server-side to operate and apply consent correctly.

Configure Consent Mode with JENTIS Vendors

Navigate to the main menu, “Legal Hub: Vendors”. For any Google Tag-related vendor (GA4, Google Ads, etc) and for any custom vendor, you have the option to use the Consent Mode mapping.

It is found in the individual vendors' settings:

image-20240201-090439.png

This mapping is based on the keys Google defines (ie. “Ad storage”). For each of that settings, you can select a checkbox. Ticking a checkbox with a vendor means that a link is established on that key and the consent of that vendor. Whenever this vendor receives positive consent information the according setting will receive a “granted” in the Google Tag. Otherwise, the status will remain (“denied” by default).

Not ticking a checkbox will result in no such link. You have to configure this setting otherwise, ie. with you CMP, and there is no task for your tag management then. For example if no checkbox on any vendor is a ticket then JENTIS will not make any Google tag updates regarding consent.

Resolving Conflicts

At this time you might ask yourself, what if the same Google Consent Mode setting, ie. “Analytics storage” is linked in multiple vendors? How will JENTIS determine if now that consent is granted or denied in Google Tag?

Simple - let’s run through an example.

The situation is resolved with a “single signal wins” method.
If you have two vendors associated with the Google Consent Mode in JENTIS and both are linked to “Analytics storage”, either of them received consent will apply “analytics_storage:granted” automatically. Meaning, that as soon as any of both vendors has received consent, it will translate to granted to the linked setting. Regardless of the consent status in the other vendors.

Optional Overriding in Tags

The vendors settings described in the step before are a global configuration. However, on each individual tag that is affiliated with the Google Tag (gtag.js with the gtag() function) there are placeholders in the JENTIS tags.

If you want to use different individual settings with a tag in JENTIS you can apply those changes and for example set the value to “granted” or “denied” based on a dynamic variable or a static string.

image-20240201-130219.png

Consent Mode Options in Client- and Server-Side JENTIS Tags

It is highly important that with server-side data streams (tags) there are other options in configuration as with client side tags and streams. Where as with server-side you are in full control of data streams there is generally less control as the third party library (gtag.js) loads, in a website visitors browser, and acts autonomously.

Consent Mode with Server-Side Tags

In tags for server-side execution the option for GCM is for the final parameter in the according placeholders.

image-20240201-130234.png

The most important setting is the “Google Consent Status” (gcs parameter). Which displays the current consent status based on a special GCM syntax.

By default the “Google Consent Status” variable will cater to the syntax provided by Google: https://developers.google.com/tag-platform/security/guides/consent?hl=en#verify_consent_settings

This variable derives the consent information from your consent settings in the according JENTIS Tag Manager container.

The mapping of that variable value is:

Value

Meaning

G100

Consent is denied for both ad_storage and analytics_storage.

G110

Consent is granted for ad_storage and denied for analytics_storage.

G101

Consent is denied for ad_storage and granted for analytics_storage.

G111

Consent for both ad_storage and analytics_storage is granted.

G1--

The site did not require consent for ad_storage or analytics_storage.

(based on the documentation of Google from 2024-01-04)

Further in all tags in JENTIS you can configure all Consent Mode related parameters:

  • npa: Non Personalized Ads flag

  • gcut: Google Consent Update Type

  • gcd: Google Consent Default

  • gcu: Google Consent Update

  • gcs: Google Consent Status

  • dma_cps: Digital Market Act Parameters

By default they are all mapped to specific variables provided to you by JENTIS. Those will access the latest information in the Google Tag client side and apply them accordingly. Source for which is either your CMP or the JENTIS vendors configuration. So any route or option you need is possible.

Configuring the “Option B” - A Mixed Combination of Consent Data

In the initial chapter we discussed the option where consent is denied and Essential Mode steps in to pseudonymize/anonymize the data.

Here is described how it is technically possible to avoid potentially redundant data redaction in Google Consent Mode and any loss of data quality that may result out of it.

By default the Google Consent Mode variables and placeholders will translate positive and negative consent to say “granted” or “denied” accordingly. But this is not desired in this scenario. It depends on your Google Tag at hand (which is used with Google Ads, Dynamic Remarketing and Google Analytics 4) how to configure it in this case best. But the following option might be a good starting point, as it allows for the most use of the already anonymized data.

In this case you can either override manually the placeholders to the following static values, to simulate granted consent, for the according tool and tag in your JENTIS Data Capturing Platform.

Or you can use the according variables with dynamic values that end with “(Synthetic Users)” suffix in the name. They are implemented in a dynamic way to always submit positive consent with Google Tag.

In JTM you’ll find according Google Consent Status and Update variables with the “(Synthetic Users)” flag, available for all Google Consent Mode parameters

In case of manual override the following values can be submitted to signal a granted consent. Please note that those values might change and you have to adopt them to the latest updates of Google Consent Mode.

  • npa: 0

  • gcut: - (empty)

  • gcd: 13r3rPr2r5l1

  • gcu: - (empty)

  • gcs: G111

  • dma_cps: syphamo

image-20241106-063218.png

With this tag configurations you will apply a static configuration for the case of Essential Mode and Google will treat data as if consent was received. Which gives you more options in the Google services and improves the data quality. This gives you more options across Google services and improves data quality, while maintaining your full control over what data is redacted (on an individual, parameter-by-parameter basis, based on your configuration).

Consent Mode with GTAG.js (Client-Side)

Where the server-side configuration is based on the final outcome (consent status parameter) the client-side executed gtag.js must receive other instructions. For your JENTIS Tag Manager this is again a configuraiton of placeholders and according variables. However the values here differ from the consent status and are more granular on the instructions for Googles gtag.js.

The following GCM options are available from the latest update which becomes a mandatory implementation in early 2024.

CODE
gtag("consent", "default", {
    ad_user_data: "denied",//"granted"
    ad_personalization: "denied",//"granted"
    ad_storage: "denied",//"granted"
    analytics_storage: "denied",//"granted"
});

You can set all this settings based on JENTIS vendors and a native connection to you Consent Management Platform.

With each vendor you have the option to link a vendors consent to the according Google Consent Mode setting. Head to the “Legal Hub: Vendors” in your JENTIS account to find these settings:

image-20240201-134130.png

You can see many options how to connect between JENTIS and Google Tag. We will run you through all possible use cases in a dedicated guide: Google Consent Mode Use Cases

Google Consent Mode Version 2

As of an update in November 2023 the GCM was changed to inherit two more parameters that provide you with more control of how and which data is processed with the Google tags. Read more on that update.

For your JENTIS configuration you must check the following:

  • What is your Consent Management Platform and is it already providing features related to Google Consent Mode? Please head to the Google Consent Mode Use Casesarticle to find out possible alignments between your CMP and JENTIS.

  • Are you using client-side or server-side Google tags with JENTIS? This tags will need to be updated and configured based on your requirements. You can find in all tags that are affiliated with Google Tag according settings to the individual Consent Mode parameters.
    By default all your tags will receive a configuration for each consent mode setting with an appropriate mapping to a variable. This resolves to the general use of Google Tag and the according settings of Consent Mode. Please make sure to preview and test all settings before publishing.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.