TL;DR: Google-Maps-Iframes lassen sich nicht ohne Consent einbinden — auch nicht als „nur eine kleine Karte im Footer“. Die DSGVO-konformen Alternativen, sortiert nach Aufwand: (1) statisches Bild + Link auf Google-Maps, (2) OpenStreetMap-Iframe (z.B. via openstreetmap.de), (3) Auto-Blocker, der Maps erst nach Consent rendert.
Maps-Embeds sind ein Klassiker auf Kontaktseiten. Der Code ist in vier Klicks im Maps-Editor erzeugt, das Iframe wird in den Footer kopiert — fertig. Was dabei passiert, ist datenschutzrechtlich aber dasselbe wie bei jedem anderen Drittland-Iframe: Cookies werden gesetzt, IP wird übertragen, alles ohne Consent.
Was bei einem Maps-Embed wirklich passiert
Der Standard-Embed-Code aus dem Maps-Teilen-Dialog sieht so aus:
<iframe src="https://www.google.com/maps/embed?pb=..."
width="600" height="450" loading="lazy"></iframe>
Beim Page-Load lädt der Browser:
- HTML, JavaScript und Tile-Bilder von
maps.googleapis.com,maps.gstatic.comundkhms*.googleapis.com - Cookies wie
NID,SOCSund mehrere Maps-spezifische Session-Cookies - Schriften von
fonts.googleapis.com(das Maps-Iframe lädt Roboto extern!)
Auch wenn der Besucher die Karte nicht anklickt, sind seine IP-Adresse und sein Browser-Fingerprint bei Google angekommen. Die Argumentation der Aufsichtsbehörden ist hier konsistent zur Google-Fonts-Linie: Drittland-Datentransfer ohne Einwilligung = nicht zulässig.
Alternative 1: Statisches Bild + Klickbarer Link
Für die meisten „Wo wir sind“-Karten reicht völlig: ein Screenshot, ein Adress-Block daneben, ein „In Google Maps öffnen“-Link unter dem Bild. Vorteile:
- Null Drittdienst-Requests
- Bessere Page-Speed (kein Iframe-Overhead, kein Tiles-Streaming)
- Funktioniert auch ohne JavaScript und auch in Mailings
Implementation: einmal einen Screenshot der gewünschten Region aufnehmen, als WebP optimieren (~30 KB), als <img> einbinden und mit einem Link auf https://maps.app.goo.gl/... umschließen.
Alternative 2: OpenStreetMap statt Google Maps
OpenStreetMap (OSM) ist eine offene, von Freiwilligen gepflegte Karten-Datenbank. Die Einbettung kann auf zwei Arten erfolgen:
- Iframe von openstreetmap.de: der deutsche OSM-Mirror liefert Tiles über Server in Deutschland, setzt keine Tracking-Cookies und überträgt nur das, was technisch für die Karten-Anzeige nötig ist. Aufsichtsbehörden bewerten das in den meisten Konstellationen als zulässig — eine Pflicht-Einwilligung wird hier in der Regel nicht verlangt.
- Selbst gehostet mit Leaflet.js: du lädst Leaflet (~40 KB), nutzt Tiles aus einer der freien Quellen (z.B. Mapbox-Free-Tier auf eigener Domain proxiiert). Maximaler Datenschutz, aber etwas mehr Setup-Aufwand.
OpenStreetMap-Tiles sehen optisch anders aus als Google-Maps. Für Kontakt-Visualisierungen ist der Unterschied irrelevant — für Heatmaps, Routing-Apps oder Street-View-ähnliche Funktionen ist Google überlegen.
Alternative 3: Auto-Blocker mit Click-to-Load
Wer Google Maps zwingend braucht (z.B. wegen vorhandener Routing-Logik, Custom-Markern oder einer integrierten Routenplanung), kommt um Consent nicht herum. Der praktische Weg:
- Auto-Blocker erkennt das Maps-Iframe vor dem Render und ersetzt es durch einen Platzhalter mit kurzem Datenschutz-Hinweis und „Karte laden“-Button.
- Beim Klick wird das Iframe initialisiert, die Einwilligung im Consent-Log dokumentiert.
- Bei zukünftigen Page-Loads (sofern Consent gespeichert) lädt die Karte direkt — wie ohne Blocker.
Cookie-Consent-Plugins wie Consenta blockieren Maps-Iframes pauschal über die maps.google.com– und maps.googleapis.com-Domain-Filter. Die Konfiguration ist eine Checkbox im „Drittdienste“-Tab.
Was du nicht tun solltest
- Maps-Iframe in CMP-„Anbieter-Einstellungen“ ohne Default-Block: wenn das Iframe schon vor dem Banner-Klick im DOM steht, wird es geladen — auch wenn der Besucher dann „Ablehnen“ klickt. Pre-Consent-Block ist Pflicht.
- Lazy-Loading mit
loading="lazy"als Datenschutz-Maßnahme: ist es nicht. Lazy-Loading verschiebt nur den Render-Zeitpunkt, nicht den Cookie-Set. - Kontakt-Adresse ausschließlich als Maps-Iframe: Maps ist nicht garantiert verfügbar (Google-Outages, Adblocker, JS deaktiviert). Adresse als Text gehört immer dazu — auch aus Accessibility-Gründen.
Wie du prüfst, ob deine Seite Maps ohne Consent lädt
Im Scanner startest du nach dem Schrift-Scan einen Erweiterten DSGVO-Scan. Er erkennt sowohl die Maps-API (maps.googleapis.com) als auch Iframe-Embeds (google.com/maps/embed) und meldet die genaue Fundstelle.
Schriften lokal hosten + Drittdienste blocken — beides mit Consenta
Seit v1.13 erledigt Consenta zwei Probleme in einem Plugin: Der Site-wide Font-Localizer scannt deine Seite, lädt alle gefundenen Google-Schriften automatisch herunter und liefert sie ab dann lokal aus — ohne WOFF2-Handarbeit. Der Auto-Blocker stoppt zusätzlich Maps, Videos, Tracking-Pixel und andere Drittdienste vor der Einwilligung des Besuchers.