DSGVO Pixelmate - Google Tag Manager DSGVO-konform in WordPress einbinden

Auf einen Blick

Diese Anleitung zeigt dir, wie du Google Tag Manager (GTM) DSGVO-konform über Pixelmate in WordPress einbindest. Du erfährst, wann GTM sinnvoll ist, wie du ihn in wenigen Schritten einrichtest und was du bei Consent Mode v2 beachten musst. Für Custom Events, E-Commerce-Tracking und Advanced Mode gibt es einen separaten Developer Guide.

Was ist Google Tag Manager – und wann brauchst du ihn?

Google Tag Manager (GTM) ist ein Container, in dem du Tracking-Codes zentral verwaltest. Statt jedes Script einzeln in dein Theme einzubauen, fügst du einmalig den GTM-Code ein und steuerst alles Weitere über die GTM-Oberfläche.

Wann GTM sinnvoll ist

  • Du willst mehrere Tracking-Tools gleichzeitig betreiben: Google Analytics, Google Ads, Facebook Pixel und weitere.
  • Ein Marketing-Team soll Tags selbst anlegen und anpassen können, ohne am WordPress-Code zu arbeiten.
  • Du brauchst benutzerdefinierte Events wie "Produkt in Warenkorb gelegt" oder "Formular abgesendet".
  • Du planst E-Commerce-Tracking mit strukturierten Datenschicht-Ereignissen.

Wann GTM nicht nötig ist

Willst du nur Google Analytics 4 einbinden und sonst kein weiteres Tracking, ist die native GA4-Integration in Pixelmate einfacher und ausreichend. Weniger Komplexität bedeutet weniger Fehlerpotenzial. Die native GA4-Einrichtung ist unter Google Analytics einrichten beschrieben.


Deine GTM Container-ID finden

  1. Öffne tagmanager.google.com und melde dich an.
  2. Wähle deinen Account und deinen Container aus.
  3. Oben rechts im GTM-Interface siehst du die Container-ID im Format GTM-XXXXXXX – kopiere sie.

Falls du noch keinen GTM-Account hast: Gehe zu tagmanager.google.com, lege einen neuen Account an, gib einen Containernamen ein (z. B. den Namen deiner Website) und wähle als Plattform "Web".


GTM in Pixelmate aktivieren (Grundeinrichtung)

  1. Gehe zu Pixelmate → Integration → Google Tag Manager.
  2. Aktiviere den Schalter Google Tag Manager aktivieren.
  3. Trage deine Container-ID in das Feld GTM Container ID ein. Format: GTM-XXXXXXX.
  4. Wähle als Integrationsmethode Container ID (Empfohlen). Pixelmate injiziert den GTM-Code dann automatisch an der richtigen Stelle im Seitenquellcode – du musst nichts manuell in dein Theme einfügen. Die Option Manueller Code ist nur für Sonderfälle gedacht, z. B. wenn du den Snippet mit einem CSP-Nonce versehen musst.
  5. Stelle sicher, dass Consent Mode v2 aktivieren eingeschaltet ist. Das ist seit März 2024 verpflichtend für alle Websites, die Google-Produkte einsetzen.
  6. Wähle als Consent Mode Typ Basic Mode – die empfohlene Einstellung für die meisten Websites.
  7. Aktiviere mindestens diese vier Pflicht-Parameter: ad_storage, analytics_storage, ad_user_data, ad_personalization. Lass functionality_storage und personalization_storage vorerst aus, außer du weißt, dass du sie brauchst.
  8. Lass Ads Data Redaction aktiviert (Standardeinstellung). Es verhindert, dass bei abgelehntem Consent Klick-IDs und Werbe-Identifikatoren an Google gesendet werden.
  9. Wähle unter Consent-Kategorie, wann der GTM-Container selbst laden darf (siehe Box unten).
  10. Klicke auf Speichern. Pixelmate bindet GTM jetzt consent-konform ein.
Consent-Kategorie richtig wählen

Marketing (empfohlen): Der GTM-Container lädt erst nach Zustimmung zur Marketing-Kategorie.
Analyse: sinnvoll, wenn über GTM ausschließlich Analyse-Tools laufen (z. B. nur GA4).
Notwendig: Der Container lädt immer – unabhängig von der Einwilligung. Das ist nur zulässig, wenn wirklich ausschließlich technisch notwendige Vorgänge über den Container laufen. Werden darüber auch Analyse- oder Marketing-Tags ausgeliefert (GA4, Google Ads, Meta Pixel), verstößt "Notwendig" gegen die DSGVO. Nutze diese Option nur nach Rücksprache mit einem Datenschutzbeauftragten.

Wichtig: Diese Einstellung steuert nur, ob und wann der GTM-Container selbst lädt. Was innerhalb von GTM passiert – z. B. ob GA4 unter "Analyse" läuft, während ein Google-Ads-Tag "Marketing" ist – legst du weiterhin in GTM selbst bzw. über die Option "Über GTM eingebunden" der jeweiligen Pixelmate-Kachel fest (siehe unten).


Consent Mode v2 verbindet deinen Cookie-Banner mit dem Google-Tracking-System: Pixelmate teilt GTM mit, welchen Kategorien ein Besucher zugestimmt hat, und GTM gibt diese Information an alle Google-Tags weiter.

Seit März 2024 verlangt Google, dass alle Websites mit Google-Tags (Analytics, Ads usw.) Consent Mode v2 implementiert haben. Ohne Consent Mode v2 können Google-Tags keine modellierten Daten erzeugen – es droht der Verlust von Conversion-Daten in Google Ads. Pixelmate setzt die technischen Defaults automatisch auf "abgelehnt" und aktualisiert den Consent-Status, sobald ein Besucher zustimmt.


Basic Mode und Advanced Mode im Vergleich

Kriterium Basic Mode Advanced Mode
GTM lädt ohne Consent Nein Ja (Tags feuern trotzdem nicht)
DSGVO-Sicherheit ⭐⭐⭐ Hoch ⭐⭐ Mittel
Tracking-Genauigkeit ⭐⭐ Mittel ⭐⭐⭐ Hoch
Empfehlung Für die meisten Websites Nur mit Rechtsberatung

Empfehlung: Bleib bei Basic Mode, solange kein konkreter Grund für Advanced Mode mit einem Datenschutzexperten abgestimmt wurde.


Pixelmate verknüpft diese Pflichtparameter automatisch mit den Einwilligungskategorien deines Banners:

Parameter Was er steuert Pixelmate-Kategorie
analytics_storage Darf Google Analytics Cookies setzen und Daten speichern? Analyse
ad_storage Darf Google Werbe-Cookies setzen (Ads, Remarketing)? Marketing
ad_user_data Dürfen Nutzerdaten zu Werbezwecken an Google gesendet werden? Marketing
ad_personalization Darf Google personalisierte Werbung ausliefern? Marketing

Stimmt ein Besucher der Analyse-Kategorie zu, setzt Pixelmate analytics_storage auf "granted". Stimmt er Marketing zu, werden ad_storage, ad_user_data und ad_personalization auf "granted" gesetzt.


Weitere Einstellungen im Überblick

  • Ads Data Redaction: Verhindert bei abgelehntem Consent die Übertragung von Klick-IDs (z. B. gclid) und Werbe-Identifikatoren. Immer aktiv lassen.
  • URL Passthrough: Leitet Klick-IDs als URL-Parameter weiter statt als Cookie – nützlich für Safari-Nutzer ohne Werbe-Cookies, macht URLs aber unschön (?gclid=xyz) und kann SEO-Tools verwirren. Standardmäßig aus lassen.
  • Wait for Update: GTM wartet 100–2000 ms nach dem Seitenaufruf, bis der Consent-Status gesetzt ist, bevor Tags feuern. Nur bei Race-Conditions auf langsamen Verbindungen oder SSR-Sites nötig.
  • Custom dataLayer Code: JavaScript, das Pixelmate vor dem Laden von GTM in den dataLayer pusht – für fortgeschrittene technische Anpassungen.
  • Text für Cookie-Banner: Passt den Beschreibungstext an, den Pixelmate für die GTM-Kategorie im Banner anzeigt.
  • Debug-Modus: Zeigt Hinweise in der Browser-Konsole. Nur während der Einrichtung aktivieren, danach wieder ausschalten.

GTM testen

  1. Öffne deine Website in einem normalen Browserfenster.
  2. Drücke F12 und wechsle zum Tab Network.
  3. Filtere nach googletagmanager – du solltest keine Requests sehen, solange du dem Banner nicht zugestimmt hast.
  4. Klicke im Banner auf Alle akzeptieren.
  5. Jetzt sollte gtm.js im Network-Tab erscheinen.
  6. Prüfe im Tab Console auf Meldungen wie [Pixelmate Debug] GTM Consent Mode v2 updated, wenn der Debug-Modus aktiv ist.

Für eine tiefergehende Überprüfung einzelner Tags empfiehlt sich der GTM Preview Mode (GTM → oben rechts "Vorschau").


Andere Dienste über GTM einbinden, aber im Banner sichtbar lassen

Typisches Szenario: Du steuerst GA4, Google Ads, Meta Pixel & Co. zentral über GTM. Trotzdem sollen diese Dienste einzeln als Kachel im Cookie-Banner auswählbar bleiben, auch wenn Pixelmate selbst keinen eigenen Tracking-Code mehr ausgibt.

Dafür hat jede dieser Pixelmate-Integrationen eine Option "Wird über Google Tag Manager eingebunden": Google Analytics, Google Ads, Facebook Pixel, Matomo.

Aktivierst du diese Option:

  1. Pixelmate gibt für diesen Dienst keinen eigenen Tracking-Code mehr aus – das Tag bleibt vollständig deine Verantwortung in GTM.
  2. Die Kachel bleibt im Cookie-Banner und in den Cookie-Einstellungen einzeln wählbar, mit eigener Beschreibung und Kategorie-Zuordnung.
  3. Pixelmate sendet zusätzlich ein dediziertes Consent-Signal in den dataLayer, das du in GTM als eigenen Trigger für genau dieses Tag nutzen kannst.
Warum ein zusätzliches Signal?

Die Consent-Mode-Parameter fassen z. B. alle Marketing-Tags zusammen. Willst du GA4 schon bei Analyse-Zustimmung laden lassen, während Google Ads erst bei zusätzlicher Marketing-Zustimmung feuert, reicht der generische Wert nicht. Das dedizierte Signal liefert pro Dienst ein eigenes true/false für einen exakten, dienstspezifischen Trigger.

So sieht das Signal aus (nach jeder Consent-Entscheidung):

{
  event: 'pixelmate_consent_update',
  pixelmate_consent: {
    categories: { necessary: true, analytics: true, marketing: false, external: false },
    services: { google_analytics: true, google_ads: false, facebook_pixel: false, matomo: true },
    timestamp: 1751234567890
  }
}

So richtest du in GTM einen dedizierten Trigger ein

  1. Trigger anlegen: GTM → Trigger → Neu → Typ "Benutzerdefiniertes Ereignis" → Ereignisname: pixelmate_consent_update.
  2. Variable anlegen: GTM → Variablen → Neu → Typ "Datenschicht-Variable" → Name: pixelmate_consent.services.google_analytics (analog für andere Dienste).
  3. Trigger-Bedingung ergänzen: Variable aus Schritt 2 ist gleich true.
  4. Tag verknüpfen: Trigger dem jeweiligen Tag zuweisen (z. B. GA4-Konfigurationstag).
  5. Optional: Zusätzlich einen Trigger auf Basis von pixelmate_consent.categories.analytics bzw. .marketing verknüpfen, falls kategorie- statt dienstbasierte Steuerung reicht.

Testen im GTM Preview Mode: Consent-Entscheidung im Banner auslösen und im Tab "Variablen" prüfen, ob pixelmate_consent.services.<dienst> korrekt wechselt – bevor du den Container veröffentlichst.


GTM nicht doppelt einbinden

Wenn GTM in Pixelmate mit deiner Container-ID eingerichtet ist, darf der GTM-Snippet nicht zusätzlich manuell im Theme stehen – weder in header.php, noch in functions.php, noch über ein anderes Plugin. Doppelter Code bedeutet: GTM lädt zweimal, alle Tags feuern doppelt, Analyse-Daten sind unbrauchbar, Conversions werden doppelt gezählt. Hattest du GTM bisher manuell eingebunden, entferne diesen Code, bevor du die Pixelmate-Integration aktivierst.


FAQ zu Google Tag Manager DSGVO-konform in WordPress

Häufige Fragen zur DSGVO-konformen GTM-Einrichtung mit Pixelmate.

Ist Google Tag Manager überhaupt DSGVO-konform nutzbar?

Ja – wenn er zusammen mit Consent Mode v2 eingebunden wird und der Container erst nach entsprechender Einwilligung lädt (Basic Mode). Ohne Consent Mode v2 ist der Einsatz von Google-Tags seit März 2024 nicht mehr konform.

Brauche ich GTM oder reicht die native GA4-Integration?

Willst du nur Google Analytics 4 einbinden, reicht die native GA4-Integration in Pixelmate – sie ist einfacher und fehlerärmer. GTM lohnt sich erst, wenn mehrere Tools (Ads, Facebook Pixel u. a.) oder benutzerdefinierte Events verwaltet werden sollen.

Muss ich den GTM-Code manuell in mein Theme einbauen?

Nein. Pixelmate injiziert den Code automatisch, sobald die Container-ID eingetragen ist. Ein zusätzlicher manueller Einbau führt zu doppeltem Laden.

Basic Mode oder Advanced Mode – was soll ich wählen?

Für die meisten Websites: Basic Mode. Er lädt Tags erst nach Consent und ist rechtlich die sicherste Variante. Advanced Mode liefert genauere Daten, ist aber rechtlich anspruchsvoller und nur mit Rechtsberatung empfehlenswert.

Wie lange dauert die Einrichtung?

Die Grundeinrichtung in Pixelmate dauert in der Regel 10–15 Minuten, sofern die GTM Container-ID bereits vorliegt.

Wie prüfe ich, ob GTM wirklich erst nach Consent lädt?

Öffne die Website, drücke F12, filtere im Network-Tab nach "googletagmanager" und lade die Seite neu. Ohne Zustimmung sollte kein Request erscheinen. Erst nach Klick auf "Alle akzeptieren" sollte gtm.js auftauchen.

Weiterführende Einrichtung

Hinweis: Diese Dokumentation wurde mit größter Sorgfalt erstellt, ersetzt aber keine Rechtsberatung. Konsultiere einen Datenschutzbeauftragten oder Anwalt für rechtsverbindliche Aussagen zur DSGVO-Konformität deiner Website.

Inhalt