Dokumentation — Installation, Setup & Cookie Consent einrichten | Consenta
Flash Sale — noch --:--:-- Agency Lifetime + White-Label — 499 €149 € Bundle sichern →
Dokumentation

Consenta — Dokumentation & Setup-Anleitung

Installation, Cookie-Scan, Dialog/Banner/Widget & alle Cookie-Consent-Features Schritt für Schritt erklärt.

Installation & Aktivierung

Consenta wird als normales WordPress-Plugin installiert. Du benötigst WordPress 5.8+ und PHP 7.4+.

Plugin installieren

1
ZIP-Datei herunterladen

Logge dich unter Mein Konto ein und lade die aktuelle consenta.zip herunter.

2
In WordPress hochladen

Gehe zu WordPress Admin → Plugins → Installieren → Plugin hochladen. Wähle die ZIP-Datei und klicke Jetzt installieren.

3
Plugin aktivieren

Klicke auf Plugin aktivieren. Consenta erscheint danach im linken Menü unter Consenta.

4
Lizenz aktivieren

Gehe zu Consenta → Einstellungen → Lizenz und gib deinen Lizenzschlüssel ein (aus der Bestätigungs-E-Mail).

Update-Tipp: Beim Update einfach das alte Plugin deaktivieren, das neue hochladen und aktivieren — alle Einstellungen bleiben erhalten.

Lizenz aktivieren

1
Lizenzschlüssel kopieren

Du findest deinen Schlüssel in der Bestätigungs-E-Mail (Format: CONSENTA-XXXX-XXXX-XXXX) oder unter Mein Konto → Lizenzen.

2
Im Plugin eingeben

Öffne Consenta → Einstellungen → Lizenz, füge den Schlüssel ein und klicke Aktivieren.

3
Status prüfen

Nach erfolgreicher Aktivierung zeigt das Dashboard Aktiv und deinen Plan (Starter / Pro / Agency).

Lizenz auf mehreren Sites: Pro = bis zu 10 Sites, Agency = unbegrenzt. Bei jeder neuen Site muss der Lizenzschlüssel separat aktiviert werden.

Dialog / Banner / Widget anpassen

Consenta bietet drei Consent-Elemente: den Consent-Dialog (Modal), den Cookie Banner und das Privacy Widget (Toggle). Alle sind unter Consenta → Darstellung konfigurierbar.

Consent DialogModales Fenster mit granularer Cookie-Auswahl. Gleichwertige Buttons für Akzeptieren/Ablehnen.
Cookie BannerSchlanker Banner am oberen oder unteren Bildschirmrand. Position, Farben und Texte anpassbar.
Privacy WidgetSchwebendes Icon am Seitenrand. Ermöglicht jederzeitigen Widerruf der Einwilligung.
Custom CSSEigenes CSS für vollständige Kontrolle über das Design (Pro/Agency).

Google Fonts — DSGVO-konform self-hosted v1.12

Seit Version 1.12.0 kannst du im Dialog- oder Banner-Editor eine Google-Schrift auswählen — und Consenta stellt sicher, dass sie vollständig DSGVO-konform ausgeliefert wird, ohne IP-Adressen-Übermittlung an Google. Damit ist das LG-München-Urteil 2022 (3 EO 1361/21) automatisch sauber abgedeckt.

Schriftart auswählen

1
Editor öffnen

Unter Consenta → Einstellungen → Dialog (bzw. Banner) findest du das Feld Schriftart. Wähle den Eintrag "Google Font (DSGVO-konform self-hosted)".

2
Aus 160 Top-Schriften wählen

Ein Picker mit 160 kuratierten Familien öffnet sich (Inter, Roboto, Open Sans, Poppins, Montserrat, Playfair Display, Lora, Noto Sans JP/KR/SC, Cairo, Vazirmatn …). Suchfeld + Kategorie-Filter (Sans-Serif / Serif / Display / Handschrift / Monospace) — Live-Vorschau mit der echten Schrift.

3
Speichern — Auto-Download

Klick auf Speichern: Consenta lädt die woff2-Files (latin + latin-ext Subsets) und das CSS lokal nach wp-content/uploads/consenta-fonts/{slug}/. Im selben Verzeichnis landet die OFL- bzw. Apache-2.0-Lizenzdatei (Deployment-Pflicht laut OFL §3 / Apache §4(a)).

Andere Google-Font einsetzen (alle 1500+)

Reicht dir die Top-160-Auswahl nicht, klick im Picker auf "Andere Google-Font einsetzen" und tippe einen beliebigen Slug aus dem Google-Fonts-Katalog (crete-round, roboto-flex, playfair-display-sc, noto-sans-display …). Consenta leitet den Family-Namen aus dem Slug ab und lädt ihn beim nächsten Speichern. Existiert die Schrift nicht im Google-Katalog, schlägt der Save mit konkreter Fehlermeldung fehl.

So ist sichergestellt: null Anfragen an Google

  • Im Frontend wird das CSS aus deiner eigenen Domain geladen (wp-content/uploads/consenta-fonts/{slug}/{slug}.css) — die @font-face-Deklarationen verweisen auf lokale woff2-Dateien.
  • Es gibt im Frontend keine Verbindung zu fonts.googleapis.com oder fonts.gstatic.com. Damit bleibt die Besucher-IP bei dir.
  • Im Admin-Bereich wird Google CDN für die Picker-Vorschau geladen — das ist juristisch unkritisch, weil der Admin Datensubjekt seiner eigenen Site ist und bewusst mit dem Editor arbeitet.

Auto-Verify: Schutz gegen verlorene Downloads

Bei jedem Aufruf einer Consenta-Admin-Seite prüft Consenta, ob die ausgewählten Schriften wirklich lokal vorhanden sind. Fehlt das CSS einer Familie (z. B. weil der initiale Save in PHP-Timeout lief oder ein Outbound-Block kurz aktiv war), wird der Download still re-versucht. Schlägt auch das fehl, erscheint eine rote Admin-Notice mit dem konkreten Fehler (HTTP-Code, fehlende Schreibrechte, SSL-Cert-Problem) — kein stummes Zurückfallen auf system-ui mehr.

SSL-Issue auf MAMP/XAMPP/Local-by-Flywheel? Bei cURL error 60: SSL certificate problem (kaputtes CA-Bundle auf lokalen Dev-Hosts oder Corporate-Proxies) versucht Consenta den Download genau einmal mit sslverify=false automatisch erneut. Die heruntergeladenen Inhalte sind statische Schriften ohne Credentials, woff2-URLs werden gegen fonts.gstatic.com whitelisted — MITM-Risiko ist überschaubar.

Sprachen verwalten v1.8

Consenta liefert alle Dialog-, Banner- und Widget-Texte standardmäßig in 34 Sprachen aus. Die aktuelle Sprache wird automatisch anhand von URL-Prefix (/en/, /fr/, …), consenta_lang-Cookie oder WordPress-Locale erkannt — du musst nichts konfigurieren, es funktioniert direkt.

Texte anpassen

1
Sprachen-Tab öffnen

Unter Consenta → Einstellungen → Sprachen findest du alle 34 Sprachen. Jede zeigt ihren Status: Standard (unverändert) oder X/20 angepasst (wenn du Texte überschrieben hast).

2
Bearbeiten klicken

Klappe die gewünschte Sprache per "Bearbeiten" auf — 20 Felder erscheinen (Titel, Beschreibung, Button-Labels, Kategorie-Namen, Banner-Text etc.). Jedes angepasste Feld wird mit orangem Rand und Stern markiert.

3
Speichern

Klick auf Speichern persistiert deine Anpassungen. Der dedizierte consent-text-Hash sorgt dafür, dass wesentliche Text-Änderungen im Audit-Trail landen, ohne dass alle bestehenden Einwilligungen ungültig werden.

4
Zurücksetzen

Der Zurücksetzen-Button verwirft alle Anpassungen dieser Sprache und kehrt zu den ausgelieferten Standards zurück.

Automatisches Übersetzen

Oben rechts im Sprachen-Tab befindet sich das Dropdown Übersetzungsquelle — standardmäßig Deutsch. Wechselst du in den Bearbeiten-Modus einer anderen Sprache, blendet sich unter jedem Feld eine kleine graue Zeile mit dem Quelltext ein, plus ein 🌐-Symbol zum Einzel-Übersetzen.

Der Button 🌐 Alle aus Quelle übersetzen unten im Editor übersetzt alle nicht-angepassten Felder auf einen Klick — sequenziell mit Fortschrittsanzeige, damit die kostenlose MyMemory-API-Quote nicht überlastet wird. Angepasste Felder (orange umrandet) werden standardmäßig übersprungen. Falls du sie trotzdem überschreiben willst, fragt ein Confirm-Dialog nach.

Quellsprache anders wählen: Jede der 34 Sprachen kann als Quelle dienen. Bearbeitest du z. B. EN und deine DE-Texte haben juristische Besonderheiten, die du in EN spiegelst, editier erst DE und übersetze dann aus DE. Bearbeitest du OS-spezifisch FR und du hast in EN bessere Ausgangstexte, setz die Quelle auf EN.
Tipp: Übersetzungsergebnisse werden serverseitig 7 Tage als WP-Transient gecacht. Re-Runs desselben Textes kosten keine Quote und sind instantan.

MyMemory-Übersetzungsservice

Für die Auto-Übersetzung wird MyMemory verwendet — kostenlos, ohne API-Key, ohne Signup. Die Admin-E-Mail deiner Site wird als Identifikations-Parameter mitgeschickt, was das anonyme Tageslimit (~5.000 Zeichen) auf ca. 50.000 Zeichen/Tag anhebt. Für die meisten Sites reicht das aus, um alle 20 Felder × aktive Sprachen zu befüllen.

Rich-Text-Editor für lange Texte v1.8

Für die drei langen Text-Felder consent-text (Dialog-Beschreibung), banner-text (Banner-Inhalt) und blocked-content-desc (Blocked-Placeholder-Text) kommt ein vollwertiger TinyMCE-Editor mit Toolbar zum Einsatz — statt einer einzeiligen Text-Input.

Verfügbare Formatierungen

  • Fett, Kursiv, Unterstrichen
  • Aufzählungslisten und nummerierte Listen
  • Link einfügen / entfernen (mit target, rel)
  • Absätze (<p>) und Zeilenumbrüche
  • Format entfernen, Undo/Redo
  • Umschalten zur Text/Code-Ansicht (HTML direkt editieren)
Whitelist-Sanitization: Nur sichere HTML-Tags werden durchgelassen: <a href>, <strong>, <em>, <b>, <i>, <u>, <br>, <span class>, <p class>. <script>, <style>, Inline-Events und style=""-Attribute werden aus Sicherheitsgründen gestrippt.

Performance

Der Editor wird lazy geladen — TinyMCE-Instanzen entstehen erst beim Klick auf "Bearbeiten" einer Sprache und werden beim Schließen wieder abgebaut. Ohne dieses Lazy-Pattern würden bei 34 Sprachen × 3 Long-Text-Feldern 102 Editor-Instanzen gleichzeitig geladen werden — der Admin würde einfrieren.

Google Consent Mode v2

Google Consent Mode v2 wird vollständig unterstützt. Consenta sendet automatisch die richtigen Consent-Signale an Google-Dienste.

Einrichtung

1
GCM aktivieren

Unter Consenta → Einstellungen → Google Consent Mode den Toggle aktivieren.

2
Parameter prüfen

Consenta setzt automatisch: ad_storage, analytics_storage, ad_user_data und ad_personalization basierend auf der Consent-Entscheidung des Besuchers.

Hinweis: Keine manuelle GTM-Konfiguration nötig. Die Consent-Signale werden automatisch vor dem Laden von Google-Tags gesendet.

IAB TCF konfigurieren

Pro-Feature: Verfügbar ab dem Pro-Plan.

Das IAB Transparency & Consent Framework 2.0 wird vollständig unterstützt. TC-Strings werden automatisch generiert und verwaltet.

1
TCF aktivieren

Unter Consenta → Einstellungen → IAB TCF den Toggle aktivieren.

2
Vendoren konfigurieren

Wähle die relevanten IAB-Vendoren für deine Website. Der TC-String wird automatisch generiert.

Geolocation aktivieren

Pro-Feature: Verfügbar ab dem Pro-Plan.

Zeigt den Consent-Dialog nur Besuchern aus der EU oder konfigurierbaren Regionen. Besucher außerhalb der konfigurierten Regionen sehen keinen Banner.

1
Geolocation aktivieren

Unter Consenta → Einstellungen → Geolocation den Toggle aktivieren.

2
Regionen wählen

Wähle die Länder/Regionen, in denen der Consent-Dialog angezeigt werden soll. Standard: alle EU-Länder.

Service Worker Blocking v1.4

Consenta verwendet einen dreistufigen Blocking-Mechanismus, der Cookies und Scripts noch vor der Ausführung abfängt. Das Service Worker Blocking ist die dritte und tiefste Schicht und aktiviert sich automatisch im Vollzustimmungsmodus (Full-Consent-Mode).

Die 3 Blocking-Schichten

Schicht Beschreibung
Layer 1 — Script BlockingBlockiert bekannte Third-Party-Scripts anhand einer Blockliste, bevor sie ins DOM eingefügt werden.
Layer 2 — Cookie BlockingÜberwacht document.cookie per Setter-Override und verhindert das Schreiben nicht-genehmigter Cookies.
Layer 3 — Service WorkerFängt ausgehende Netzwerk-Requests auf Service-Worker-Ebene ab und blockiert Requests an Tracking-Endpunkte, bevor sie den Browser verlassen.
Automatisch: Service Worker Blocking erfordert keine manuelle Konfiguration. Es wird automatisch registriert, wenn der Full-Consent-Mode unter Consenta → Einstellungen → Blocking aktiviert ist.
Hinweis: Der Service Worker wird nur im Full-Consent-Mode aktiviert (nicht im einfachen Cookie-Banner-Modus). Dadurch wird eine lückenlose Blockierung aller nicht genehmigten Tracking-Requests garantiert.

Browser API Blocking v1.5

Im Full-Consent-Modus überschreibt Consenta bestimmte Browser-APIs, um sicherzustellen, dass Push-Benachrichtigungen, Hintergrund-Sync und Cache-Zugriffe erst nach Einwilligung möglich sind.

Blockierte APIs

API Beschreibung
Notification.requestPermissionVerhindert Browser-Push-Benachrichtigungs-Dialoge bis zur Einwilligung
PushManager.subscribeBlockiert die Registrierung von Web-Push-Abonnements
SyncManager.registerVerhindert die Registrierung von Background-Sync-Tasks
caches.openBlockiert den Zugriff auf den Cache Storage API (mit Ausnahme whitegelisteter Präfixe)

Whitelisted Cache-Präfixe

Die folgenden Cache-Präfixe sind von der Blockierung ausgenommen und werden immer zugelassen:

  • consenta — Consenta-interne Caches
  • wp- — WordPress Core Caches (z.B. wp-offline)
  • workbox — Workbox Service Worker Caches

Automatische Wiederherstellung

Sobald ein Besucher seine Einwilligung erteilt, werden alle blockierten APIs automatisch wiederhergestellt. Ausstehende Aufrufe werden nicht nachgeholt — sie müssen von der Anwendung nach Consent erneut ausgeführt werden.

Hinweis: Browser API Blocking ist nur im Full-Consent-Modus aktiv. Im einfachen Cookie-Banner-Modus bleiben alle Browser-APIs unverändert.

Webhooks v1.5

Pro-Feature: Verfügbar ab dem Pro-Plan.

Consenta kann bei Consent-Ereignissen in Echtzeit HTTP-POST-Benachrichtigungen an eine oder mehrere konfigurierte HTTPS-URLs senden. Damit kannst du Consent-Ereignisse in externe Systeme, CRMs oder Analyse-Pipelines integrieren.

Einrichtung

1
Webhook-URL hinzufügen

Gehe zu Consenta → Einstellungen → Webhooks und gib eine HTTPS-URL ein. Nur HTTPS-Endpunkte werden akzeptiert.

2
Ereignisse auswählen

Wähle, welche Consent-Ereignisse an den Endpunkt gesendet werden sollen: consent.new, consent.update, consent.revoke oder consent.optout.

3
Webhook testen

Klicke auf Test senden, um einen Test-Payload an die konfigurierte URL zu senden und die Verbindung zu prüfen.

Unterstützte Ereignisse

Ereignis Beschreibung
consent.newBesucher gibt erstmals seine Einwilligung
consent.updateBesucher ändert seine bestehende Einwilligung
consent.revokeBesucher widerruft seine Einwilligung vollständig
consent.optoutBesucher lehnt alle nicht-notwendigen Kategorien ab

Signaturverifikation (HMAC-SHA256)

Jeder Webhook-Payload wird mit HMAC-SHA256 signiert. Die Signatur wird im Header X-Consenta-Signature mitgesendet. Verifiziere sie serverseitig, um die Authentizität des Payloads sicherzustellen:

// PHP-Beispiel zur Signaturprüfung
$secret = 'your-webhook-secret';
$payload = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_CONSENTA_SIGNATURE'];
$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);
if (!hash_equals($expected, $sig)) { http_response_code(401); exit; }

Payload-Struktur

{
  "event": "consent.new",
  "uid": "a1b2c3d4e5",
  "timestamp": 1713200000,
  "categories": ["necessary", "functional", "statistics"],
  "site_url": "https://example.com",
  "version": "1.5"
}
Tipp: Dein Endpunkt muss innerhalb von 5 Sekunden mit HTTP 200 antworten, sonst wird der Webhook als fehlgeschlagen markiert. Fehlgeschlagene Webhooks werden bis zu 3-mal wiederholt.

WooCommerce v1.4

Die WooCommerce-Integration erkennt automatisch alle von WooCommerce gesetzten Cookies und ordnet sie den richtigen Consent-Kategorien zu. Tracking-Cookies von WooCommerce-Analytics und Marketing-Erweiterungen werden erst nach Consent geladen.

Automatisch blockierte Elemente

  • WooCommerce Analytics — Tracking-Cookies (wp_woocommerce_session_*) werden der Kategorie Statistik zugeordnet.
  • Marketing-Pixel — Facebook Pixel, Google Ads Conversion und andere Remarketing-Scripts werden blockiert, bis Marketing-Consent vorliegt.
  • Session-Cookies — Warenkorb- und Session-Cookies werden als Notwendig kategorisiert und nie blockiert.

Deklarierte Cookies

Cookie Kategorie Beschreibung
woocommerce_cart_hashNotwendigWarenkorb-Hash für Cache-Invalidierung
woocommerce_items_in_cartNotwendigSpeichert ob Artikel im Warenkorb liegen
wp_woocommerce_session_*FunktionalEindeutige Session-ID für den Checkout
tk_aiStatistikWooCommerce Analytics Tracking-Identifier

Filter-Hook für Entwickler

Mit dem Filter consenta_woo_cookie_map kannst du die automatische Kategorisierung von WooCommerce-Cookies überschreiben:

add_filter( 'consenta_woo_cookie_map', function( $map ) {
    // Eigene Zuordnung hinzufügen / Override mapping
    $map['my_custom_cookie'] = 'marketing';
    return $map;
});

Gutenberg-Blöcke v1.11

Consenta liefert vier native Gutenberg-Blöcke — alle auf Block-API v3 (WordPress 6.9 kompatibel) und in einer eigenen Kategorie „Consenta" im Block-Inserter gebündelt. Block-Inserter öffnen, nach „Consenta" suchen oder direkt in der Kategorie-Liste oben nachschauen.

Cookie-Deklaration

Rendert eine automatisch generierte Tabelle aller Cookies, Domains und Ressourcen — ideal als Alternative zum Shortcode [consenta_cookies] auf deiner Cookie-Erklärung-Seite. Attribute in der rechten Seitenleiste: Filter nach Zweck (z. B. nur Marketing), Spalten „Typ" und „Laufzeit" ein-/ausblenden.

Einwilligungsstatus

Zeigt dem Besucher seinen aktuellen Consent-Status: pro Kategorie ein ✓ (akzeptiert) oder ✗ (abgelehnt), plus Datum der letzten Einwilligung und optional einen „Einstellungen ändern"-Button, der den Dialog erneut öffnet. Zwei Darstellungsvarianten: Card (mit Rahmen) oder inline.

Bedingte Inhalte

Der stärkste Block der Suite — zeigt oder versteckt verschachtelte Inhalte abhängig vom Consent-Status. Ideal für Videos, Karten, Tracking-Pixel.

1
Tab-UI mit zwei Slots

Der Editor zeigt zwei Tabs: Bedingter Inhalt (erscheint nach Consent) und Fallback Inhalt (erscheint vor Consent). Beide Tabs sind echte InnerBlocks-Bereiche — du kannst beliebige Blöcke per Drag & Drop reinlegen: Bilder, Gruppen, Spalten, eigene Embeds. Der jeweils inaktive Tab bleibt gespeichert, nur visuell ausgeblendet.

2
Bestehenden Block umhüllen

Markiere einen vorhandenen Block (YouTube-Einbettung, Karte, …), klicke im Block-Menü auf Umwandeln zu → Bedingte Inhalte — der Block wandert automatisch in den Bedingter-Inhalt-Slot, der Fallback bleibt leer zum Befüllen. Analog zum Core-Gruppe-Block.

3
Kategorie wählen

In der rechten Seitenleiste unter Consent-Bedingung → Erforderliche Kategorie legst du fest, welcher Consent-Zweck aktiv sein muss: Funktional, Statistiken, Marketing oder Medien. Essential steht nicht zur Auswahl — das wäre sinnlos, da immer „granted".

Tipp: Der Fallback-Slot ist ab Werk mit zwei CMP Akzeptieren-Buttons (primär „Akzeptieren", sekundär „Einstellungen") in einer zentrierten Flex-Gruppe vorbelegt — du kannst sie umstylen, löschen oder durch eigene Buttons ersetzen.

CMP Akzeptieren-Button

Eigenständiger Button-Block zum Erteilen von Consent für einen bestimmten Zweck oder zum Öffnen des Consent-Dialogs. Lässt sich überall im Beitrag platzieren — besonders im Fallback-Slot der Bedingten Inhalte, wo er den Purpose automatisch per Block-Kontext erbt. Volle Block-Toolbar: Ausrichtung, Hintergrund-/Textfarbe, Gradient, Schriftgröße, Schriftart, Padding, Margin, Rahmen und Radius.

1
Aktion wählen

In der Seitenleiste unter Aktion wählst du zwischen „Zweck akzeptieren" (erteilt Consent für eine Kategorie) und „Dialog öffnen" (öffnet den Consent-Dialog erneut, ideal für „Einstellungen ändern"-Buttons).

2
Purpose-Vererbung

Platzierst du den Button im Fallback-Slot eines Bedingte-Inhalte-Blocks, erbt er den dort eingestellten Zweck automatisch per Block-Context — du musst nichts doppelt konfigurieren. Außerhalb legst du den Zweck manuell per Zweck-Override fest.

3
Stil & Label

Zwei Stil-Presets Primär (Brand-Farbe, gefüllt) und Sekundär (outline, transparent) — optional komplett per Block-Toolbar übersteuerbar. Das Label ist per RichText direkt im Editor editierbar („Akzeptieren", „Einstellungen öffnen", …).

Rechtlicher Hinweis: Der Button bleibt DSGVO-konform, solange sein Label eindeutig benennt, welchen Zweck er aktiviert, und den Nutzer nicht in die Irre führt. Für manuelle Umsetzungen steht weiterhin das HTML-Attribut data-consenta-accept-purpose="marketing" (oder andere Kategorien) zur Verfügung — z. B. an eigenen Buttons außerhalb des Block-Editors.

CMP-Import v1.4

Migriere deine bestehende Cookie-Konfiguration von CookieBot, OneTrust, Usercentrics, Borlabs Cookie, Complianz oder GDPR Cookie Compliance mit wenigen Klicks zu Consenta. Der Importer übernimmt Cookie-Listen, Kategorien und Beschreibungen.

Unterstützte CMPs

  • CookieBot — CSV-Export aus dem Cookiebot-Dashboard
  • OneTrust — JSON-Export aus der OneTrust-Verwaltung
  • Usercentrics — CSV-Export aus dem Usercentrics-Dashboard
  • Borlabs Cookie — Automatisch erkannt, kein Export nötig (direkter DB-Zugriff)
  • Complianz — Automatisch erkannt, kein Export nötig (direkter DB-Zugriff)
  • GDPR Cookie Compliance — Automatisch erkannt, kein Export nötig (direkter DB-Zugriff)

Schritt-für-Schritt-Anleitung

1
Export aus bisheriger CMP

Exportiere deine Cookie-Liste aus CookieBot (CSV), OneTrust (JSON) oder Usercentrics (CSV). Bei Borlabs Cookie, Complianz und GDPR Cookie Compliance erkennt Consenta die installierte CMP automatisch — kein Export nötig.

2
Importer öffnen

Gehe zu Consenta → Tools → CMP-Import und wähle deine bisherige CMP aus dem Dropdown.

3
Datei hochladen

Lade die exportierte Datei hoch. Consenta erkennt das Format automatisch und zeigt eine Vorschau der zu importierenden Cookies.

4
Zuordnung prüfen

Prüfe die automatische Kategorie-Zuordnung. Die 6 Consenta-Kategorien werden den Kategorien der bisherigen CMP zugeordnet. Passe bei Bedarf einzelne Zuordnungen an.

5
Import starten

Klicke Importieren. Bestehende Cookies werden nicht überschrieben, neue werden hinzugefügt.

Tipp: Nach dem Import empfehlen wir einen frischen Cookie-Scan, um sicherzustellen, dass alle aktuell aktiven Cookies erfasst sind.

Auto-Scan v1.4

Der Auto-Scan führt den Cookie-Scan automatisch in regelmäßigen Intervallen aus und benachrichtigt dich per E-Mail, wenn neue Cookies gefunden werden.

Einrichtung

1
Auto-Scan aktivieren

Gehe zu Consenta → Cookie Scanner → Auto-Scan und aktiviere den Toggle.

2
Intervall wählen

Wähle das Scan-Intervall: Täglich, Wöchentlich oder Monatlich. Standard: Wöchentlich.

3
E-Mail-Benachrichtigung

Gib eine oder mehrere E-Mail-Adressen ein (kommagetrennt). Du erhältst eine E-Mail, wenn neue oder unbekannte Cookies gefunden werden.

Hinweis: Der Auto-Scan nutzt WP-Cron. Auf Sites mit wenig Traffic empfehlen wir einen echten Server-Cronjob für zuverlässige Intervalle.

Protokolle & Reports

Consenta protokolliert jede Consent-Entscheidung für die DSGVO-Nachweispflicht. Unter Consenta → Protokolle findest du alle Einträge.

Consent LogZeitstempel, gewählte Kategorien, Browser, anonymisierte IP
HTML ReportsAkzeptierungsrate, Ablehnungsrate, beliebteste Kategorien, Geräte-Verteilung
CSV ExportAlle Protokolle als CSV exportierbar für externe Analyse oder Audit
ZeitraumfilterFiltere nach Datum für gezielte Auswertungen

Multi-Site Dashboard

Agency-Feature: Nur mit Agency-Lizenz verfügbar.

Verwalte Cookie-Consent-Einstellungen für alle deine WordPress-Sites zentral. Consent-Statistiken aller Sites auf einen Blick.

1
Remote-Token kopieren

Consenta → Sites → Site-Token kopieren (auf der Haupt-Site generiert).

2
Auf Remote-Site einfügen

Auf der Remote-Site: Consenta → Einstellungen → Multi-Site → Token einfügen und Haupt-Site-URL eingeben.

3
Verbindung testen

Klicke Verbindung testen. Die Remote-Site sendet ab sofort Consent-Daten an die Haupt-Site.

REST API v1.4

Agency-Feature: Nur mit Agency-Lizenz verfügbar.

Die REST API ermöglicht die programmgesteuerte Verwaltung von Consent-Einstellungen, Cookie-Listen, Protokollen und Remote-Sites. Alle Endpoints verwenden den Namespace /wp-json/consenta/v1/.

Authentifizierung

Alle Endpoints (außer /log) erfordern Authentifizierung. Generiere einen API-Token unter Consenta → Einstellungen → API und sende ihn als Bearer-Token im Authorization-Header:

Authorization: Bearer <your-api-token>

POST /consenta/v1/log

Speichert einen Consent-Eintrag. Dieser Endpoint wird vom Frontend-Script automatisch aufgerufen und erfordert keine Authentifizierung (öffentlich).

ParameterTypBeschreibung
categoriesarrayAkzeptierte Consent-Kategorien, z.B. ["necessary","statistics"]
uidstringAnonymer Besucher-Identifier (vom Frontend generiert)
timestampintegerUnix-Timestamp der Consent-Entscheidung
user_agentstringBrowser User-Agent (optional, wird sonst aus dem Request gelesen)
tcf_stringstringIAB TCF TC-String, falls TCF aktiv (optional)
// Beispiel-Request
POST /wp-json/consenta/v1/log
Content-Type: application/json

{
  "categories": ["necessary", "functional", "statistics"],
  "uid": "a1b2c3d4e5",
  "timestamp": 1713200000
}

GET /consenta/v1/config

Gibt die aktuelle Consent-Konfiguration zurück (Cookie-Liste, Kategorien, Dialog-Einstellungen, Blocking-Level). Erfordert API-Token.

Response-FeldTypBeschreibung
cookiesarrayListe aller deklarierten Cookies mit Name, Kategorie, Anbieter, Laufzeit
categoriesarrayKonfigurierte Consent-Kategorien mit Label und Beschreibung
blocking_levelintegerAktives Blocking-Level (1–3)
gcm_enabledbooleanGoogle Consent Mode v2 aktiv
tcf_enabledbooleanIAB TCF aktiv
dialog_typestringDialog-Typ: modal, banner oder widget
// Beispiel-Request
GET /wp-json/consenta/v1/config
Authorization: Bearer sk_live_xxxxxxxxxxxxx

POST /consenta/v1/revoke

Widerruft den Consent eines Besuchers anhand der UID. Nützlich für Datenlöschungsanfragen (DSGVO Art. 17). Erfordert API-Token.

ParameterTypBeschreibung
uidstringAnonymer Besucher-Identifier, dessen Consent widerrufen werden soll (Pflichtfeld)
reasonstringGrund des Widerrufs, z.B. user_request oder gdpr_erasure (optional)
// Beispiel-Request
POST /wp-json/consenta/v1/revoke
Authorization: Bearer sk_live_xxxxxxxxxxxxx
Content-Type: application/json

{ "uid": "a1b2c3d4e5", "reason": "gdpr_erasure" }

GET /consenta/v1/stats

Gibt aggregierte Consent-Statistiken zurück. Erfordert API-Token.

Query-ParameterTypBeschreibung
fromstringStartdatum im Format YYYY-MM-DD (optional, Standard: 30 Tage zurück)
tostringEnddatum im Format YYYY-MM-DD (optional, Standard: heute)
group_bystringGruppierung: day, week oder month (optional, Standard: day)
Response-FeldTypBeschreibung
total_decisionsintegerGesamtzahl der Consent-Entscheidungen im Zeitraum
accept_ratefloatAkzeptierungsrate (0.0–1.0)
reject_ratefloatAblehnungsrate (0.0–1.0)
category_ratesobjectOpt-in-Rate pro Kategorie, z.B. {"statistics": 0.72, "marketing": 0.34}
timelinearrayZeitreihe mit Datenpunkten pro group_by-Intervall
// Beispiel-Request
GET /wp-json/consenta/v1/stats?from=2026-03-01&to=2026-03-31&group_by=week
Authorization: Bearer sk_live_xxxxxxxxxxxxx

GET /consenta/v1/remote/settings

Ruft die Consent-Einstellungen einer verbundenen Remote-Site ab. Wird vom Multi-Site-Dashboard verwendet. Erfordert API-Token + Remote-Token.

HeaderBeschreibung
AuthorizationBearer <api-token> — API-Token der Haupt-Site
X-Consenta-Remote-Token<remote-token> — Token der Remote-Site (unter Consenta → Sites generiert)
// Beispiel-Request
GET /wp-json/consenta/v1/remote/settings
Authorization: Bearer sk_live_xxxxxxxxxxxxx
X-Consenta-Remote-Token: rt_abc123def456

GET /consenta/v1/remote/entities

Listet alle verbundenen Remote-Sites mit Status, letztem Sync und Consent-Zusammenfassung. Erfordert API-Token.

Response-FeldTypBeschreibung
entitiesarrayListe der Remote-Sites
entities[].urlstringURL der Remote-Site
entities[].statusstringVerbindungsstatus: connected, disconnected, error
entities[].last_syncstringISO 8601 Zeitstempel des letzten Sync
entities[].total_consentsintegerGesamtanzahl gespeicherter Consent-Einträge dieser Site
// Beispiel-Request
GET /wp-json/consenta/v1/remote/entities
Authorization: Bearer sk_live_xxxxxxxxxxxxx

Fehler-Codes

CodeBeschreibung
401Fehlender oder ungültiger API-Token
403API-Zugang nicht im aktuellen Plan enthalten (Agency erforderlich)
404Ressource nicht gefunden (z.B. unbekannte UID bei /revoke)
422Ungültige Parameter (z.B. fehlendes Pflichtfeld)
429Rate Limit überschritten (max. 120 Requests/Minute)
Rate Limiting: Die API erlaubt max. 120 Requests pro Minute pro Token. Der aktuelle Verbrauch wird in den Response-Headern X-RateLimit-Remaining und X-RateLimit-Reset zurückgegeben.

White Label Setup

Agency-Feature: Nur mit Agency-Lizenz verfügbar.

Ersetze das Consenta-Branding durch dein eigenes. Unter Consenta → Einstellungen → White Label konfigurierbar.

LogoEigenes Logo für Dashboard und Consent-Dialog hochladen
FarbenEigene Akzentfarbe für Buttons und Elemente
Plugin-NameEigener Name statt Consenta im WordPress-Menü
Dashboard-TitelEigener Titel im Plugin-Header

RTL-Support v1.4

Consenta unterstützt Right-to-Left-Sprachen (Arabisch, Hebräisch, Farsi u.a.) vollautomatisch. Wenn das HTML-Attribut [dir="rtl"] auf der Seite gesetzt ist, werden alle Consent-Elemente — Dialog, Banner, Widget und Admin-Dashboard — automatisch gespiegelt.

Keine Konfiguration nötig: RTL-Support erfordert keine manuelle Einstellung. WordPress setzt dir="rtl" automatisch, wenn eine RTL-Sprache als Seitensprache konfiguriert ist. Consenta erkennt dies und passt Layout, Text-Ausrichtung und Icon-Positionen entsprechend an.

Sicherheit v1.7

HMAC-SHA256 Consent-Cookie (consenta_auth)

Seit v1.7.0 wird jeder consenta_auth Cookie serverseitig mit HMAC-SHA256 signiert. Als geheimer Schlüssel wird der WordPress AUTH_KEY aus der wp-config.php verwendet — dieser Schlüssel ist einzigartig pro WordPress-Installation und verlässt den Server nie.

Bei jeder Consent-Verifizierung berechnet der Server die erwartete Signatur neu und vergleicht sie mit hash_equals() — dieser Timing-sichere Vergleich verhindert Timing-Attacken. Cookie-Manipulation durch Besucher oder Browser-Extensions wird zuverlässig erkannt und abgewiesen.

Voraussetzung: Stelle sicher, dass dein WordPress AUTH_KEY in der wp-config.php gesetzt und ausreichend zufällig ist (mindestens 64 Zeichen). Neue WordPress-Installationen generieren diesen automatisch.

SSRF-Schutz

Alle ausgehenden HTTP-Calls von Consenta (Webhook-Delivery, Cookie-Scanner, Geolocation-Lookup) durchlaufen seit v1.7.0 eine SSRF-Schutzprüfung. Folgende Ziele werden blockiert:

  • Private IPv4-Bereiche (RFC1918): 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
  • Loopback: 127.0.0.0/8 und ::1
  • Cloud-Metadaten-Endpunkte: 169.254.169.254 (AWS/GCP/Azure Instance Metadata Service)
Hinweis: Falls du Webhooks an interne Entwicklungsendpunkte senden musst (z.B. lokale Test-Server), ist dies in der Produktionsumgebung nicht möglich. Nutze stattdessen einen öffentlich erreichbaren Staging-Server oder einen Tunnel-Dienst wie ngrok.

Token-Verwaltung

API-Tokens werden seit v1.7.0 als SHA-256-Hash in der Datenbank gespeichert — der Klartext-Token verlässt den Server nur einmal, unmittelbar nach der Generierung. Danach kann er nicht mehr eingesehen werden.

1
Token generieren

Gehe zu Consenta → Einstellungen → API und klicke Token generieren. Der Klartext-Token wird einmalig angezeigt.

2
Token sofort sichern

Kopiere den Token und speichere ihn sicher (z.B. in einem Passwort-Manager). Nach dem Schließen des Dialogs ist der Klartext nicht mehr abrufbar.

3
Token bei Verlust neu generieren

Falls ein Token verloren geht, widerrufe ihn und generiere einen neuen. Der alte Token verliert sofort seine Gültigkeit.

Sicherheits-Best-Practices für Hosting

HTTPSStelle sicher, dass deine gesamte WordPress-Installation über HTTPS erreichbar ist. Consent-Cookies werden nur über HTTPS sicher übertragen.
Aktuelle PHP-VersionNutze PHP 8.1 oder höher. Ältere PHP-Versionen erhalten keine Sicherheits-Updates mehr.
WordPress-UpdatesHalte WordPress-Core, alle Plugins und Themes aktuell. Automatische Minor-Updates (Security-Releases) aktivieren.
wp-config.php SecretsStelle sicher, dass alle Secret Keys und Salts in der wp-config.php gesetzt und ausreichend zufällig sind. Nutze den WordPress Secret Key Generator.

Troubleshooting

Consent-Dialog wird nicht angezeigt

Prüfe: (1) Ist die Lizenz aktiv? (2) Ist der Dialog unter Consenta → Darstellung aktiviert? (3) Gibt es JavaScript-Fehler in der Browser-Konsole? (4) Ist ein Caching-Plugin aktiv? Lösche den Cache.

Cookies werden trotz Ablehnung gesetzt

Prüfe das Blocking-Level unter Consenta → Einstellungen. Level 1 blockiert nur bekannte Cookies. Erhöhe auf Level 2 oder 3 für umfassendere Blockierung. Führe einen neuen Cookie-Scan aus um alle Cookies zu erfassen.

Google Consent Mode sendet keine Signale

Prüfe: (1) Ist der GCM-Toggle unter Einstellungen aktiviert? (2) Ist das Consenta-Script vor dem GTM-Script geladen? (3) Prüfe die Browser-Konsole auf Fehler.

Lizenzschlüssel funktioniert nicht

Prüfe: (1) Keine Leerzeichen vor/nach dem Schlüssel. (2) Die Website-URL stimmt mit der bei der Aktivierung verwendeten überein. (3) Die Lizenz ist nicht abgelaufen. Bei anhaltenden Problemen: Support kontaktieren.

FAQ

Funktioniert Consenta mit Caching-Plugins?

Ja. Consenta arbeitet vollständig clientseitig. Cookie Blocking und Consent-Dialog funktionieren unabhängig von Server-seitigem Caching.

Brauche ich Consenta zusätzlich zu Google Consent Mode?

Ja. Google Consent Mode ist nur die Schnittstelle — du brauchst eine Consent Management Platform (CMP) wie Consenta, die die Consent-Signale sendet.

Wie viele Sprachen werden unterstützt?

34 Sprachen. Kompatibel mit WPML und Polylang.

Wo finde ich meine Lizenz nach dem Kauf?

In der Bestätigungs-E-Mail und unter Mein Konto → Lizenzen.

SUPPORT

Noch Fragen?

Unser Support-Team antwortet in der Regel innerhalb von 24 Stunden.

Support kontaktieren FAQ