Instructions for Loading Consent Management Platform (CMP)

Cookienovo använder en tvådelad installation som följer branschstandarder som Cookiebot och CookieHub för att säkerställa optimal prestanda och kompatibilitet med Consent Mode v2.


Del 1: Inline-samtyckesstandard (obligatorisk)

Detta inline-skript ställer in samtyckesstandard synkront innan andra skript laddas, vilket säkerställer omedelbar efterlevnad.

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


Del 2: Cookienovo banner-skript (stöder defer/async)

Detta skript laddar cookie-bannern och kan laddas med defer- eller async-attribut för optimerad prestanda.

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


⚠️ Kritiskt: Skriptordning

Båda skripten måste placeras FÖRE Google Tag Manager, Google Analytics eller andra spårningsskript för att säkerställa korrekt samtyckehantering.

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