The site implements Google Consent Mode v2 to communicate the user’s consent state to Google. The Consent Mode v2 script is the first element loaded in <head> and sets a default “denied” state for all non-technical services:
ad_storage, ad_user_data, ad_personalization — denied (marketing/ads).analytics_storage — denied (analytics).functionality_storage, personalization_storage — denied (preferences).security_storage — granted (technical cookies, always active).
In this state, Google collects data in “cookieless” mode (ping without cookies) until consent. Advertising data redaction is also active (ads_data_redaction: true) and URL passthrough is disabled (url_passthrough: false). The system waits up to 500 ms (wait_for_update) for the consent update from Cookiebot.
A dedicated listener updates the Google consent state as soon as Cookiebot communicates a choice, calling gtag("consent", "update", …) with the granted/denied values derived from the accepted categories:
- Analytics consent →
analytics_storage = granted. - Marketing consent →
ad_storage, ad_user_data, ad_personalization = granted. - Preferences consent →
functionality_storage, personalization_storage = granted. - Rejection → all non-technical services return to
denied.
The site also uses Google Tag Manager (GTM) as the tag management system. GTM is loaded after the consent listener, but the individual tags (GA4, Meta Pixel, LinkedIn Insight Tag, Google Ads Conversion Tracking and remarketing) remain inactive until consent.
Cookiebot also communicates the consent state to GTM via events on the dataLayer, with the boolean flags of the individual categories (analytics_accepted, marketing_accepted,preferences_accepted):
cookiebot_loaded — initial state on Cookiebot load.cookiebot_accept — the user accepts one or more categories.cookiebot_decline — the user rejects all optional categories.cookiebot_change — the user changes preferences per category.
In GTM each tag is associated with a Custom Event trigger (e.g.cookiebot_accept) with a condition on the corresponding flag, so the tags remain inactive until consent:
- Analytics consent (
analytics_accepted = true) → activation of Google Analytics 4. - Marketing consent (
marketing_accepted = true) → activation of Meta Pixel, LinkedIn Insight Tag, Google Ads Conversion Tracking and remarketing.
The order of scripts in <head> is: (1) Google Consent Mode v2, (2) Cookiebot → Google listener, (3) Google Tag Manager, (4) Cookiebot banner with prior blocking. Without consent, no analytics or marketing cookie is installed on the user’s device.