- Wenn man niemals personenbezogene Daten verarbeitet, greift die GDPR-Consent-Pflicht nicht.
- IP-Adressen müssen sofort verworfen werden nach dem Geo-Lookup — nicht gekürzt und gespeichert.
- First-party-Endpoints auf der eigenen Domain umgehen Ad Blocker by Design — kein Hack nötig.
- Jedes erhobene Feld muss den Singling-Out-Test bestehen: Könnte es eine bestimmte Person identifizieren?
Die GDPR sagt nicht, dass man Website-Visitor nicht tracken darf. Sie sagt, dass man für die Verarbeitung personenbezogener Daten eine Rechtsgrundlage braucht. Wenn man ein System designt, das niemals personenbezogene Daten verarbeitet, ist Consent nicht erforderlich. Diese Anleitung führt Schritt für Schritt durch genau diese Architektur, Entscheidung für Entscheidung.
Der rechtliche Rahmen: Wann Consent (nicht) erforderlich ist
Nach der GDPR ist Consent (Art. 6(1)(a)) dann erforderlich, wenn personenbezogene Daten ohne andere Rechtsgrundlage verarbeitet werden. Aber es gibt zwei Szenarien, in denen Analytics ohne Consent betrieben werden kann:
- Keine personenbezogenen Daten werden verarbeitet: Wenn das Analytics-System nur nicht-personenbezogene Daten erhebt, gilt die GDPR für diese Verarbeitung nicht.
- Legitimate Interest greift: Nach Art. 6(1)(f) ist die Verarbeitung rechtmäßig, wenn sie einem berechtigten Interesse dient und die Rechte der betroffenen Person nicht überwiegen.
Die CNIL-Ausnahme: Die französische Datenschutzbehörde nimmt „Audience Measurement“-Tools ausdrücklich von der Consent-Pflicht aus, wenn sie: (1) ausschließlich der Erstellung anonymer Statistiken dienen, (2) kein Cross-Site-Tracking ermöglichen, (3) keine Daten an Dritte weitergeben und (4) die Cookie-Lebensdauer auf 13 Monate begrenzen.
Schritt 1: Speicherung der IP-Adresse eliminieren
Der falsche Ansatz: „anonymisieren und speichern“
GA4 kürzt das letzte Oktett (z. B. wird 192.168.1.42 zu 192.168.1.0). Aber EU-Regulierer haben konsequent festgestellt, dass eine gekürzte IP weiterhin ein personenbezogenes Datum sein kann, insbesondere kombiniert mit anderen Signalen.
Der richtige Ansatz: extrahieren, nutzen, verwerfen
- Die IP aus dem eingehenden Request extrahieren
- Anonymisieren (letztes Oktett auf null setzen)
- Die anonymisierte IP für einen einzigen Geolocation-Lookup auf Stadtebene gegen eine lokal gebundelte Datenbank verwenden
- Nur das Geolocation-Ergebnis speichern (z. B. „Berlin, Deutschland“)
- Die IP sofort verwerfen — niemals auf Disk geschrieben, niemals geloggt, niemals an Dritte gesendet
Schritt 2: Cookies durch Session-scoped Storage ersetzen
Session-Kontinuität ohne Cookies
- Eine zufällige Session-ID client-side generieren mit
crypto.getRandomValues() - Im
sessionStoragespeichern (wird gelöscht, wenn der Tab schließt) - Mit jedem Event als Request-Parameter mitschicken
Wiederkehrende Visitor identifizieren: der schwierige Teil
- Mit
localStorage: Eine Visitor-ID bleibt über Sessions hinweg in einem einzelnen Browser bestehen. Ermöglicht Returning-Visitor-Metriken. - Ohne persistenten Storage: Jeder Besuch ist ein „neuer“ Visitor. Genaue Pageview- und Event-Daten, aber keine Returning-Visitor-Metrik.
Schritt 3: First-party-Endpoints verwenden
Analytics-Daten an einen first-party Endpoint auf der eigenen Domain senden. collect.yourdomain.com steht auf keiner Ad-Blocker-Blockliste. Der Request sieht identisch aus zu jedem anderen API-Call, den die Website macht.
Das ist kein Umgehungstrick. Die Daten bleiben tatsächlich auf der eigenen Infrastruktur. Es ist keine dritte Partei im Datenfluss involviert.
Schritt 4: Nur nicht-identifizierende Daten erheben
Jedes Feld, das der Tracker erhebt, gegen den Singling-Out-Test prüfen: Könnte dieses Feld, allein oder kombiniert mit anderen, eine bestimmte Person identifizieren?
| Datenfeld | Personenbezogen? | Aktion |
|---|---|---|
| Page-URL | ✓Nein (öffentliche Info) | Erheben |
| Viewport-Größe | ✓Nein | Erheben |
| Browser + OS | ✓Nein (aggregiert) | Erheben |
| Stadt + Land | ✓Nein (zu grob) | Erheben (nach IP-Verwurf) |
| IP-Adresse | ✕JA | Sofort verwerfen |
| E-Mail / Name | ✕JA | Niemals erheben |
Schritt 5: Alles in der EU verarbeiten
EU-only-Hosting eliminiert Schrems II-Bedenken, SCCs und Transfer Impact Assessments. EU-Cloud-Anbieter wie Hetzner, OVH und Scaleway bieten wettbewerbsfähige Preise bei voller GDPR-Konformität.
Schritt 6: Rechtsgrundlage dokumentieren
- DPIA: Dokumentieren, welche Daten erhoben werden, bestätigen, dass keine personenbezogenen Daten verarbeitet werden
- Datenschutzerklärung: Analytics-Nutzung offenlegen, erklären, dass keine personenbezogenen Daten erhoben werden
- Legitimate-Interest-Bewertung: Den Abwägungstest nach Art. 6(1)(f) dokumentieren
- Art. 30-Verzeichnis: Verzeichnis der Verarbeitungstätigkeiten pflegen
Alles zusammengeführt
Ein consent-freies Tracking-Setup ist eine Privacy-by-Design-Architektur (Art. 25 GDPR). Die Checkliste:
- IP-Adressen: extrahiert, für Geo-Lookup genutzt, verworfen — niemals gespeichert
- Cookies: keine — Session-Kontinuität über
sessionStorageoderlocalStorage - Daten-Endpoint: first-party Domain
- Datenfelder: gegen den Singling-Out-Test geprüft, PII entfernt
- Datenresidenz: EU-only-Verarbeitung und -Speicherung
- Drittweitergabe: keine
- Rechtliche Dokumentation: DPIA, Datenschutzerklärung, Legitimate-Interest-Bewertung
Sieh deine echten Zahlen in 7 Tagen.
Snippet einbinden, ab Tag eins vollständige Daten erhalten und am Ende der Woche deinen eigenen GA4-vs-datakant-Chart lesen. Keine Kreditkarte. EU-gehostet.