Instructions for Loading Consent Management Platform (CMP)

Cookienovo wykorzystuje dwuczęściową instalację zgodną ze standardami branżowymi, takimi jak Cookiebot i CookieHub, aby zapewnić optymalną wydajność i kompatybilność z Consent Mode v2.


Część 1: Wbudowane domyślne zgody (wymagane)

Ten wbudowany skrypt ustawia domyślne zgody synchronicznie, zanim załadują się inne skrypty, zapewniając natychmiastową zgodność.

<!-- CookieNovo: Step 1 - Set Google Consent Mode v2 defaults -->
<script>
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}
gtag('consent','default',{'ad_storage':'denied','ad_personalization':'denied','ad_user_data':'denied','analytics_storage':'denied','functionality_storage':'denied','personalization_storage':'denied','security_storage':'granted','wait_for_update':500});
gtag('set','ads_data_redaction',true);
</script>


Część 2: Skrypt banera Cookienovo (obsługuje defer/async)

Ten skrypt ładuje baner plików cookie i może być załadowany z atrybutami defer lub async w celu zoptymalizowanej wydajności.

<!-- CookieNovo: Step 2 - Load banner -->
<script site-token="YOUR_TOKEN" src="https://cookienovo.com/assets/client.js" defer></script>


⚠️ Krytyczne: Kolejność skryptów

Oba skrypty muszą być umieszczone PRZED Google Tag Manager, Google Analytics lub innymi skryptami śledzącymi, aby zapewnić prawidłowe zarządzanie zgodą.

- Delay Google Tags Until Consent is Processed: Ensure Google tags (e.g., Google Analytics, Ads, or Tag Manager) are configured to wait for the CMP’s consent signals. This can be achieved by: Setting up Google Tag Manager to trigger only after receiving consent status or Using Google’s tag settings to defer loading until the CMP signals are available.

- Test and Verify Implementation: After implementation, test your setup to confirm that CMP and consent commands/stubs load before any Google tags. Also test Google tags respect user consent preferences and only fire accordingly.

Website builders (Creativesites and similar platforms)

On hosted website builders such as Creativesites you usually cannot edit the page <head> directly. Instead, paste both snippets above (Step 1 and Step 2) into the platform's custom code in the header / <head> field. Place this custom code before the builder's built-in Google Analytics or Google Tag Manager integration — the header field renders at the top of <head>, so the consent defaults run first automatically.

Tags loaded through the builder's native Google integration (Analytics, Ads, Tag Manager) need no extra work: once the consent defaults load first, those tags respect Consent Mode on their own.

For custom marketing tags that Google does not manage (for example the Facebook / Meta Pixel), gate them behind the CookienovoUserConsentChanged event so they only fire after the visitor accepts. Match the category by name (not by array position) so it keeps working even if categories are reordered, and also read the consent cookie so it covers returning visitors who already chose on a previous visit:

<script>
(function () {
  var loaded = false;
  function cnAllowed(category) {
    return ("; " + document.cookie).indexOf("; cn-category-" + category + "=1") > -1;
  }
  function loadMarketing() {
    if (loaded || !cnAllowed("marketing")) return;
    loaded = true;
    // load your Facebook / Meta Pixel here
  }
  ["CookienovoUserConsentChanged", "DOMContentLoaded"].forEach(function (evt) {
    document.addEventListener(evt, loadMarketing);
  });
})();
</script>

For further assistance, contact us [email protected]