Zum Inhalt springen
Unabhängiges Tool. Nicht von Google LLC. „Google" und „Google Fonts" sind Marken der Google LLC und werden ausschließlich beschreibend verwendet.
Lösung: Consenta

Google Maps DSGVO-konform einbinden — Iframe-Alternativen und Consent-Flow

· Anleitungen

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.com und khms*.googleapis.com
  • Cookies wie NID, SOCS und 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:

  1. Auto-Blocker erkennt das Maps-Iframe vor dem Render und ersetzt es durch einen Platzhalter mit kurzem Datenschutz-Hinweis und „Karte laden“-Button.
  2. Beim Klick wird das Iframe initialisiert, die Einwilligung im Consent-Log dokumentiert.
  3. 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.

Consenta ansehen →

Themen: Consent, Embeds, Google Maps, OpenStreetMap