Skip to main content
Skip table of contents

GA4 and Consent Mode with JENTIS

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 ensures that only essential tags – those necessary for the basic functionality of the website – are activated without explicit user consent. This approach not only 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.

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.

JENTIS Essential Mode

GCM: Consent Granted

GCM: Consent Denied

Default Tag Execution


Google: ✅

JENTIS tag executes regularly, it is interpreted as consent-granted. Google Consent Mode receives the same information.


Google: ❌

JENTIS tag executes regularly, it is interpreted as consent-granted. However Google receives the signal that consent was denied and treats the data accordingly.

Essential Mode Tag Execution


Google: ✅

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 scenarios a plausible setting as Google will only access data that JENTIS provides and is anonymized (based on your configuration) so there is no need to further redact data.


Google: ❌

JENTIS tag execute with your essential mode configuration (anonymizing the data you selected). Google Consent Mode receives the same information (no consent granted).

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.

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:


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.


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.


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:

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

The mapping of that variable value is:




Consent is denied for both ad_storage and analytics_storage.


Consent is granted for ad_storage and denied for analytics_storage.


Consent is denied for ad_storage and granted for analytics_storage.


Consent for both ad_storage and analytics_storage is granted.


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.

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.

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:


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