> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pandectes.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Google Tag Gateway (GTG) und Einwilligung

### 1. Was Google Tag Gateway ist und warum es für die Einwilligung wichtig ist

Mit Google Tag Gateway (GTG) liefert eine Website Google-Tags, also das Google-Tag (`gtag.js`) oder einen Container des Google Tag Manager (GTM), über die **eigene First-Party-Domain** aus statt über eine Google-Domain wie `www.googletagmanager.com`. Das Google-Tag wird von Ihrer Domain geladen, und die Messanfragen gehen an Ihre Domain, die sie an Google weiterleitet. Ziel sind eine robustere Messung und eine First-Party-Datenverarbeitung. In Shopify-Shops wird GTG meist über eine CDN-Integration oder eine Performance-App von Drittanbietern aktiviert, oft ohne dass der Händler es bemerkt.

**Auswirkung auf die Einwilligung: das Problem der Ladereihenfolge.** GTG lässt sich grundsätzlich auf zwei Wegen aktivieren:

* **Ein-Klick-CDN-Einbindung** (etwa über die Integrationen von Cloudflare, Akamai oder Fastly). Dabei bindet GTG das Google-Tag oder den GTM-Container **ganz oben auf der Seite ein, noch vor allen anderen Skripten**.
* **Manuelle Einrichtung**, bei der Sie den Verweis auf das GTG-Skript selbst an einer von Ihnen gewählten Stelle im Quelltext platzieren.

Bei der **Ein-Klick-CDN-Einbindung verliert der Kunde in der Regel die Kontrolle über die Ladereihenfolge.** Da GTG das Google-Tag zuerst lädt, kann es ausgelöst werden, **bevor `pandectes-rules.js` laufen konnte**, also das Pandectes-Skript, das beim Seitenaufruf den Standard-Einwilligungsstatus setzt. Liest oder feuert ein Tag, bevor ein Standardwert gesetzt wurde, meldet das Google-Werkzeug ein **"verspätetes" Einwilligungssignal** ("a tag read consent state before a default was set"). Die praktischen Folgen sind Messverluste, Diagnosewarnungen und, in Opt-in-Regionen wie dem EWR, dem Vereinigten Königreich und der Schweiz, eine mögliche Compliance-Lücke, weil das Tag gehandelt haben kann, bevor der Einwilligungsstatus des Nutzers bekannt war.

Das ist der entscheidende Zusammenhang: **GTG verändert, *wann* Google-Tags im Verhältnis zu Ihrem Einwilligungsbanner laden, und bei der Ein-Klick-CDN-Einbindung lässt sich dieser Zeitpunkt aus dem Quelltext heraus oft nicht mehr steuern.**

### 2. Weiterführende Google-Dokumentation

Die maßgeblichen Google-Quellen zu diesem Artikel:

* **Google Tag Gateway for Advertisers Overview:** [https://developers.google.com/tag-platform/tag-manager/gateway](https://developers.google.com/tag-platform/tag-manager/gateway)
* **Set up Google Tag Gateway (einschließlich manueller Einrichtung, bei der Sie die Skriptreihenfolge steuern):** [https://developers.google.com/tag-platform/tag-manager/gateway/setup-guide](https://developers.google.com/tag-platform/tag-manager/gateway/setup-guide)
* **Set up Google Tag Gateway in Google Tag Manager with Cloudflare (Tag Manager Help):** [https://support.google.com/tagmanager/answer/16061641](https://support.google.com/tagmanager/answer/16061641)
* **Consent mode overview:** [https://developers.google.com/tag-platform/security/concepts/consent-mode](https://developers.google.com/tag-platform/security/concepts/consent-mode)
* **About consent mode (Tag Manager Help):** [https://support.google.com/tagmanager/answer/10000067](https://support.google.com/tagmanager/answer/10000067)
* **Data transmission controls (Tag Manager Help):** [https://support.google.com/tagmanager/answer/16054531](https://support.google.com/tagmanager/answer/16054531)
* **Set up consent mode on websites (Advanced Consent Mode für selbst verwaltete Banner):** [https://developers.google.com/tag-platform/security/guides/consent](https://developers.google.com/tag-platform/security/guides/consent)
* **Verify your Google tag (Tag Manager Help):** [https://support.google.com/tagmanager/answer/15756111](https://support.google.com/tagmanager/answer/15756111)

### Weiterführende Pandectes-Dokumentation

Die in diesem Artikel genannten Pandectes-Quellen:

* **Die Google-Consent-Mode-Integration nutzen (Einrichtungsanleitung):** [https://help.pandectes.io/en/article/using-google-consent-mode-integration-1xkfv6o/](https://help.pandectes.io/en/article/using-google-consent-mode-integration-1xkfv6o/)
* **Pandectes GDPR Compliance tag template for Google Tag Manager:** [https://pandectes.io/pandectes-gdpr-compliance-tag-template-for-the-google-tag-manager/](https://pandectes.io/pandectes-gdpr-compliance-tag-template-for-the-google-tag-manager/)
* **Einrichtungsanleitung für Integrationen (manuelle Einrichtung von `pandectes-rules.js`):** [https://help.pandectes.io/en/article/integrations-setup-guide-2ovcos/](https://help.pandectes.io/en/article/integrations-setup-guide-2ovcos/)
* **Debug-Konsole für den Google Consent Mode:** [https://help.pandectes.io/en/article/gcm-debug](https://help.pandectes.io/en/article/gcm-debug)

### 3. So prüfen Sie, ob ein Tag über GTG läuft

Es gibt zwei verlässliche Wege, eine GTG-Nutzung zu bestätigen. **Pandectes GDPR Compliance erkennt eine GTG-Nutzung nicht automatisch**, prüfen Sie es daher selbst mit einer der folgenden Methoden.

**Methode A: Den GTG-Status im Google Tag Manager prüfen.**
*Diese Methode gilt, wenn Sie den Google Tag Manager verwenden.* Gehen Sie in Ihrem GTM-Container zu **Admin → Google tag gateway**. Jede Ihrer Domains wird mit einem Status aufgeführt:

* **First-party**: Google Tag Gateway ist für diese Domain aktiv.
* **Not started**: GTG wurde nicht aktiviert.
* **Paused**: GTG ist aktiviert, derzeit aber pausiert.
* **Pending**: GTG ist aktiviert, es liegen jedoch noch keine Diagnosedaten vor.

Der Status **First-party** bestätigt, dass die Domain über GTG läuft.

**Methode B: Mit dem Tag Assistant prüfen, von wo das Skript ausgeliefert wird.**
Öffnen Sie den Google Tag Assistant ([https://tagassistant.google.com](https://tagassistant.google.com)), geben Sie die URL Ihrer Website ein und verbinden Sie sich. Navigieren Sie durch Ihre Website, damit die Tags auslösen, und prüfen Sie die erkannten Tags. Wird ein Google-Skript von **Ihrer eigenen Domain** ausgeliefert (etwa `ihrshop.com/...`) statt von `www.googletagmanager.com` oder `www.google-analytics.com`, nutzt Ihre Website GTG.

### 4. Wenn ein verspätetes Einwilligungssignal erkannt und GTG bestätigt ist

**Bestätigen Sie zunächst das verspätete Einwilligungssignal.** Prüfen Sie mit den Debug-Werkzeugen von Google, ob ein Tag die Einwilligung liest, bevor ein Standardwert gesetzt wurde:

* **Fehlersuche im Consent Mode mit der Debug-Konsole von Pandectes GDPR Compliance:** [https://help.pandectes.io/en/article/gcm-debug](https://help.pandectes.io/en/article/gcm-debug)
* **Troubleshoot consent mode (Tag Manager Help):** [https://support.google.com/tagmanager/answer/14522438](https://support.google.com/tagmanager/answer/14522438)
* **Troubleshoot consent mode with Tag Assistant (developers):** [https://developers.google.com/tag-platform/security/guides/consent-debugging](https://developers.google.com/tag-platform/security/guides/consent-debugging)

Ein verspätetes Signal erscheint meist als Warnung, dass **ein Tag den Einwilligungsstatus gelesen hat, bevor ein Standardwert gesetzt wurde**, oder dass die Standardwerte zu spät im Seitenablauf angewendet wurden.

**Ist ein verspätetes Einwilligungssignal erkannt *und* die GTG-Nutzung bestätigt (siehe Abschnitt 3), wählen Sie einen der folgenden Wege zur Behebung.** Konfigurieren Sie jede Einstellung **nach Ihren eigenen Anforderungen**, also nach Ihren Regionen, Ihrer Datenschutzerklärung und den für Sie geltenden Vorschriften.

> **Unsicher, welche Option passt?** Nutzen Sie den GTM überhaupt nicht, ist **Option 1** der schnellste Weg. Verwalten Sie Ihre Google-Tags bereits über den GTM, bietet **Option 2** die vollständigste Lösung. Möchten Sie Ihre bestehende Konfiguration behalten und nur die Ladereihenfolge korrigieren, wählen Sie **Option 3**.

##### Option 1 (empfohlen): Den Advanced Consent Mode (U+C) einsetzen

Aktivieren Sie die Google-Consent-Mode-Integration in Pandectes GDPR Compliance unter **[Integrations → Google Consent Mode]**. Im **Advanced Consent Mode**, auch **U+C** ("Update + Consent") genannt, dürfen Google-Tags laden und einen Standard-Einwilligungsstatus setzen (in Opt-in-Regionen üblicherweise **denied**), senden bei verweigerter Einwilligung nur begrenzte, cookielose Messdaten und wechseln zur vollständigen Messung, sobald der Nutzer einwilligt. Da damit die Abhängigkeit davon entfällt, dass der Banner *vor* dem Tag lädt, ist dies der richtige Weg, wenn GTG die Ladereihenfolge bestimmt.

Legen Sie anschließend im jeweiligen Google-Produkt, in dem das Tag konfiguriert ist (Google Ads, Google Analytics oder Campaign Manager 360 / GTM), **nach Ihrem Bedarf** Folgendes fest:

* **Data Transmission Controls:** Beschränken Sie unabhängig davon, was Google-Tags bei verweigerter Einwilligung übertragen (Werbedaten, Verhaltensanalysen und Diagnosedaten).
* **Global Consent Defaults:** Legen Sie den Standard-Einwilligungsstatus (granted oder denied) je Einwilligungstyp (`ad_storage`, `ad_user_data`, `ad_personalization`, `analytics_storage`) und je Region fest. Damit haben Sie einen Ausgangswert, selbst wenn Sie nicht garantieren können, dass der CMP-Stub zuerst lädt.

##### Option 2: Alles in einem GTM-Container bündeln und den GTM über GTG ausliefern

Verschieben Sie **alle** Ihre Google-Tags in einen einzigen Container des Google Tag Manager und liefern Sie **diesen GTM-Container** über GTG aus. Durch die Bündelung im GTM gelten dessen eingebaute Einwilligungsprüfungen für jedes Tag im Container, sodass die Einwilligungsverarbeitung unter GTG wieder einheitlich funktioniert.

Damit die Einwilligungssignale von Pandectes jedes Tag im Container erreichen, installieren Sie die Tag-Vorlage **Pandectes GDPR Compliance by Pandectes** aus der GTM Template Gallery und konfigurieren Sie sie auf den Trigger **"Consent Initialization – All Pages"**. So erhält der GTM den korrekten Einwilligungsstatus von Pandectes, bevor ein Tag ausgelöst wird.

##### Option 3: GTG manuell einrichten, um die Reihenfolge selbst zu steuern

Konfigurieren Sie GTG statt über die Ein-Klick-CDN-Einbindung **manuell** und platzieren Sie den Verweis auf das GTG-Skript selbst in Ihrer `theme.liquid`, und zwar **nach** dem Skript `pandectes-rules.js` (damit die Standardwerte zuerst gesetzt werden) und vor den übrigen Google-Tags. Das Skript `pandectes-rules.js` ist der Pandectes-Stub, der beim Seitenaufruf die Standardwerte setzt. Es muss zuerst stehen, damit GTG den Einwilligungsstatus nicht lesen kann, bevor die Standardwerte gesetzt sind. Die manuelle Einrichtung gibt Ihnen die Kontrolle über die Ladereihenfolge zurück.

### 5. Warum der Advanced Consent Mode (U+C) für GTG-Tags empfohlen wird

Für Tags, die über GTG ausgeliefert werden, ist der **Advanced Consent Mode (U+C) der empfohlene Mechanismus**. Anders als der Basic Consent Mode, der darauf angewiesen ist, dass das Einwilligungssignal *vor* dem Auslösen des Tags eintrifft, lässt der Advanced Consent Mode das Tag mit einem Standard-Einwilligungsstatus laden und aktualisiert es, sobald der Nutzer entschieden hat. Damit entfällt die Abhängigkeit vom Ladezeitpunkt vollständig.

Genau deshalb ist **U+C mit der manuellen GTG-Einrichtung kompatibel** und für GTG-Tags der empfohlene Weg: Es funktioniert korrekt, **unabhängig davon, ob Sie die Reihenfolge der Skripte steuern können**. Selbst wenn GTG das Google-Tag zuerst einbindet (wie bei der Ein-Klick-CDN-Einbindung), sorgt U+C dafür, dass ein Standard-Einwilligungsstatus gilt und die Messung datenschutzfreundlich bleibt, bis die Entscheidung des Nutzers vorliegt. Zusammen mit den Data Transmission Controls und den Global Consent Defaults bleibt die Messung auch bei verweigerter Einwilligung funktionsfähig, ohne von der Ladereihenfolge abzuhängen.

*Zuletzt geprüft: Juni 2026. Prüfen Sie die verlinkten Google-Hilfe- und Entwicklerseiten vor jedem Rezertifizierungszyklus auf Änderungen.*