DSGVO Art. 7 — Einwilligungsnachweis
So bindest du den ConsultD Cookie-Consent-Banner auf einer neuen Webseite ein:
Auf dem Server eine JSON-Datei erstellen:
/root/consent-service/public/configs/meine-domain.de.json
Minimale Config:
{
"ui": {
"lang": "de",
"title": "Cookie-Einstellungen",
"description": "Wir nutzen Cookies. Essenzielle Cookies sind notwendig. Sie k\u00f6nnen Ihre Einwilligung jederzeit widerrufen.",
"btnAccept": "Alle akzeptieren",
"btnReject": "Nur Essenzielle",
"btnDetails": "Einstellungen",
"btnSave": "Auswahl speichern",
"privacyUrl": "/datenschutz/",
"imprintUrl": "/impressum/"
},
"categories": {
"essential": {
"label": "Essenzielle Cookies",
"description": "F\u00fcr den Betrieb der Webseite zwingend erforderlich.",
"essential": true,
"cookies": [
{
"name": "cd_consent",
"provider": "meine-domain.de",
"purpose": "Speichert Cookie-Einwilligung",
"duration": "1 Jahr"
}
]
}
}
}
Diesen Code im <head> der Webseite einf\u00fcgen — vor allen Tracking-Scripts:
<script src="https://consent.consultd.de/consent.js?v=20260309" data-site="meine-domain.de"></script>
WordPress: \u00dcber Theme functions.php, Header-Plugin, oder WPCode-Snippet:
add_action('wp_head', function() {
if (is_user_logged_in()) return;
echo '<script src="https://consent.consultd.de/consent.js?v=20260309" data-site="meine-domain.de"></script>';
}, 0);
\u00c4ndere bei jedem nicht-essenziellen Script den type und f\u00fcge data-consent hinzu:
<!-- VORHER: -->
<script src="https://example.com/tracking.js"></script>
<!-- NACHHER: -->
<script type="text/plain" data-consent="statistics" src="https://example.com/tracking.js"></script>
Kategorien f\u00fcr data-consent:
statistics — Analytics (Matomo, Google Analytics, Plausible, Hotjar...)marketing — Werbung (Facebook Pixel, Google Ads, LinkedIn...)external_media — Videos, Karten, Fonts (YouTube, Google Maps, Vimeo...)Inline-Scripts genauso:
<script type="text/plain" data-consent="statistics">
var _paq = _paq || [];
_paq.push(['trackPageView']);
// ...
</script>
Iframes (YouTube, Maps etc.):
<!-- VORHER: -->
<iframe src="https://youtube.com/embed/VIDEO_ID"></iframe>
<!-- NACHHER: -->
<iframe data-consent="external_media" data-src="https://youtube.com/embed/VIDEO_ID"></iframe>
F\u00fcr Seiten die keinen Banner brauchen (z.B. interne Terminals):
// Whitelist: Banner NUR auf diesen Seiten
"publicPaths": ["/", "/blog/", "/kontakt/", "/impressum/", "/datenschutz/"]
// ODER Blacklist: Banner \u00fcberall AU\u00dfER auf diesen Seiten
"excludePaths": ["/admin/", "/intern/"]