Skip to content

Scripts

Scripts sind das eigentliche „Herzstück" des KCM in technischer Hinsicht: Sie enthalten die Tracking-Codes und externen Skript-URLs, die der KCM nur dann in die Seite einbindet, wenn der Nutzer dem zugehörigen Service zugestimmt hat.

Scripts Liste

Konzept

Ohne den KCM würden Tracking-Skripte (z.B. Google Analytics, Facebook Pixel) bei jedem Seitenaufruf automatisch geladen. Mit dem KCM werden sie blockiert, bis der Nutzer zustimmt:

Nutzer stimmt "Statistiken" zu
    → KCM gibt alle Scripts frei, die dem Service "Google Analytics" zugeordnet sind
        → Script wird in <head> oder </body> eingefügt

Script anlegen

  1. Navigieren Sie zu Komponenten → Kick Consent Manager → Scripts.
  2. Klicken Sie auf Neu.

Script Detail

Felder

Script Bezeichnung (Pflichtfeld) Ein beschreibender Name für das Script, nur intern sichtbar (z.B. „Google Analytics GA4 Code").

Eingebunden im Bestimmt, wo das Script in den HTML-Quelltext eingefügt wird:

WertPositionEmpfehlung
<head>Im <head>-BereichStandard für die meisten Tracking-Tags
</body>Vor dem schließenden </body>Für Scripts, die Seiteninhalte beeinflussen

Script Typ Wählen Sie zwischen:

  • Code — Inline-JavaScript-Code (wird als <script>…</script> eingefügt)
  • Src — Externe Script-URL (wird als <script src="…"> eingebunden)

Code (bei Typ „Code") Das eigentliche JavaScript. Fügen Sie hier den Tracking-Code ohne umschließende <script>-Tags ein.

javascript
// Beispiel: Google Analytics GA4
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');

Src (bei Typ „Src") Die URL des externen Scripts.

https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX

Executed (bei Typ „Src") Ladeattribut für externe Scripts:

WertBedeutung
StandardSynchrones Laden (blockiert das Rendering)
deferScript wird nach dem HTML-Parsing ausgeführt
asyncScript wird asynchron geladen und ausgeführt

Für Tracking-Scripts empfiehlt sich in der Regel async oder defer.

<script attribute> Zusätzliche HTML-Attribute für den <script>-Tag (z.B. data-domain="example.com" für Plausible Analytics, oder nonce="…" für Content Security Policies).

Service (Pflichtfeld) Weist das Script einem Service zu. Das Script wird nur geladen, wenn der Nutzer diesem Service zugestimmt hat.

Sprache Optional: Bindet das Script nur für eine bestimmte Sprachversion der Website ein. Nützlich, wenn z.B. ein Tracking-Pixel nur für die deutsche Sprachversion relevant ist.

Veröffentlichungszeitraum Optionale Start- und Enddaten: Das Script wird nur innerhalb des definierten Zeitraums geladen. Praktisch für zeitlich begrenzte Kampagnen.


Praxisbeispiel: Google Analytics GA4

Für Google Analytics GA4 benötigen Sie typischerweise zwei Scripts:

Script 1 – GA4 Library (Src)

  • Typ: Src
  • Src: https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX
  • Executed: async
  • Eingebunden im: <head>
  • Service: Google Analytics

Script 2 – GA4 Config (Code)

  • Typ: Code
  • Code:
javascript
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
  • Eingebunden im: <head>
  • Service: Google Analytics

Praxisbeispiel: Facebook Pixel

Script – Facebook Pixel (Code)

  • Typ: Code
  • Eingebunden im: <head>
  • Service: Facebook / Meta
  • Code:
javascript
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
// ... (vollständiger Pixel-Code von Facebook)
fbq('init', 'XXXXXXXXXXXXXXXXX');
fbq('track', 'PageView');

Wichtig: Kein manuelles Einbinden im Template

WARNING

Tracking-Codes dürfen nicht manuell im Joomla-Template (z.B. in index.php) eingebunden sein, wenn sie consent-gesteuert über den KCM laufen sollen. Manuell eingebundene Scripts werden unabhängig von der Nutzereinwilligung geladen.


Status und Zeitsteuerung

Scripts unterstützen:

  • Veröffentlicht / Unveröffentlicht: Deaktivieren Sie Scripts schnell ohne sie zu löschen.
  • Sprach-Filterung: Nur für eine bestimmte Joomla-Sprache laden.
  • Zeitplanung: Veröffentlichung starten und Veröffentlichung beenden für kampagnenbezogene Scripts.
  • Zugriffsebene: Einschränken, für welche Joomla-Zugriffsebenen das Script geladen wird.