Einwilligungsmodus auf Websites einrichten

Diese Seite richtet sich an Entwickler, die auf ihrer Website eine eigene Einwilligungslösung verwenden und den Einwilligungsmodus einbinden möchten. Eine Einführung in den Einwilligungsmodus finden Sie unter Einwilligungsmodus. Wenn Sie die Nutzereinwilligung über eine Plattform zur Einwilligungsverwaltung (Consent Management Platform, CMP) einholen, finden Sie hier weitere Informationen zum Einrichten des Einwilligungsmodus mit einer CMP.

Der Einwilligungsmodus kann sowohl grundlegend als auch komplex implementiert werden. Wählen Sie in den Richtlinien Ihres Unternehmens eine Implementierungsmethode und die Standardeinstellungen aus. Weitere Informationen zum einfachen und erweiterten Einwilligungsmodus

Hinweis

Vor dem Implementieren des Einwilligungsmodus bitte Folgendes beachten:

  • Wenn Sie Tag Manager verwenden und ein eigenes Banner verwalten möchten, empfehlen wir, es über den Tag Manager-Container zu laden. Dazu müssen Sie eine Vorlage für den Einwilligungsmodus erstellen. Alternativ können Sie eine Vorlage für den Einwilligungsmodus aus der Community-Galerie für Vorlagen verwenden.

  • Wenn Sie gtag.js verwenden, muss das Google-Tag auf jeder Seite Ihrer Website eingebunden sein. Der Code für den Einwilligungsmodus wird jeder Seite Ihrer Website hinzugefügt.

So richten Sie den Einwilligungsmodus ein:
  1. Bevor ein Nutzer die Einwilligung erteilt: Legen Sie den standardmäßigen Einwilligungsstatus fest.
  2. Aktualisieren Sie den Einwilligungsstatus basierend auf der Nutzerinteraktion mit Ihren Einwilligungseinstellungen.

Legen Sie für jede verwendete Einwilligungsart einen Standardwert fest. Standardmäßig sind keine Werte für den Einwilligungsmodus festgelegt.

Als Best Practice sollten Sie die Standardeinstellungen für die Einwilligung auf die Regionen beschränken, in denen Ihren Besuchern Einwilligungsbanner angezeigt werden. So können weiterhin Messungen in Regionen durchgeführt werden, in denen Einwilligungsbanner erforderlich sind. Das Verhalten der Google-Tags wird dann entsprechend angepasst. Außerdem vermeiden Sie so Datenverluste, wenn keine Einwilligungsbanner oder Einwilligungsbanner vorhanden sind. Siehe Regionsspezifisches Verhalten.

gtag.js

Wenn Sie die Standardfunktionen für die Messung anpassen möchten, rufen Sie den Befehl gtag('consent', 'default', ...) auf jeder Seite Ihrer Website auf, bevor Messdaten (z. B. config oder event) gesendet werden.

So legen Sie beispielsweise den standardmäßigen Einwilligungsstatus für alle Parameter fest:

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied'
});

Optional: Asynchrone Plattformen zur Einwilligungsverwaltung einbinden

Wenn Ihr Banner asynchron geladen wird, wird es möglicherweise nicht immer vor Ihren Google-Tags angezeigt. Für solche Situationen geben Sie wait_for_update zusammen mit einem Wert für eine Millisekunde an, um zu steuern, wie lange auf das Senden von Daten gewartet werden soll.

Wenn Sie beispielsweise ad_storage auf einer bestimmten Seite standardmäßig ablehnen möchten, Ihre CMP jedoch den Einwilligungsstatus aktualisieren soll, verwenden Sie wait_for_update. Im folgenden Code ist ad_storage standardmäßig auf denied gesetzt und das Einwilligungstool hat 500 Millisekunden Zeit, gtag('consent', 'update', ...) vor dem Auslösen der Tags aufzurufen:

  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'wait_for_update': 500
  });

Tag Manager

Wenn Sie Google Tag Manager verwenden, können Sie mithilfe der Tag Manager Consent APIs eine eigene Vorlage erstellen. Das folgende Beispiel kann als Ausgangspunkt dienen.

Mit den Tag Manager-spezifischen APIs können Sie den Einwilligungsstatus setDefaultConsentState und updateConsentState verwalten. Mit der gtagSet API können optional die Einstellungen für ads_data_redaction und URL-Passthrough festgelegt werden.

gtag.js

Verwenden Sie den Befehl update, um den Einwilligungsstatus des Nutzers zu senden. Da im Einwilligungsmodus keine Einwilligungsoptionen gespeichert werden, sollten Sie den Einwilligungsstatus aktualisieren, sobald ein Nutzer mit Ihrer Lösung zur Einwilligungsverwaltung interagiert. Nachdem ein Nutzer seine Einwilligung erteilt hat, bleiben Sie seine Auswahl und rufen Sie den Aktualisierungsbefehl auf den nachfolgenden Seiten entsprechend auf.

Sie müssen selbst dafür sorgen, dass für alle Einwilligungsarten die richtigen Werte festgelegt sind. Ausführliche Informationen zu unterstützten Typen finden Sie in der API-Referenz.

Das folgende Codebeispiel zeigt, wie der Einwilligungsstatus auf granted aktualisiert wird, wenn der Nutzer allen Optionen zustimmt:

<script>
function allConsentGranted() {
  gtag('consent', 'update', {
    'ad_user_data': 'granted',
    'ad_personalization': 'granted',
    'ad_storage': 'granted',
    'analytics_storage': 'granted'
  });
}
</script>
<!-- Invoke your consent function when a user interacts with your banner -->
<body>
  ...
  <button onclick="allConsentGranted()">Yes</button>
  ...
</body>

Tag Manager

Wenn Sie eine Vorlage für den Einwilligungsmodus verwenden, sollte die Nutzereinwilligung automatisch aktualisiert werden, wenn der Nutzer mit dem Banner interagiert.

Wenn Sie selbst eine Vorlage für den Einwilligungsmodus erstellen, verwenden Sie die Tag Manager-spezifischen APIs, um die Einwilligungsstatus setDefaultConsentState und updateConsentState zu verwalten. Mit der gtagSet API können optional die Einstellungen für ads_data_redaction und URL-Passthrough festgelegt werden.

Implementierungsbeispiel

Im folgenden Beispiel werden mehrere Parameter für den Einwilligungsmodus standardmäßig auf denied festgelegt. Nachdem ein Nutzer seine Einwilligungsoptionen gegeben hat, werden die relevanten Parameter in granted geändert.

gtag.js

Die Reihenfolge des Codes ist hier entscheidend. Wenn der Einwilligungscode in einer falschen Reihenfolge aufgerufen wird, funktionieren die Standardeinstellungen für die Einwilligung nicht. Je nach Geschäftsanforderungen können diese Details variieren, aber im Allgemeinen sollte der Code in der folgenden Reihenfolge ausgeführt werden:

  1. Laden Sie das Google-Tag. Das ist der standardmäßige Snippet-Code. Das Standard-Snippet sollte aktualisiert werden (siehe unten), um einen Aufruf von gtag('consent', 'default', ...) zu enthalten.

  2. Laden Sie Ihre Einwilligungslösung. Wenn Ihre Einwilligungslösung asynchron geladen wird, finden Sie unter In asynchrone Plattformen zur Einwilligungsverwaltung einbinden Informationen dazu, wie Sie dafür sorgen, dass dies in der richtigen Reihenfolge geschieht.

  3. Wenn dies nicht durch Ihre Einwilligungslösung möglich ist, rufen Sie gtag('consent', 'update', ...) auf, nachdem der Nutzer seine Einwilligung gegeben hat.

<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

// Set default consent to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied'
});
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID">
</script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  gtag('js', new Date());
  gtag('config', 'TAG_ID');
</script>

<!-- Create one update function for each consent parameter -->
<script>
  function consentGrantedAdStorage() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
  ...
  <button onclick="consentGrantedAdStorage">Yes</button>
  ...
</body>

Tag Manager

Für Websites, auf denen Tag Manager verwendet wird, empfehlen wir, eine CMP zu verwenden, um Aktualisierungen der Einwilligungsoptionen der Besucher zu verarbeiten. In der Community-Vorlagengalerie finden Sie Vorlagen zum Erstellen eines Tags für die Verwaltung des Einwilligungsmodus.

Wenn Sie keine Vorlage verwenden können, können Sie den Code auf Ihrer Seite stattdessen so aktualisieren. Die Reihenfolge des Codes ist hier entscheidend. Wenn der Einwilligungscode in einer falschen Reihenfolge aufgerufen wird, funktionieren die Standardeinstellungen für die Einwilligung nicht.

<script>
  // Define dataLayer and the gtag function.
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Set default consent to 'denied' as a placeholder
  // Determine actual values based on your own requirements
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'analytics_storage': 'denied'
  });
</script>

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->

<!-- Create one update function for each consent parameter -->
<script>
  function consentGrantedAdStorage() {
    gtag('consent', 'update', {
      'ad_storage': 'granted'
    });
  }
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
  ...
  <button onclick="consentGrantedAdStorage()">Yes</button>
  ...
</body>

Im Rahmen unserer kontinuierlichen Bemühungen um eine datenschutzorientierte Plattform für digitale Werbung verstärken wir die Maßnahmen zur Durchsetzung unserer Richtlinie zur Einwilligung der Nutzer in der EU.

Weitere Informationen zu den Änderungen am Einwilligungsmodus für Traffic im Europäischen Wirtschaftsraum (EWR) von Google

Nutzer im Einwilligungsmodus müssen zusätzlich zu ad_storage und analytics_storage zwei neue Parameter senden:

Feldname Zulässige Werte Beschreibung
ad_user_data 'granted' | 'denied' Legt die Einwilligung zum Senden von werbebezogenen Nutzerdaten an Google fest.
ad_personalization 'granted' | 'denied' Legt die Einwilligung für personalisierte Anzeigen fest

Zu den erweiterten Funktionen zur Nutzereinwilligung gehören:

  • Über die Benutzeroberfläche des Google-Tags können Sie festlegen, für welche Google-Dienste Sie Daten freigeben.
  • Legen Sie das Verhalten für eine geografische Region fest.
  • Wenn Nutzer der Verwendung von Cookies nicht zugestimmt haben, können Sie Informationen zum Anzeigenklick, zur Client-ID und zur Sitzungs-ID in URLs weitergeben.
  • Anzeigeninformationen vollständig entfernen (entfernen), wenn Nutzer die Einwilligung für Anzeigen-Cookies ablehnen.

Regionsspezifisches Verhalten

Wenn Sie das Standardverhalten Ihrer Tags für Nutzer aus bestimmten Regionen ändern möchten, geben Sie im Befehl „Einwilligen“ eine Region an. Wenn Sie einen Wert für die Region angeben, können Sie die Standardeinstellungen auf der Grundlage der geografischen Standorte Ihrer Nutzer optimieren. Weitere Informationen zur Identifizierung von Regionen finden Sie unter Geografische IDs.

gtag.js

Im folgenden Beispiel wird analytics_storage für Nutzer aus Spanien und Alaska auf denied und ad_storage für alle Nutzer auf denied festgelegt.

  gtag('consent', 'default', {
    'analytics_storage': 'denied',
    'region': ['ES', 'US-AK']
  });

  gtag('consent', 'default', {
    'ad_storage': 'denied'
  });

Tag Manager

Wenn Sie eine Vorlage zum Erstellen Ihres Tags verwenden, können Sie damit möglicherweise das regionsspezifische Verhalten festlegen. Wenn Sie ein Vorlagen-Tag selbst erstellen, finden Sie unter Vorlage für den Einwilligungsmodus erstellen weitere Informationen zum Festlegen eines regionsspezifischen Verhaltens.

Der spezifischste Parameter hat Vorrang

Wenn auf derselben Seite zwei standardmäßige Einwilligungsbefehle mit Werten für eine Region und eine Unterregion vorhanden sind, wird der Befehl mit der spezifischeren Region wirksam. Wenn Sie beispielsweise ad_storage auf granted für die Region USA und ad_storage auf denied für die Region US-CA gesetzt haben, wird bei einem Besucher aus Kalifornien die spezifischere US-CA-Einstellung wirksam. In diesem Beispiel würde ad_storage für einen Besucher aus den USA auf denied gesetzt sein.

Region ad_storage Behavior
USA 'granted' Gilt für Nutzer in den USA, die sich nicht in Kanada befinden
US-CA 'denied' Gilt für Nutzer in den USA (Kanada)
Ohne Angabe 'granted' Verwendet den Standardwert 'granted'. Im Beispiel für Besucher außerhalb der USA oder Kanadas

Informationen zum Anzeigenklick, zur Client-ID und zur Sitzungs-ID in URLs übergeben

Wenn ein Nutzer nach dem Klick auf eine Anzeige auf Ihre Website weitergeleitet wird, können Informationen zur Anzeige als Suchparameter an Ihre Landingpage-URLs angehängt werden. Um die Conversion-Genauigkeit zu verbessern, werden diese Informationen normalerweise in eigenen Cookies in Ihrer Domain gespeichert.

Wenn ad_storage jedoch auf denied gesetzt ist, werden diese Informationen nicht lokal gespeichert. Wenn Sie die Qualität der Messung von Anzeigenklicks verbessern möchten, wenn ad_storage auf denied gesetzt ist, können Sie optional Informationen zu Anzeigenklicks über URL-Parameter über URL-Passthrough seitenübergreifend übergeben.

Ist analytics_storage auf denied gesetzt, kann URL-Passthrough verwendet werden, um ereignisbasierte und sitzungsbasierte Analysen (einschließlich Conversions) ohne Cookies seitenübergreifend zu senden.

Die folgenden Bedingungen müssen erfüllt sein, um URL-Passthrough verwenden zu können:

  • Ihr Google-Tag berücksichtigt den Einwilligungsstatus und befindet sich auf der Seite.
  • Der Werbetreibende hat die URL-Passthrough-Funktion aktiviert.
  • Der Einwilligungsmodus ist auf der Seite implementiert.
  • Der ausgehende Link verweist auf dieselbe Domain wie die Domain der aktuellen Seite.
  • Die URL enthält eine GCLID oder DCLID (nur Google Ads- und Floodlight-Tags).

gtag.js

Setzen Sie den Parameter url_passthrough auf true, um diese Funktion zu aktivieren. Fügen Sie dem Standard-Snippet den folgenden Befehl vor config-Befehlen hinzu:

gtag('set', 'url_passthrough', true);

Tag Manager

Wenn Sie eine Vorlage zum Erstellen Ihres Tags verwenden, enthält diese möglicherweise die Steuerelemente zum Festlegen des URL-Passthrough. Wenn Sie selbst ein Vorlagen-Tag erstellen, finden Sie unter Vorlage für den Einwilligungsmodus erstellen weitere Informationen zum Festlegen von URL-Passthrough mit der gtagSet API für benutzerdefinierte Vorlagen.

Alternativ können Sie die folgenden Optionen verwenden, um sie in der Conversion-Verknüpfung und/oder Analytics-Tags festzulegen

Für Google Ads- und Floodlight-Tags:

Wenn Sie diese Funktion aktivieren möchten, erstellen oder verwenden Sie ein Conversion-Verknüpfungs-Tag und achten Sie darauf, dass Verknüpfung für alle Seiten-URLs aktivieren ausgewählt ist. Eine Anleitung zum Erstellen eines Tags vom Typ „Conversion-Verknüpfung“ finden Sie unter Grundlegende Einrichtung.

Für Google Analytics-Tags:

  1. Rufen Sie in Tag Manager Festzulegende Felder auf:
  2. Wenn der Bereich „Festzulegende Felder“ maximiert ist, klicken Sie auf Zeile hinzufügen.
  3. Geben Sie für Feldname den richtigen Wert ein:
    • Geben Sie unter Google Analytics: GA4-Konfiguration den Wert url_passthrough ein.
    • Geben Sie für Google Analytics: Universal Analytics-Tags, bei denen die Google Analytics-Einstellungsvariablen verwendet werden, urlPassthrough ein.
  4. Geben Sie als Wert "true" ein.
  5. Speichern Sie das Tag und veröffentlichen Sie es.

Alternativ können Sie den url_passthrough-Parameter auf jeder Seite Ihrer Website vor dem GTM-Installations-Snippet auf true setzen.

window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('set', 'url_passthrough', true);

Wenn Sie URL-Passthrough verwenden, können einige Suchparameter an Links angehängt werden, wenn Nutzer durch Seiten Ihrer Website navigieren:

  • gclid
  • dclid
  • gclsrc
  • _gl
  • wbraid

Für optimale Ergebnisse sollten Sie auf Folgendes achten:

  1. Bei Weiterleitungen auf Ihrer Website werden alle oben genannten Suchparameter übergeben.
  2. Ihre Analysetools ignorieren diese Parameter in Seiten-URLs.
  3. Diese Parameter beeinträchtigen nicht das Verhalten Ihrer Website.

Anzeigendaten entfernen

Wenn ad_storage den Wert denied hat, werden keine neuen Cookies zu Werbezwecken gesetzt. Außerdem werden Drittanbieter-Cookies, die zuvor auf google.com und doubleclick.net gesetzt wurden, nur zu Spam- und Betrugszwecken verwendet. An Google gesendete Daten enthalten weiterhin die vollständige Seiten-URL, einschließlich aller Informationen zu Anzeigenklicks in den URL-Parametern.

gtag.js

Sollen die Anzeigendaten weiter entfernt werden, wenn ad_storage auf denied gesetzt ist, legen Sie ads_data_redaction auf true fest.

gtag('set', 'ads_data_redaction', true);

Wenn ads_data_redaction auf true und ad_storage auf denied gesetzt ist, werden Kennungen für Anzeigenklicks entfernt, die in Netzwerkanfragen von Google Ads und Floodlight-Tags gesendet werden. Netzwerkanfragen werden auch über eine Domain ohne Cookies gesendet.

Tag Manager

Wenn Sie eine Vorlage zum Erstellen Ihres Tags verwenden, verfügt diese möglicherweise über Steuerelemente zum Entfernen von Anzeigendaten. Falls Sie selbst ein Vorlagen-Tag erstellen, finden Sie unter Vorlage für den Einwilligungsmodus erstellen weitere Informationen zum Entfernen von Anzeigendaten.

Nächste Schritte

Alte Tag-Steuerelemente

Wenn Sie alte Tags wie ga.js, analytics.js oder conversion.js verwenden, stellen Sie auf gtag.js oder Google Tag Manager um.

Weitere Informationen zu den Datenschutzeinstellungen anderer Legacy-Tags finden Sie in der folgenden Dokumentation: