# Laravel GDPR/DSGVO Cookie Consent Manager Ein leichtgewichtiges, DSGVO-konformes Cookie Consent Management System für Laravel. Es nutzt **Alpine.js** für die Frontend-Logik und ist speziell für die einfache Integration von Google Analytics 4 und Google Tag Manager (mit Google Consent Mode v2) entwickelt. ## Features - 🇪🇺 **DSGVO Konform:** Skripte werden erst nach expliziter Zustimmung geladen (Prior Consent) - 🔒 **Google Consent Mode v2:** Vollständige Integration mit Default-Einstellungen - 📊 **Google Analytics 4:** Direktes GA4-Tracking mit IP-Anonymisierung - 🏷️ **Google Tag Manager:** Alternativ GTM-Integration für komplexere Tag-Setups - 🌍 **Mehrsprachig:** Deutsch und Englisch integriert, weitere Sprachen leicht hinzufügbar - 🚀 **Performance:** Basiert auf Alpine.js, keine Server-Requests - 🎨 **Flexibel:** Anpassbar über Blade-Komponenten und Tailwind CSS - ⚙️ **Konfigurierbar:** Alle Optionen über Config steuerbar - 📱 **Responsive:** Mobile-optimiertes Modal mit Animationen - ♿ **Barrierefrei:** ARIA-Labels, Focus-Trap, Keyboard-Navigation - 🍪 **Echte Cookies:** Speicherung als HTTP-Cookie mit konfigurierbarer Laufzeit ## Voraussetzungen - PHP 8.1+ - Laravel 10+ oder 11+ - Alpine.js (via Livewire oder manuell eingebunden) - Tailwind CSS (für das Standard-Styling) ## Installation ### 1. Package installieren ```bash composer require acme/cookie-consent ``` Falls das Package lokal entwickelt wird, füge es in der `composer.json` hinzu: ```json { "repositories": [ { "type": "path", "url": "dev/acme/CookieConsent" } ], "require": { "acme/cookie-consent": "@dev" } } composer update acme/cookie-consent composer update acme/cookie-consent && php artisan package:discover && php artisan config:clear && php artisan view:clear && php artisan cache:clear ``` ### 2. Environment Variables Füge deine Tracking-ID in die `.env` Datei ein. Du kannst entweder Google Analytics direkt **oder** den Google Tag Manager nutzen: **Option A: Google Analytics direkt** ```dotenv GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX ``` **Option B: Google Tag Manager (empfohlen für komplexere Setups)** ```dotenv GOOGLE_TAG_MANAGER_ID=GTM-XXXXXXXX ``` > **Hinweis:** Wenn beide IDs gesetzt sind, wird der Google Tag Manager bevorzugt. Der GTM lädt dann alle weiteren Tags (inkl. GA4) selbstständig über die GTM-Konfiguration. Optionale Einstellungen: ```dotenv COOKIE_CONSENT_ENABLED=true COOKIE_CONSENT_LIFETIME=365 COOKIE_CONSENT_NAME=cookie_consent ``` ### 3. Config veröffentlichen (Optional) ```bash php artisan vendor:publish --tag=cookie-consent-config ``` Dies erstellt `config/cookie-consent.php` mit allen Einstellungsmöglichkeiten. ## Nutzung ### Basis-Einbindung (Google Analytics) Füge die Komponente in dein Hauptlayout ein (idealerweise vor `
{{-- Dein Content --}}