Warum ist Consent Mode v2 entscheidend?

  • Kurz gesagt: Ohne Consent Mode v2 funktionieren bestimmte Funktionen für Google Analytics 4 und Google Ads möglicherweise nicht korrekt. Remarketing-Zielgruppen und Ähnliches werden dann eventuell nicht erstellt. Dies betrifft heute auch weitere Tools wie Sklik oder Microsoft Clarity.
  • Was Consent Mode V2 bringt: Notwendige Parameter wie ad_storage, analytics_storage, functionality_storage, personalization_storage, security_storage und neu die obligatorischen Parameter ad_user_data und ad_personalization.
  • Wir besprechen kurz eine Methode, wie Sie CMV2 unabhängig vom Cookie-Banner implementieren können.

Disclaimer: Ich bin kein spezialisierter Webanalyst; betrachten Sie diese Ratschläge daher mit Vorbehalt, da Ungenauigkeiten auftreten können. Zudem erfordert jede Situation eine individuelle Bewertung und unterschiedliche Ansätze (aus Erfahrung).


 

Problem: Nicht nur auf den Data Layer verlassen

  • Gängige Implementierung: Cookie-Banner (z. B. Complianz, Cookiebot, OneTrust) senden den Einwilligungsstatus an den Data Layer (mittels gtag() Funktion oder dataLayer.push()).
  • Hürden: Latenz, falsche Formatierung oder – wie im Fall der kostenlosen Version von Complianz – es werden keine Einwilligungsdaten gesendet, was die korrekte Ausführung von CMV2 verhindert.
  • Mögliche Lösung: Extraktion des Einwilligungsstatus direkt von der Quelle – aus dem Cookie, das vom Cookie-Banner gesetzt wird.

 

GTM-Implementierung: Cookie-Parsing

1. Cookie identifizieren und extrahieren

  • Erster Schritt: Wir ermitteln, welches Cookie und in welchem Format das gewählte Cookie-Banner den Einwilligungsstatus des Nutzers speichert (z. B. cc_cookie). Dies lässt sich beispielsweise über die Entwicklertools (Kürzel F12) in Chrome im Bereich Application herausfinden.
  • Erstellung einer GTM-Variable für das Cookie (1st Party Cookie):
    • Wählen Sie in GTM den Variablentyp: 1st Party Cookie.
    • Geben Sie den genauen Namen des Cookies an (z. B. cc_cookie). Diese Variable gibt den gesamten Inhalt des Cookies zurück.

 

2. Parsing der Einwilligungswerte

  • Die meisten Cookie-Banner speichern Daten in einem komplexen Format (z. B. JSON oder eine Zeichenfolge mit Trennzeichen).
  • Erstellung einer GTM-Variable für das Parsing (Custom JavaScript Variable):
    • Diese Variable enthält Code, der:
      1. Den Wert aus der in Schritt 1 erstellten Cookie-Variable abruft.
      2. Diese Zeichenfolge/JSON parst und den spezifischen Status für die einzelnen Kategorien extrahiert (z. B. analytics und ads).
      3. Den Wert ‘granted’ oder ‘denied’ für jede Kategorie zurückgibt.
  • Unten finden Sie ein Beispiel für die Werbekategorie, die wir in CMV2 als ad_storage klassifizieren können.
//Funktion zur Extraktion des Einwilligungsstatus des Nutzers aus dem Cookie-Banner
function () {
  var cookieValue = null;
  cookieValue = {{ConsentCookie}};
  if (cookieValue === undefined){
  return "denied"
  } else if (cookieValue.includes("marketing:true")) {
  return "granted"
  } else {
  return "denied"
  };}

 

Disclaimer: Lassen Sie sich nicht von einem AI-Chat vorschreiben, wie der Code für Ihren Fall aussehen soll. Er wird Fehler einbauen, da er den Kontext des Codes nicht kennt. 🙂

 

3. Mapping in die Consent Mode Vorlage von Simo Ahava

  • Verwendung von Simo Ahava’s Consent Mode v2 Template: Diese Vorlage ist für mich der Standard für eine zuverlässige Implementierung. Sie ermöglicht die Definition des Anfangszustands (“default”) und des Zustands nach der Aktualisierung (“update”). Hier verwenden wir die geparsten Werte aus Schritt 2.

 

  • Erstellung eines Custom Event Trigger: Wir benötigen einen Trigger, der so früh wie möglich beim Laden der Seite ausgelöst wird (z. B. Initialization).

 

4. “Update”-Status für CMV2 auslösen

  • Wann der Update-Status ausgelöst werden sollte: Das ist von Fall zu Fall unterschiedlich, aber normalerweise erfasse ich den Moment, in dem der Nutzer den Cookies zustimmt. Anschließend gebe ich dem System 400 ms Zeit, um den Inhalt des Cookies vom Consent-Banner zu aktualisieren, und erst dann löse ich die Vorlage für das “update” von CMV2 aus.

 

 

//Timer zur Verzögerung weiterer Trigger - erstellt das Event "consent_changed" im Data Layer
<script>
 (function() {
 // CHANGE THESE THREE:
 var eventName = 'consent_changed'; // The event name that is pushed into dataLayer
 var interval = 400; // The interval in milliseconds
 var limit = 1; // The number of times the timer fires
 // OTHER SETTINGS:
 var timerNumber = 1;
 var startTime = new Date().getTime();
 var fireTimer = function() {
 var timeNow = new Date().getTime();
 window.dataLayer.push({
 'event' : eventName,
 'custom.timerCurrentTime' : timeNow,
 'custom.timerElapsedTime' : timeNow - startTime,
 'custom.timerStartTime' : startTime,
 'custom.timerEventNumber' : timerNumber,
 'custom.timerId' : timerId,
 'custom.timerInterval' : interval,
 'custom.timerLimit' : limit
 });
 timerNumber += 1;
 if (limit < timerNumber) { 
 window.clearInterval(timerId);
 }
 };
 var timerId = window.setInterval(fireTimer, interval);
 })();
</script>
    • Nach Ablauf des Timers löse ich das “Update” beim Event “consent_changed” aus. Für dasselbe Event löse ich auch den Sklik RTG-Code erneut sowie weitere Codes aus, die beim ersten Mal blockiert oder mit einem anderen Consent-Signal gesendet worden sein könnten.

     

    Vorteil: Da wir das Cookie direkt lesen und parsen, informieren wir GTM sofort über den Einwilligungsstatus, sobald das Cookie verfügbar ist. Das ist schneller, als auf ein asynchrones dataLayer.push() vom Cookie-Banner zu warten. So gewährleisten wir maximale Zuverlässigkeit für die Zustände “Default” und “Update”.

    Nachteil: Wenn Sie das Cookie-Banner aktualisieren, müssen Sie Tests durchführen und sicherstellen, dass sich weder der Name noch die Struktur des Cookies, aus dem Sie die Daten beziehen, geändert haben.

     


    Fazit: Zuverlässigkeit und Speed für PPC

    • Diese Methode bietet eine höhere Zuverlässigkeit bei der Erfassung von Signalen für Consent Mode V2.
    • Einfluss auf PPC: Ein zuverlässiger Consent Mode V2 stellt sicher, dass Google Ads genügend Daten für das Conversion Modeling und eine effektive Optimierung der Bidding-Strategien hat, selbst wenn der Nutzer nicht allen Cookies zustimmt.
    • Empfehlung: Testen Sie die Implementierung immer mit dem GTM Preview Mode und dem Google Tag Assistant im Browser, um zu überprüfen, ob der Einwilligungsstatus sofort nach der Interaktion mit dem Cookie-Banner korrekt umschaltet (von denied auf granted).