SC ShopCompliance
Im App Store öffnen
← Alle Beiträge
DSGVOCookie ConsentShopifyGoogle Tag Manager

Cookie-Consent-Kategorien & Tag-Steuerung in Shopify

16. Juli 2026 · Max Benz

Ein Cookie-Banner allein sorgt noch nicht dafür, dass abgelehnte Tags wirklich stumm bleiben. Dieser Beitrag setzt voraus, dass dein Shopify Shop bereits einen Banner hat, egal ob den nativen Shopify-Banner oder eine Consent Management Platform, und zeigt, was danach passiert: wie eine Consent-Kategorie technisch zu einem Signal wird und wie du dieses Signal in Google Tag Manager so verdrahtest, dass Analyse- und Marketing-Tags wirklich nur mit Einwilligung feuern. Wer noch keinen Banner eingerichtet hat, findet die komplette Anleitung im Beitrag Cookie-Banner und Consent-Management in Shopify einrichten. Hier geht es um Consent-Kategorien im Zusammenspiel mit GTM-Triggern und um die konkrete Tag-Steuerung, die viele Shops nach der Banner-Einrichtung schlicht vergessen.

Die Kurzfassung vorweg: Eine Consent-Kategorie wie “Marketing” ist für sich genommen nur eine Checkbox im Banner. Mehr nicht. Erst wenn du diese Kategorie mit einem GTM-Trigger verknüpfst und diesen Trigger als Blockierbedingung an deinen Tags hinterlegst, wird aus der Einwilligung eine echte Sperre. Viele Shopify-Händler richten den Banner ein, verpassen aber genau diesen zweiten Schritt, und ihre Marketing-Pixel feuern munter weiter, egal was der Besucher ausgewählt hat.

Sobald ein Besucher im Banner eine Auswahl trifft, muss diese Entscheidung irgendwo landen, wo Google Tag Manager sie lesen kann. In der Praxis läuft das über vier Schritte: Die Consent-Kategorie wird zu einem Signal im dataLayer, GTM liest dieses Signal über eine Variable aus, ein Trigger prüft den Zustand dieser Variable, und erst dieser Trigger entscheidet, ob ein Tag feuert oder blockiert bleibt.

Diagramm: Consent-Kategorie wird über dataLayer-Signal und GTM-Trigger zur Tag-Entscheidung

Das folgende Schema zeigt diese Kette von der Kategorie bis zur Tag-Entscheidung. Jede Station kann brechen. Fehlt das dataLayer-Signal, hat GTM nichts zu lesen. Fehlt die Variable, kann der Trigger den Zustand nicht prüfen, und fehlt die Verknüpfung am Tag selbst, feuert der Tag unabhängig vom Consent-Status weiter. Die folgenden Abschnitte gehen jede dieser Stationen einzeln durch.

Bevor du Trigger baust, solltest du wissen, welches technische Signal hinter welcher Kategorie steht. Das ist der Kern. Shopify und die meisten CMPs unterscheiden zwischen drei bis vier Kategorien, aber nur zwei davon brauchen wirklich eine Consent-Prüfung in GTM.

Statistik-Cookies und das Analytics-Signal

Statistik- oder Analyse-Cookies decken Tools wie Google Analytics 4 ab. Google selbst spricht hier vom Signal analytics_storage, das über den Consent Mode gesetzt wird. Praktisch heißt das: Dein Banner setzt bei Ablehnung dieser Kategorie ein entsprechendes Flag im dataLayer, und GTM muss dieses Flag lesen können, bevor ein Analytics-Tag feuert.

Marketing-Cookies und die Werbe-Signale

Marketing-Cookies betreffen Meta Pixel, TikTok Pixel, Google Ads und ähnliche Remarketing-Dienste. Hier wird es technisch etwas dichter. Für Googles eigene Tags gibt es gleich drei relevante Signale: ad_storage für das Setzen von Werbe-Cookies, ad_user_data für die Übermittlung von Nutzerdaten an Google-Werbedienste und ad_personalization für personalisierte Werbung. Diese drei Signale bilden zusammen mit analytics_storage den vollständigen Consent Mode v2. Google verlangt ihn seit 2024 von allen Werbetreibenden in der EU. Für Drittanbieter-Pixel wie Meta oder TikTok gibt es dagegen kein eingebautes Consent-Mode-Äquivalent, deshalb musst du diese Tags manuell über einen Trigger an die Marketing-Kategorie binden.

Die Einwilligung für Marketing Cookies ist damit der Dreh- und Angelpunkt für die meisten Shopify-Shops, weil hier die größte Zahl an Drittanbieter-Skripten hängt und weil eine fehlerhafte Zuordnung am schnellsten auffällt, etwa wenn ein Retargeting-Pixel trotz Ablehnung weiter Daten sendet.

Funktionale und notwendige Cookies

Funktionale und technisch notwendige Cookies, etwa der Warenkorb-Cookie oder Login-Session-Cookies, brauchen in der Regel keine Consent-Prüfung in GTM. Sie dürfen ohnehin ohne Einwilligung gesetzt werden. Eine Ausnahme gibt es trotzdem: erweiterte Funktions-Cookies, etwa für eingebettete Videos oder Chat-Widgets, die manche CMPs als eigene Kategorie führen. Prüfe im Zweifel, ob dein Tool tatsächlich technisch notwendig ist oder nur bequem, denn nur echte Notwendigkeit rechtfertigt das Fehlen einer Consent-Prüfung.

Kategorien mit GTM-Triggern verknüpfen: Schritt für Schritt

Mit dem technischen Hintergrund aus dem letzten Abschnitt lässt sich die eigentliche Verdrahtung in fünf Schritten umsetzen.

Öffne die Entwicklerkonsole deines Browsers auf deinem Shop und beobachte den dataLayer, während du im Banner eine Kategorie akzeptierst oder ablehnst. Das dauert nur wenige Minuten. Der native Shopify-Banner und die meisten CMPs pushen bei jeder Entscheidung ein Event in den dataLayer, oft mit einem Namen wie consent_update oder einem CMP-spezifischen Event-Namen. Notiere dir den exakten Event-Namen und die Struktur des mitgesendeten Objekts, denn genau diese beiden Angaben brauchst du für die nächsten Schritte.

Lege in GTM unter Variablen eine neue benutzerdefinierte Variable vom Typ “Datenebenenvariable” an. Als Namen der Datenebenenvariable trägst du den Pfad zum Kategorie-Flag ein, zum Beispiel consent.marketing oder consentPreferences.analytics, je nachdem wie dein Banner das Objekt aufbaut. Nenne die GTM-Variable selbst konsequent, etwa DLV - Consent Marketing, damit du bei mehreren Kategorien nicht durcheinanderkommst.

Schritt 3: Trigger auf Basis der Variable erstellen

Erstelle einen neuen Trigger vom Typ “Benutzerdefiniertes Ereignis” mit dem Event-Namen aus Schritt 1. Füge eine Bedingung hinzu, die prüft, ob deine neue Datenebenenvariable gleich true beziehungsweise granted ist, je nachdem welchen Wert dein Banner sendet. Dieser Trigger feuert damit nur dann, wenn das Consent-Event ausgelöst wird und die passende Kategorie zugestimmt hat.

Schritt 4: Trigger als Blockierbedingung am Tag hinterlegen

Öffne den Tag, den du steuern willst, etwa dein Meta-Pixel- oder GA4-Tag, und ersetze den bisherigen Auslöser “Alle Seiten” durch deinen neuen Consent-Trigger. Zusätzlich kannst du in den erweiterten Einstellungen des Tags unter “Zusätzliche Einwilligungsprüfungen” die passenden Consent-Typen eintragen, damit das Tag zusätzlich zur Trigger-Bedingung auch die eingebaute Consent-Prüfung von GTM respektiert. Diese doppelte Absicherung verhindert, dass ein Tag durch einen zweiten, unabhängig konfigurierten Trigger versehentlich doch feuert.

Schritt 5: Trigger über mehrere Tags derselben Kategorie wiederverwenden

Sobald der Trigger für eine Kategorie steht, kannst du ihn an jedem weiteren Tag derselben Kategorie wiederverwenden, statt jedes Mal eine neue Datenebenenvariable und einen neuen Trigger zu bauen. Ein Marketing-Trigger lässt sich so an Meta Pixel, TikTok Pixel und Google Ads Remarketing gleichzeitig hinterlegen. Achte darauf, dass Tags mit einem eigenen Business-Trigger, etwa ein Kauf-Event, den Consent-Trigger als zusätzliche Bedingung über eine Trigger-Gruppe erhalten, weil mehrere Trigger an einem Tag sonst als Oder-Verknüpfung wirken und die Consent-Prüfung dadurch wirkungslos wird.

Tag-Blocking testen: Feuert der Tag wirklich nur mit Einwilligung?

Eine Verdrahtung, die du nicht getestet hast, ist eine Vermutung. Die folgenden zwei Methoden ergänzen sich, weil die erste die GTM-Logik selbst prüft und die zweite unabhängig davon zeigt, was tatsächlich im Netzwerk passiert.

Entscheidungsdiagramm: Consent für eine Kategorie erteilt oder abgelehnt, Tag feuert oder wird blockiert

Das folgende Schema fasst die Entscheidungslogik zusammen, die dein Trigger für jede Kategorie abbilden muss.

GTM-Vorschau-Modus und Tag Assistant

Starte im GTM-Container die Vorschau und öffne deinen Shop in dem sich öffnenden Debug-Fenster. Lehne im Banner zunächst alle nicht notwendigen Kategorien ab und prüfe im Tag Assistant unter “Tags nicht ausgelöst”, ob genau die Tags dort auftauchen, die du blockieren wolltest. Akzeptiere anschließend alle Kategorien neu und lade die Seite erneut, um zu bestätigen, dass dieselben Tags jetzt unter “Tags ausgelöst” erscheinen. Klickst du auf ein einzelnes Tag, zeigt dir die Detailansicht, welcher Trigger gefeuert hat und ob eine zusätzliche Einwilligungsprüfung den Tag zurückgehalten hat.

Netzwerk-Tab-Check im Browser

Der Tag Assistant zeigt dir die GTM-interne Logik, aber nicht zwingend, ob ein Drittanbieter-Skript trotzdem eine Netzwerkanfrage abschickt. Öffne dazu die Entwicklertools deines Browsers, wechsle zum Netzwerk-Tab und filtere nach dem Namen des jeweiligen Dienstes, etwa facebook für das Meta-Pixel oder collect für Google-Analytics-Anfragen. Lehnst du die Marketing-Kategorie ab und lädst die Seite neu, darf in diesem Filter keine neue Anfrage an den blockierten Dienst auftauchen. Bei Google-Tags kannst du zusätzlich den Parameter gcs in der Anfrage-URL prüfen, der den aktuellen Consent-Status im Format G1xy codiert und dir unabhängig vom GTM-Interface bestätigt, welcher Consent-Zustand tatsächlich übertragen wurde.

Die häufigsten Fehler bei der Tag-Steuerung nach Kategorie

Diese vier Fehler tauchen in der Praxis am häufigsten auf, wenn eine Consent-Kategorie zwar im Banner existiert, die dazugehörige Tag-Steuerung aber nicht sauber funktioniert.

Tags feuern, bevor der Consent-Status überhaupt gesetzt ist. Das passiert meist, weil ein Tag noch auf dem alten Auslöser “Alle Seiten” steht oder weil der GTM-Container vor dem Consent-Skript im Head der Seite geladen wird. Prüfe die Ladereihenfolge und ersetze jeden verbliebenen “Alle Seiten”-Auslöser bei nicht notwendigen Tags konsequent durch den passenden Consent-Trigger.

Ein Tag ist der falschen Kategorie zugeordnet. Ein Retargeting-Pixel, das versehentlich unter “Funktional” statt “Marketing” läuft, feuert weiter, selbst wenn der Besucher Marketing-Cookies klar abgelehnt hat. Gehe deine Tag-Liste in GTM einmal komplett durch und gleiche jede Zuordnung mit der tatsächlichen Funktion des Dienstes ab, nicht mit der Kategorie, die zufällig am wenigsten Ablehnungen bekommt.

Die Kategorienamen deiner CMP stimmen nicht mit den GTM-Variablen und Triggern überein. Manche Consent-Tools nennen eine Kategorie im Banner “Marketing”, senden im dataLayer aber ein Feld namens advertising oder ads. Wenn deine Datenebenenvariable auf den falschen Pfad zeigt, liefert sie dauerhaft keinen Wert, und der Trigger feuert entweder nie oder immer, je nachdem wie du die Bedingung formuliert hast. Kontrolliere den exakten Feldnamen im dataLayer selbst und übernimm ihn wortgetreu in die Variable, statt dich auf die Beschriftung im Banner zu verlassen.

Bei Google-Tags fehlen einzelne Consent-Mode-v2-Signale. Setzt du zwar ad_storage, vergisst aber ad_user_data oder ad_personalization, verarbeitet Google Ads die Einwilligung nur teilweise, was zu inkonsistenten Conversion-Daten führt. Prüfe im Consent-Mode-Bereich deines Banners oder deiner Implementierung, ob wirklich alle vier Signale gesetzt werden, sobald eine Kategorie zugestimmt wird.

Ja, jede Kategorie braucht mindestens einen eigenen Trigger, weil GTM sonst nicht unterscheiden kann, ob ein Besucher Analyse- oder Marketing-Cookies zugestimmt hat. Du kannst denselben Trigger anschließend an beliebig vielen Tags derselben Kategorie wiederverwenden.

Reicht die Vorschau im GTM-Debug-Fenster als alleiniger Test aus?

Nein, der Tag Assistant zeigt nur die interne GTM-Logik und nicht zwingend, ob ein Drittanbieter-Skript außerhalb von GTM trotzdem eine Anfrage abschickt. Ergänze den Test deshalb immer um einen Blick in den Netzwerk-Tab deines Browsers, um die tatsächlich abgeschickten Anfragen zu sehen.

Was passiert, wenn eine Kategorie im Banner existiert, aber keinem GTM-Trigger zugeordnet ist?

Ohne zugeordneten Trigger bleibt die Consent-Entscheidung des Besuchers für GTM unsichtbar, und die betroffenen Tags laufen weiter nach ihrem bisherigen Auslöser, meist “Alle Seiten”. Das ist der häufigste Grund dafür, dass ein Shop trotz korrekt aussehendem Banner weiterhin Tracking-Anfragen ohne Einwilligung verschickt.

Unterstützt der native Shopify-Banner diese Art der Tag-Steuerung?

Der native Shopify-Banner sendet Consent-Signale in den dataLayer und unterstützt Google Consent Mode für Google-eigene Tags, deckt aber nur eine kategoriebasierte Einwilligung ab. Details zur Einrichtung und den Grenzen des nativen Banners findest du oben verlinkt; die Trigger-Verdrahtung aus diesem Artikel funktioniert unabhängig davon, ob du den nativen Banner oder eine spezialisierte CMP einsetzt.

Wie oft sollte ich die Tag-Steuerung nach Kategorie überprüfen?

Prüfe die Zuordnung jedes Mal, wenn du eine neue App installierst, die Cookies oder Tracking-Pixel setzt, weil neue Tags standardmäßig ohne Consent-Trigger angelegt werden. Ein vierteljährlicher Durchlauf durch den Tag Assistant und den Netzwerk-Tab deckt zusätzlich Fehler auf, die durch App-Updates oder geänderte CMP-Feldnamen entstanden sind.

EU-Pflichten automatisch im Shop erfüllen

ShopCompliance ermittelt per Quiz, welche Pflichten für dich gelten, und spielt sie automatisch an deinen Produkten aus. Kostenlos starten.

Module & Preise ansehen

Dieser Beitrag dient der allgemeinen Information und ersetzt keine Rechtsberatung. Für deinen Einzelfall wende dich bitte an eine Rechtsanwältin oder einen Rechtsanwalt.