Installation & Aktivierung
O Consenta é instalado como um Plugin WordPress normal. Necessitas de WordPress 5.8+ e PHP 7.4+.
Instalar Plugin
Inicia sessão em A minha conta e descarregue o ficheiro consenta.zip mais recente.
Gehe zu WordPress Admin → Plugins → Installieren → Plugin hochladen. Wähle die ZIP-Datei und klicke Jetzt installieren.
Klicke auf Plugin aktivieren. Consenta erscheint danach im linken Menü unter Consenta.
Gehe zu Consenta → Einstellungen → Lizenz und gib deinen Lizenzschlüssel ein (aus der Bestätigungs-E-Mail).
Ativar licença
Du findest deinen Schlüssel in der Bestätigungs-E-Mail (Format: CONSENTA-XXXX-XXXX-XXXX) oder unter Mein Konto → Lizenzen.
Abra Consenta → Configurações → Licença, cole a chave e clique em Ativar.
Nach erfolgreicher Aktivierung zeigt das Dashboard Aktiv und deinen Plan (Starter / Pro / Agency).
Cookie-Scan ausführen
Der Cookie Scanner durchsucht deine Website automatisch nach allen gesetzten Cookies und kategorisiert sie in die 6 Standard-Kategorien.
Gehe zu Consenta → Cookie Scanner und klicke Scan starten. Der Scanner durchsucht alle Seiten deiner Website.
Nach dem Scan siehst du alle gefundenen Cookies mit Name, Anbieter, Kategorie und Laufzeit. Prüfe die automatische Kategorisierung.
Ändere bei Bedarf die Kategorie einzelner Cookies per Dropdown. Die 6 Kategorien sind: Notwendig, Funktional, Statistik, Marketing, Präferenzen und Sonstige.
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-Kategorien verwalten
Consenta verwendet 6 Standard-Kategorien für die granulare Cookie-Verwaltung:
| Kategorie | Descrição |
|---|---|
| Notwendig | Technisch erforderliche Cookies (immer aktiv, nicht abwählbar) |
| Funktional | Cookies für erweiterte Funktionalität (z.B. Sprache, Region) |
| Statistik | Analyse-Cookies (z.B. Google Analytics, Matomo) |
| Marketing | Werbe- und Remarketing-Cookies (z.B. Facebook Pixel, Google Ads) |
| Präferenzen | Cookies für persönliche Einstellungen (z.B. Theme, Layout) |
| Sonstige | Nicht kategorisierte Cookies |
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
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).
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.
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.
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.
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)
<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.
Cookie-Declaration übersetzen v1.8
Der [consenta_cookies]-Shortcode rendert die Tabelle aller Cookies, Domains und Resources — typischerweise auf deiner Datenschutz-Seite. Beschreibungen und Laufzeiten werden jetzt sprachsensitiv ausgegeben.
Laufzeiten: automatisch in 9 Sprachen
Laufzeit-Strings folgen einem festen Vokabular ("2 Jahre", "30 Tage", "Session / 1 Jahr") und werden deterministisch per Regex übersetzt — ohne API-Aufruf, ohne Cache, sofort und zuverlässig:
| DE | EN | FR | ES | IT |
|---|---|---|---|---|
| 2 Jahre | 2 years | 2 ans | 2 años | 2 anni |
| 30 Tage | 30 days | 30 jours | 30 días | 30 giorni |
| 24 Stunden | 24 hours | 24 heures | 24 horas | 24 ore |
| Session | Session | Session | Sesión | Sessione |
Beschreibungen: 3-Stufen-Fallback
- Gespeicherte Übersetzung — Wenn der Cookie-Eintrag bereits ein mehrsprachiges Objekt
{de:…, en:…}enthält (durch Bulk-Übersetzung), wird direkt der passende Sprach-Slot ausgegeben. - Eingebautes Wörterbuch — Rund 80 der häufigsten Cookies und Domains (Google Analytics, Meta/Facebook, YouTube, Stripe, Paddle, Cloudflare, WooCommerce, WordPress-Core, reCAPTCHA …) haben handübersetzte EN-Beschreibungen direkt im Plugin. Wildcard-Pattern:
_ga_*matcht auch zur Laufzeit generierte Namen wie_ga_ABC123. - Fallback zum Originaltext — Ist weder ein gespeicherter noch ein Wörterbuch-Eintrag vorhanden, wird die Original-Beschreibung (in der Sprache, in der sie gespeichert wurde — typischerweise Deutsch) ausgegeben, statt einer leeren Zelle.
Bulk-Übersetzung im Admin
In jedem Entity-Tab (Consenta → Cookies / Domains / Ressourcen) findest du oben die Leiste Übersetzen: DE → Englisch (EN) mit Source-Dropdown, Target-Dropdown (alle 34 Sprachen) und dem Button 🌐 Beschreibungen übersetzen. Ein Klick übersetzt alle Beschreibungen dieses Tabs:
- Batchweise 3 Einträge pro Request mit Fortschrittsanzeige
- Bereits übersetzte Felder werden übersprungen (idempotent — beliebig oft re-runnen)
- Speicherung als Objekt
{de: "Text", en: "Text", fr: "Text"}— jede Zeile zeigt anschließend kleine Badges der gefüllten Sprachen - Ergebnisse 30 Tage in Transients gecacht — gleiche Texte kosten keine Quote doppelt
[consenta_cookies] rendert dann automatisch die richtige Sprache je nach /en/-, /fr/-, /es/-URL.Inline-Edit erhält Übersetzungen
Wenn du inline eine Beschreibung editierst, die bereits mehrsprachig gespeichert ist, aktualisiert das Plugin nur den DE-Slot. Die EN/FR/ES-Übersetzungen bleiben erhalten — du musst nicht neu übersetzen.
Google Consent Mode v2
Google Consent Mode v2 wird vollständig unterstützt. Consenta sendet automatisch die richtigen Consent-Signale an Google-Dienste.
Configuração
Unter Consenta → Einstellungen → Google Consent Mode den Toggle aktivieren.
Consenta setzt automatisch: ad_storage, analytics_storage, ad_user_data und ad_personalization basierend auf der Consent-Entscheidung des Besuchers.
IAB TCF konfigurieren
Das IAB Transparency & Consent Framework 2.0 wird vollständig unterstützt. TC-Strings werden automatisch generiert und verwaltet.
Unter Consenta → Einstellungen → IAB TCF den Toggle aktivieren.
Wähle die relevanten IAB-Vendoren für deine Website. Der TC-String wird automatisch generiert.
Geolocation aktivieren
Zeigt den Consent-Dialog nur Besuchern aus der EU oder konfigurierbaren Regionen. Besucher außerhalb der konfigurierten Regionen sehen keinen Banner.
Unter Consenta → Einstellungen → Geolocation den Toggle aktivieren.
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 | Descrição |
|---|---|
| Layer 1 — Script Blocking | Blockiert 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 Worker | Fängt ausgehende Netzwerk-Requests auf Service-Worker-Ebene ab und blockiert Requests an Tracking-Endpunkte, bevor sie den Browser verlassen. |
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 | Descrição |
|---|---|
| Notification.requestPermission | Verhindert Browser-Push-Benachrichtigungs-Dialoge bis zur Einwilligung |
| PushManager.subscribe | Blockiert die Registrierung von Web-Push-Abonnements |
| SyncManager.register | Verhindert die Registrierung von Background-Sync-Tasks |
| caches.open | Blockiert 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 Cacheswp-— 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.
Webhooks v1.5
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.
Configuração
Gehe zu Consenta → Einstellungen → Webhooks und gib eine HTTPS-URL ein. Nur HTTPS-Endpunkte werden akzeptiert.
Wähle, welche Consent-Ereignisse an den Endpunkt gesendet werden sollen: consent.new, consent.update, consent.revoke oder consent.optout.
Klicke auf Test senden, um einen Test-Payload an die konfigurierte URL zu senden und die Verbindung zu prüfen.
Unterstützte Ereignisse
| Ereignis | Descrição |
|---|---|
| consent.new | Besucher gibt erstmals seine Einwilligung |
| consent.update | Besucher ändert seine bestehende Einwilligung |
| consent.revoke | Besucher widerruft seine Einwilligung vollständig |
| consent.optout | Besucher 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:
$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"
}
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 | Descrição |
|---|---|---|
| woocommerce_cart_hash | Notwendig | Warenkorb-Hash für Cache-Invalidierung |
| woocommerce_items_in_cart | Notwendig | Speichert ob Artikel im Warenkorb liegen |
| wp_woocommerce_session_* | Funktional | Eindeutige Session-ID für den Checkout |
| tk_ai | Statistik | WooCommerce Analytics Tracking-Identifier |
Filter-Hook für Entwickler
Mit dem Filter consenta_woo_cookie_map kannst du die automatische Kategorisierung von WooCommerce-Cookies überschreiben:
// Eigene Zuordnung hinzufügen / Override mapping
$map['my_custom_cookie'] = 'marketing';
return $map;
});
Gutenberg-Block v1.4
Consenta liefert einen nativen Gutenberg-Block, mit dem du den Consent-Dialog oder einzelne Consent-Elemente direkt im Block-Editor platzieren kannst.
Block einfügen
Im Block-Editor auf + klicken und nach Consenta suchen. Der Block erscheint in der Kategorie Widgets.
Wähle in der rechten Seitenleiste die gewünschten Attribute (siehe Tabelle unten). Die Vorschau aktualisiert sich live.
Der Block rendert das Consent-Element an der gewählten Position auf der Seite.
Verfügbare Attribute
| Attribut | Typ | Descrição |
|---|---|---|
| purpose | string | Consent-Kategorie, die der Block abfragt. Werte: functional, statistics, marketing, preferences. Standard: marketing. |
| show_type | string | Darstellung des Elements. Werte: dialog (Consent-Dialog), banner (Inline-Banner), toggle (einzelner Toggle-Switch). Standard: banner. |
| show_lifespan | boolean | Zeigt die Cookie-Laufzeit im Element an. Standard: false. |
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
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.
Gehe zu Consenta → Tools → CMP-Import und wähle deine bisherige CMP aus dem Dropdown.
Lade die exportierte Datei hoch. Consenta erkennt das Format automatisch und zeigt eine Vorschau der zu importierenden Cookies.
Prüfe die automatische Kategorie-Zuordnung. Die 6 Consenta-Kategorien werden den Kategorien der bisherigen CMP zugeordnet. Passe bei Bedarf einzelne Zuordnungen an.
Klicke Importieren. Bestehende Cookies werden nicht überschrieben, neue werden hinzugefügt.
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.
Configuração
Gehe zu Consenta → Cookie Scanner → Auto-Scan und aktiviere den Toggle.
Wähle das Scan-Intervall: Täglich, Wöchentlich oder Monatlich. Standard: Wöchentlich.
Gib eine oder mehrere E-Mail-Adressen ein (kommagetrennt). Du erhältst eine E-Mail, wenn neue oder unbekannte Cookies gefunden werden.
Consent-Proof v1.4
Generiere einen PDF-Report als Nachweis deiner DSGVO-konformen Cookie-Consent-Konfiguration. Der Report eignet sich für Audits, Datenschutzbeauftragte und Behördenanfragen.
PDF-Report generieren
Gehe zu Consenta → Protokolle → Consent-Proof.
Wähle den Zeitraum für den Report (z.B. letzte 30 Tage, Quartal oder benutzerdefiniert).
Klicke PDF generieren. Der Report wird erstellt und als Download bereitgestellt.
Inhalt des Reports
- Consent-Statistiken — Akzeptierungsrate, Ablehnungsrate, Opt-in-Rate pro Kategorie
- Cookie-Inventar — Vollständige Liste aller deklarierten Cookies mit Kategorie, Anbieter und Laufzeit
- Blocking-Konfiguration — Aktive Blocking-Level und Service-Worker-Status
- Consent-Log-Auszug — Anonymisierte Stichprobe der letzten Consent-Einträge als Nachweis
- Konfigurationsübersicht — GCM-Status, TCF-Status, Geolocation-Einstellungen, Dialog-Konfiguration
Protokolle & Reports
Consenta protokolliert jede Consent-Entscheidung für die DSGVO-Nachweispflicht. Unter Consenta → Protokolle findest du alle Einträge.
Multi-Site Dashboard
Verwalte Cookie-Consent-Einstellungen für alle deine WordPress-Sites zentral. Consent-Statistiken aller Sites auf einen Blick.
Consenta → Sites → Site-Token kopieren (auf der Haupt-Site generiert).
No site remoto: Consenta → Definições → Multi-Site → Colar o Token e introduzir o URL do site principal.
Klicke Verbindung testen. Die Remote-Site sendet ab sofort Consent-Daten an die Haupt-Site.
REST API v1.4
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:
POST /consenta/v1/log
Speichert einen Consent-Eintrag. Dieser Endpoint wird vom Frontend-Script automatisch aufgerufen und erfordert keine Authentifizierung (öffentlich).
| Parameter | Typ | Descrição |
|---|---|---|
| categories | array | Akzeptierte Consent-Kategorien, z.B. ["necessary","statistics"] |
| uid | string | Anonymer Besucher-Identifier (vom Frontend generiert) |
| timestamp | integer | Unix-Timestamp der Consent-Entscheidung |
| user_agent | string | Browser User-Agent (optional, wird sonst aus dem Request gelesen) |
| tcf_string | string | IAB TCF TC-String, falls TCF aktiv (optional) |
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-Feld | Typ | Descrição |
|---|---|---|
| cookies | array | Liste aller deklarierten Cookies mit Name, Kategorie, Anbieter, Laufzeit |
| categories | array | Konfigurierte Consent-Kategorien mit Label und Beschreibung |
| blocking_level | integer | Aktives Blocking-Level (1–3) |
| gcm_enabled | boolean | Google Consent Mode v2 aktiv |
| tcf_enabled | boolean | IAB TCF aktiv |
| dialog_type | string | Dialog-Typ: modal, banner oder widget |
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.
| Parameter | Typ | Descrição |
|---|---|---|
| uid | string | Anonymer Besucher-Identifier, dessen Consent widerrufen werden soll (Pflichtfeld) |
| reason | string | Grund des Widerrufs, z.B. user_request oder gdpr_erasure (optional) |
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-Parameter | Typ | Descrição |
|---|---|---|
| from | string | Startdatum im Format YYYY-MM-DD (optional, Standard: 30 Tage zurück) |
| to | string | Enddatum im Format YYYY-MM-DD (optional, Standard: heute) |
| group_by | string | Gruppierung: day, week oder month (optional, Standard: day) |
| Response-Feld | Typ | Descrição |
|---|---|---|
| total_decisions | integer | Gesamtzahl der Consent-Entscheidungen im Zeitraum |
| accept_rate | float | Akzeptierungsrate (0.0–1.0) |
| reject_rate | float | Ablehnungsrate (0.0–1.0) |
| category_rates | object | Opt-in-Rate pro Kategorie, z.B. {"statistics": 0.72, "marketing": 0.34} |
| timeline | array | Zeitreihe mit Datenpunkten pro group_by-Intervall |
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.
| Header | Descrição |
|---|---|
| Authorization | Bearer <api-token> — API-Token der Haupt-Site |
| X-Consenta-Remote-Token | <remote-token> — Token der Remote-Site (unter Consenta → Sites generiert) |
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-Feld | Typ | Descrição |
|---|---|---|
| entities | array | Liste der Remote-Sites |
| entities[].url | string | URL der Remote-Site |
| entities[].status | string | Verbindungsstatus: connected, disconnected, error |
| entities[].last_sync | string | ISO 8601 Zeitstempel des letzten Sync |
| entities[].total_consents | integer | Gesamtanzahl gespeicherter Consent-Einträge dieser Site |
GET /wp-json/consenta/v1/remote/entities
Authorization: Bearer sk_live_xxxxxxxxxxxxx
Fehler-Codes
| Code | Descrição |
|---|---|
| 401 | Fehlender oder ungültiger API-Token |
| 403 | API-Zugang nicht im aktuellen Plan enthalten (Agency erforderlich) |
| 404 | Ressource nicht gefunden (z.B. unbekannte UID bei /revoke) |
| 422 | Ungültige Parameter (z.B. fehlendes Pflichtfeld) |
| 429 | Rate Limit überschritten (max. 120 Requests/Minute) |
X-RateLimit-Remaining und X-RateLimit-Reset zurückgegeben.White Label Setup
Ersetze das Consenta-Branding durch dein eigenes. Unter Consenta → Einstellungen → White Label konfigurierbar.
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.
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.
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)
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.
Gehe zu Consenta → Einstellungen → API und klicke Token generieren. Der Klartext-Token wird einmalig angezeigt.
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.
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
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
Verifica: (1) Sem espaços antes/depois da chave. (2) O URL do site corresponde ao utilizado durante a ativação. (3) A licença não expirou. Se os problemas persistirem: Contactar suporte.
FAQ
O Consenta funciona com plugins de caching?
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?
Über 30 Sprachen. Kompatibel mit WPML und Polylang.
Onde encontro a minha licença após a compra?
No e-mail de confirmação e em A minha conta → Licenças.
Mais perguntas?
A nossa equipa de suporte responde normalmente dentro de 24 horas.