Script Blocking

Tracking-Scripts duerfen erst nach Einwilligung des Nutzers laden (§25 TDDDG). So blockieren Sie Scripts korrekt mit dem BreakPilot Cookie-Banner.

Das Problem

Wird ein Tracking-Script normal eingebunden, laedt es sofort — bevor der Nutzer ueberhaupt den Cookie-Banner sieht. Das ist ein Verstoss gegen §25 TDDDG und wird von unserem Compliance Agent als HIGHFinding gemeldet.

Die Loesung: type="text/plain"

Aendern Sie den type von text/javascript zutext/plain. Der Browser ignoriert das Script bis unser Banner es nach Consent aktiviert.

Google Analytics

<!-- Blockiert bis "Statistik" akzeptiert wird -->
<script type="text/plain"
        data-cookie-category="statistics"
        src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXX">
</script>
<script type="text/plain" data-cookie-category="statistics">
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXX');
</script>

Facebook / Meta Pixel

<!-- Blockiert bis "Marketing" akzeptiert wird -->
<script type="text/plain" data-cookie-category="marketing">
  !function(f,b,e,v,n,t,s){/*...Facebook Pixel Code...*/}
  fbq('init', 'IHRE_PIXEL_ID');
  fbq('track', 'PageView');
</script>

Hotjar

<!-- Blockiert bis "Statistik" akzeptiert wird -->
<script type="text/plain" data-cookie-category="statistics">
  (function(h,o,t,j,a,r){/*...Hotjar Code...*/})(window,document,
  'https://static.hotjar.com/c/hotjar-','js?sv=');
</script>

Google Maps / YouTube Embeds

<!-- Blockiert bis "Funktional" akzeptiert wird -->
<iframe type="text/plain"
        data-cookie-category="functional"
        data-src="https://www.google.com/maps/embed?pb=...">
</iframe>

<!-- YouTube mit Platzhalter -->
<div data-cookie-category="marketing"
     data-cookie-placeholder="Bitte akzeptieren Sie Marketing-Cookies um dieses Video zu sehen.">
  <iframe data-src="https://www.youtube-nocookie.com/embed/VIDEO_ID"></iframe>
</div>

Kategorie-Referenz

data-cookie-categoryDiensteConsent erforderlich
necessarySession, CSRF, CMPNein (immer aktiv)
statisticsGA, Matomo, Hotjar, ClarityJa
marketingFB Pixel, Google Ads, LinkedIn, TikTokJa
functionalChat, Maps, SpracheinstellungenJa

Programmatische Abfrage

// Pruefen ob Kategorie akzeptiert wurde
if (window.CookieConsent.hasConsent('statistics')) {
  // Analytics initialisieren
}

// Auf Consent-Aenderung reagieren
window.addEventListener('cookieConsentUpdated', (e) => {
  const consent = e.detail;
  if (consent.marketing) {
    // Marketing-Scripts aktivieren
  }
});