Google Consent Mode v2 auf Shopify einrichten

Legen Sie Ihre Consent-Mode-Standardwerte mit „denied“ in theme.liquid oberhalb des Containers an und lassen Sie Ihr Banner die Auswahl des Besuchers beim selben Klick an zwei Stellen schreiben: in Google Consent Mode und in Shopifys eigene Customer Privacy API. Shopify betreibt nicht ein, sondern zwei Einwilligungssysteme. Binden Sie nur die Google-Hälfte an, feuern Ihre Custom Pixels weiter, egal was der Besucher gewählt hat.
Starten Sie mit einer Analyse.
Die kostenlose Analyse liest das HTML Ihrer Startseite und Ihren öffentlichen Tag-Manager-Container und listet die gefundenen Tracking-Tags auf.
Kostenlos · Ohne Registrierung · Prüft HTML und öffentlichen GTM-Container
Shopify hat zwei Einwilligungssysteme, und nur eines davon gehört Google
Die meisten Anleitungen zu diesem Thema erklären, wie Sie eine Consent-App aktivieren und einen Container einfügen. Ob das Setup hält, entscheidet sich aber an einer strukturellen Eigenheit von Shopify: Einwilligung wird an zwei getrennten Stellen durchgesetzt, die nichts voneinander wissen, solange Sie sie nicht verbinden.
Shopifys Customer Privacy API steuert, was die Plattform kontrolliert: Custom Pixels und App-Pixel. Nichts, was Sie in Google Tag Manager tun, kommt dort an. Sie hört auf genau eine Sache, Shopify.customerPrivacy.setTrackingConsent(), und bis jemand diese Methode aufruft, behält sie ihren bisherigen Zustand. Shopify dokumentiert die Methode in seiner Customer-Privacy-API-Referenz.
Google Consent Mode v2 steuert Ihre eigenen Tags: den Container in theme.liquid und alles, was er auslöst. Er hört auf gtag('consent', ...) und weiß nichts von der Customer Privacy API.
Es gibt also zwei Fehlerbilder. Binden Sie nur Consent Mode an, verhalten sich Ihre GA4- und Ads-Tags korrekt, während Custom Pixels und App-Pixel ungebremst weiterlaufen. Binden Sie nur die Shopify-Seite an, feuert Ihr eigener Container ohne jede Sperre. Eine Consent-App aus dem App Store deckt meist beides ab, deshalb ist dieser Weg einfacher. Eine ins Theme eingefügte CMP tut das nicht, solange Sie den Callback nicht selbst schreiben.
Hier sauber zu arbeiten, ist keine Kleinigkeit. Jeder Besucher, dessen Auswahl nur eines der beiden Systeme erreicht, wird entweder ohne Erlaubnis getrackt oder grundlos aus den Berichten entfernt. Wie viele Besucher in Ihrem Shop ablehnen, hängt von Ihren Regionen, Ihrer Zielgruppe und dem Design Ihres Banners ab. Ablesen können Sie es an der Einwilligungsrate in Ihrer CMP oder in Shopifys Customer-Privacy-Einstellungen.
Ein Klick auf das Banner muss in beide schreiben.
Shopify
Customer Privacy APISteuert Custom Pixels und App-Pixel, einschließlich des Checkout-Pixels.
Gesetzt übersetTrackingConsent()
Steuert den Container in theme.liquid und alles, was er auslöst: GA4, Google Ads, Meta.
Gesetzt übergtag('consent', 'update', ...)
Keines der Systeme liest das andere, und keines warnt Sie, dass das andere nie informiert wurde.
Wie richten Sie Consent Mode v2 auf Shopify ein?
Entscheiden, welches Banner die Auswahl verwaltet
Shopifys eigenes Banner unter Settings und dann Customer privacy oder eine CMP. Shopifys Banner schreibt für Sie in die Customer Privacy API, spricht aber kein Consent Mode. Sie müssen es also trotzdem mit Ihrem Container verbinden. Eine CMP, die als Shopify-App installiert ist, deckt meist beide Seiten ab. Eine, die als Skript ins Theme eingefügt wurde, deckt nur die Google-Seite ab, bis Sie den Callback ergänzen. Schritt sechs zeigt Ihnen, welche Hälften Ihre Lösung tatsächlich abdeckt.
„Denied“ als Standard oberhalb des Containers setzen
Ein Consent-Mode-Default-Befehl, der
ad_storage,analytics_storage,ad_user_dataundad_personalizationaufdeniedsetzt, platziert intheme.liquidvor dem Container-Snippet, nicht danach. Auf dieser Reihenfolge baut das ganze Setup auf: Ein Standardwert, der erst ankommt, nachdem der Container schon ein Tag ausgelöst hat, ist kein Standardwert mehr, sondern eine Korrektur, die zu spät kommt. Bedienen Sie Regionen außerhalb des EWR, legen Sie die Standardwerte pro Region fest, statt überall abzulehnen.Das Banner gehört ins Theme, nie in ein Custom Pixel
Custom Pixels laufen in einem Sandbox-iframe mit eigenem opakem Origin. Von dort aus kann ein Banner nicht in die Seite gerendert werden, und Cookies, die darin geschrieben werden, verhalten sich nicht wie First-Party-Cookies. Das Banner gehört in
theme.liquid, in den Hauptkontext der Seite, oberhalb des Containers.Die Auswahl beim selben Klick in beide Systeme schreiben
Senden Sie bei Zustimmung oder Ablehnung das Consent-Mode-Update und rufen Sie im selben Handler
Shopify.customerPrivacy.setTrackingConsent()mit den passenden Kategorien auf. Lassen Sie diese Hälfte weg, erfahren Custom Pixels und App-Pixel nie, dass der Besucher abgelehnt hat. Das ist die häufigste Lücke, die wir in Shopify-Shops finden, die sich für fertig halten.Auf die Auswahl im selben Seitenaufruf reagieren
Shopify löst ein
visitorConsentCollected-Event aus, wenn die Einwilligung gespeichert ist. Hören Sie darauf und wenden Sie den Zustand sofort an, statt auf die nächste Navigation zu warten. So wird ein Besucher, der auf der Kollektionsseite zustimmt, schon auf dieser Seite gemessen und nicht erst ab der nächsten.Im Live-Shop prüfen, beide Wege, und den Checkout separat
Nicht in der Vorschau. Auf dem Ablehnungsweg sollte Ihr GA4-Request trotzdem rausgehen, mit einem
gcs-Wert, der die Ablehnung zeigt, statt gar nicht gesendet zu werden. Custom Pixels sollten fehlen, und es sollten keine Werbe-Cookies gesetzt werden. Auf dem Zustimmungsweg sollte all das erscheinen. Wiederholen Sie dann die ganze Prüfung im Checkout, der in einer eigenen Sandbox läuft und sich anders verhalten kann als der Shop, den Sie gerade getestet haben.
Das Argument zur Reihenfolge ohne die Shopify-Details finden Sie unter Warum Tags feuern, bevor das Cookie-Banner lädt, und Basic oder Advanced Consent Mode sagt Ihnen schneller, welche Variante Sie am Ende betreiben, als ein Blick in Ihren eigenen Container.
Drei Dinge, die auf Shopify überraschen
„Pending“ heißt nicht zugestimmt. Bevor ein Besucher wählt, meldet die Customer Privacy API den Status „pending“. Eine Brücke, die alles außer einem ausdrücklichen Nein als Ja behandelt, leckt bei jedem ersten Seitenaufruf. Behandeln Sie „pending“ als „denied“.
Wiederkehrende Besucher aus der Zeit vor dem Banner sehen es womöglich nie. In einem Shop, in dem wir ein Shopify-Banner auf alle europäischen Regionen ausgeweitet haben, bekamen neue Besucher korrekt den Status „pending“ und das Banner. Wiederkehrende Besucher, die schon vor dem Banner im Shop unterwegs waren, galten dagegen weiter als „accepted“ und bekamen es nie zu sehen. Das ist das beobachtete Verhalten eines einzelnen Shops, keine dokumentierte Regel. Prüfen Sie es also in Ihrem Shop, bevor Sie eine Zustimmungsrate auswerten: In den ersten Wochen können sich zwei Gruppen vermischen.
Der Checkout ist eine andere Umgebung. Shopifys Checkout führt Pixel in diesem Sandbox-iframe aus, auf einem opaken Origin, auf dem Cookie-Schreibvorgänge Fehler werfen. Ein Setup, das im Shop perfekt funktioniert, kann im Checkout trotzdem Sitzungen ohne jeden Seitenkontext erzeugen. Das ist ein Messfehler, kein Einwilligungsfehler, fällt aber genau dann auf, wenn die Zahlen nicht mehr zusammenpassen.
Was Sie prüfen sollten, wenn die Zahlen weiter nicht stimmen
Untersuchen Sie die beiden Systeme getrennt, denn das Symptom verrät, welche Seite versagt hat. Feuern Custom Pixels nach einer Ablehnung weiter, wurde nie in die Customer Privacy API geschrieben: Schritt vier. Wird GA4 komplett still, statt Pings mit „denied“ zu senden, blockieren Ihre Standardwerte, ohne dass Consent Mode überhaupt aktiv ist: Schritt zwei. Werden Cookies schon vor jedem Klick gesetzt, lädt etwas oberhalb Ihrer Standardwerte, meist ein fest eingebautes Skript statt eines Container-Tags. Das ist eine Frage der Kategorisierung.
Velo erledigt beide Hälften mit einer einzigen Entscheidung: Das Banner sitzt im Theme, schreibt beim selben Klick in Consent Mode und die Customer Privacy API und gibt denselben Zustand an den Container weiter. So können die beiden Systeme nie unterschiedlicher Meinung darüber sein, was der Besucher gewählt hat.
Häufige Fragen
Was Leser zu diesem Thema fragen.
Wie richte ich Google Consent Mode v2 auf Shopify ein?
Setzen Sie die Consent-Mode-Standardwerte in theme.liquid oberhalb Ihres Containers auf „denied“, laden Sie Ihr Banner im Theme statt in einem Custom Pixel, und senden Sie beim Klick des Besuchers sowohl das Consent-Mode-Update als auch einen Aufruf von Shopifys setTrackingConsent. Shopify betreibt zwei Einwilligungssysteme: Die Customer Privacy API steuert Custom Pixels und App-Pixel, Consent Mode steuert die Tags in Ihrem Container. Wer nur in eines schreibt, lässt das andere mit dem Zustand weiterfeuern, den es ohnehin schon hatte. Prüfen Sie danach im Live-Shop beide Wege, Zustimmen und Ablehnen, und den Checkout separat, denn der Checkout läuft in einer eigenen Sandbox.
Unterstützt Shopifys eigenes Cookie-Banner Google Consent Mode v2?
Nicht von allein. Shopifys Banner schreibt die Auswahl des Besuchers in die Customer Privacy API, also auf die Plattformseite, und steuert damit korrekt Custom Pixels und App-Pixel. Ein Consent-Mode-Update sendet es nicht, die Tags in Ihrem eigenen Container bleiben davon also unberührt. Sie brauchen weiterhin eine Brücke, die auf die Einwilligungsentscheidung hört und das gtag-Consent-Update auslöst, oder eine Consent-App, die beide Hälften für Sie übernimmt.
Warum feuern meine Shopify Custom Pixels weiter, nachdem ein Besucher Cookies abgelehnt hat?
Weil Custom Pixels von Shopifys Customer Privacy API gesteuert werden, nicht von Google Consent Mode, und niemand eine Ablehnung dorthin geschrieben hat. Consent Mode reicht nicht bis in die Plattformebene. Was auch immer die Auswahl erfasst, muss beim selben Klick, der das Consent-Mode-Update sendet, setTrackingConsent mit den passenden Kategorien aufrufen. Bis das passiert, behält die Plattform ihren bisherigen Zustand, und „pending“ ist keine Ablehnung.
Warum erscheint das Cookie-Banner bei manchen wiederkehrenden Besuchern auf Shopify nicht?
In einem Shop, in dem wir ein Shopify-Banner auf alle europäischen Regionen ausgeweitet haben, galten Besucher, die schon vor dem Banner im Shop unterwegs waren, weiter als „accepted“ und bekamen es nie zu sehen. Neue Besucher erhielten dagegen korrekt den Status „pending“ und das Banner. Das ist das beobachtete Verhalten eines einzelnen Shops, keine dokumentierte Regel. Prüfen Sie es also in Ihrem Shop. Trifft es zu, vermischt eine Zustimmungsrate aus den ersten Wochen nach dem Start zwei Gruppen.
Website-Datenschutz, an einem Ort.
Website prüfen →
