Einwilligungsmodus auf Websites einrichten

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

Sie können den Einwilligungsmodus auf einfache oder erweiterte Weise implementieren. Sehen Sie in den Richtlinien Ihres Unternehmens nach, welche Implementierungsmethode Sie auswählen und welche Standardeinstellungen Sie festlegen sollten. Weitere Informationen zum einfachen und erweiterten Einwilligungsmodus

Hinweis

Vor dem Implementieren des Einwilligungsmodus bitte Folgendes beachten:

  • Wenn Sie Tag Manager verwenden und Ihr eigenes Banner beibehalten möchten, empfehlen wir, das Banner ü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 eingefügt sein. Der Code für den Einwilligungsmodus wird auf jeder Seite Ihrer Website eingefügt.

So richten Sie den Einwilligungsmodus ein:
  1. Bevor ein Nutzer seine Einwilligung erteilt: Standard-Einwilligungsstatus festlegen.
  2. Aktualisieren Sie den Einwilligungsstatus basierend auf der Nutzerinteraktion mit Ihren Einwilligungseinstellungen.

Legen Sie für jeden Einwilligungstyp, den Sie verwenden, einen Standardwert fest. Standardmäßig sind keine Werte für den Einwilligungsmodus festgelegt.

Als Gültigkeitsbereich der Standardeinstellungen für die Einwilligung legen Sie am besten die Regionen fest, in denen Besucher Ihrer Website Einwilligungsbanner zu sehen bekommen. So können Analysen auch in Regionen weiterlaufen, in denen Einwilligungsbanner erforderlich sind. Das Verhalten der Google-Tags wird dann entsprechend angepasst. Damit vermeiden Sie außerdem dort Messdatenverluste, wo es keine Einwilligungsbanner gibt oder diese Banner keine Gültigkeit haben. Weitere Informationen finden Sie unter Regionsspezifisches Verhalten.

Tag Manager

Wenn Sie Google Tag Manager verwenden, erstellen Sie mit den Tag Manager APIs für den Einwilligungsmodus eine eigene Vorlage. Das folgende Beispiel kann als Ausgangspunkt dienen.

Verwenden Sie die Tag Manager-spezifischen APIs setDefaultConsentState und updateConsentState, um Einwilligungsstatus zu verwalten. Mit der gtagSet API können Sie die Einstellungen für ads_data_redaction und die URL-Weiterleitung nach Bedarf festlegen.

gtag.js

Wenn Sie die Standardmessfunktionen anpassen möchten, rufen Sie den Befehl gtag('consent', 'default', ...) auf jeder Seite Ihrer Website vor allen Befehlen auf, mit denen Messdaten gesendet werden (z. B. config oder event).

So legen Sie beispielsweise fest, dass die Einwilligung für alle Parameter standardmäßig verweigert wird:

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

Optional: In asynchrone Plattformen zur Einwilligungsverwaltung einbinden

Wenn Ihr Banner asynchron geladen wird, wird es möglicherweise nicht immer vor Ihren Google-Tags ausgeführt. Um solche Situationen zu vermeiden, geben Sie wait_for_update zusammen mit einem Millisekundenwert an, um festzulegen, wie lange gewartet werden soll, bevor Daten gesendet werden.

Wenn Sie beispielsweise ad_storage auf einer bestimmten Seite standardmäßig ablehnen, aber Ihrer CMP erlauben möchten, den Einwilligungsstatus zu aktualisieren, verwenden Sie wait_for_update. Im folgenden Code ist ad_storage standardmäßig auf denied festgelegt und das Einwilligungstool hat 500 Millisekunden Zeit, um gtag('consent', 'update', ...) aufzurufen, bevor Tags ausgelöst werden:

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

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 zum Verwalten von Einwilligungsstatus setDefaultConsentState und updateConsentState. Mit der gtagSet API können Sie optional die Einstellungen für ads_data_redaction und URL-Passthrough nach Bedarf festlegen.

gtag.js

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

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

Im folgenden Codebeispiel wird gezeigt, wie der Einwilligungsstatus auf granted aktualisiert wird, wenn der Nutzer allen Optionen zustimmt:

<!-- Send consent updates when users interact with your consent banner -->
<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()">Accept all</button>
  ...
</body>

Nutzer können ihre Einstellungen für die Einwilligung nach der ersten Interaktion ändern. Beispiel: Ein Nutzer, der ursprünglich seine Einwilligung erteilt hat, kann diese später über die Einstellungen Ihrer Website widerrufen.

Tag Manager

Wenn Sie eine Vorlage für den Einwilligungsmodus verwenden, sollte die Einwilligung des Nutzers automatisch aktualisiert werden, wenn er mit Ihrem Banner oder Einstellungsfeld interagiert.

Wenn Sie selbst eine Vorlage für den Einwilligungsmodus erstellen, verwenden Sie die updateConsentState-API, um den Einwilligungsstatus zu aktualisieren, wenn ein Nutzer seine neuen Einstellungen bestätigt.

gtag.js

Verwenden Sie den Befehl update, um den Einwilligungsstatus jederzeit zu aktualisieren. Dieser Befehl wird für jede Änderung des Einwilligungsstatus verwendet, einschließlich der Änderung von 'granted' zu 'denied'.

Beispiel: Einwilligung widerrufen

Wenn ein Nutzer zuvor die Einwilligung für analytics_storage und ad_storage erteilt hat, sie aber jetzt verweigern möchte, senden Sie einen update-Aufruf, der seine neue Auswahl widerspiegelt:

// User updates their settings to deny consent
gtag('consent', 'update', {
  'analytics_storage': 'denied',
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied'
});

Hinweise zur Implementierung:

  1. Beständigkeit:Achten Sie darauf, dass die aktualisierten Einwilligungsentscheidungen des Nutzers gespeichert werden, z. B. in einem eigenen Cookie oder im lokalen Speicher, damit bei nachfolgenden Seitenaufrufen der richtige Status festgelegt wird.
  2. Zeitpunkt:Rufen Sie den Aktualisierungsbefehl auf, sobald der Nutzer seine neuen Einstellungen in der Benutzeroberfläche für die Einwilligungseinstellungen Ihrer Website bestätigt hat.

Implementierungsbeispiel

Im folgenden Beispiel werden mehrere Parameter für den Einwilligungsmodus standardmäßig auf denied gesetzt. Nachdem ein Nutzer seine Einwilligungsvorgaben angegeben hat, werden die entsprechenden Parameter auf granted aktualisiert.

Tag Manager

Für Websites, auf denen Tag Manager verwendet wird, empfehlen wir, eine CMP zu nutzen, um Aktualisierungen der Einwilligungsentscheidungen von Besuchern zu verarbeiten. CMPs stellen Vorlagen in der Community-Galerie für Vorlagen bereit, mit denen Sie ein Tag zum Verwalten des Einwilligungsmodus erstellen können.

Wenn die Verwendung einer Vorlage nicht möglich ist, können Sie den Code auf Ihrer Seite stattdessen so aktualisieren. Die Reihenfolge des Codes ist hier entscheidend. Wenn Ihr Einwilligungs-Code in der falschen Reihenfolge aufgerufen wird, funktionieren die Standardeinwilligungen 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 -->

<!-- Send consent updates when users interact with your consent banner -->
<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()">Accept all</button>
  ...
</body>

gtag.js

Die Reihenfolge des Codes ist hier entscheidend. Wenn der Einwilligungscode in der falschen Reihenfolge aufgerufen wird, funktionieren die Standardeinwilligungen nicht. Je nach Geschäftsanforderungen können die Details variieren. Im Allgemeinen sollte der Code jedoch in der folgenden Reihenfolge ausgeführt werden:

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

  2. Laden Sie Ihre Einwilligungsmanagement-Lösung. Wenn Ihre Lösung zur Einwilligungsverwaltung asynchron geladen wird, finden Sie unter Integration mit asynchronen Plattformen zur Einwilligungsverwaltung Informationen dazu, wie Sie sicherstellen, dass dies in der richtigen Reihenfolge geschieht.

  3. Wenn der Befehl nicht von Ihrer Einwilligungslösung verarbeitet wird, rufen Sie gtag('consent', 'update', ...) auf, sobald der Nutzer die Einwilligung erteilt.

<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="//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>

<!-- Send consent updates when users interact with your consent banner -->
<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()">Accept all</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)

Nutzer des 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 für die Einwilligung gehören:

Regionsspezifisches Verhalten

Wenn Sie Standardeinwilligungsstatus für Besucher aus bestimmten Regionen festlegen möchten, geben Sie im gtag-Befehl für die Standardeinwilligung eine Region gemäß ISO 3166-2 an. Durch die Verwendung von Regionswerten können Sie regionale Vorschriften einhalten.

Sie können Standardeinstellungen für bestimmte Regionen und dann eine andere Standardeinstellung für alle anderen Regionen festlegen. Mit einem gtag-Befehl für die Standardeinwilligung ohne den Parameter „region“ wird der Standardwert für alle Besucher festgelegt, die nicht durch einen anderen regionsspezifischen Befehl abgedeckt sind.

Tag Manager

Wenn Sie eine Vorlage zum Erstellen Ihres Tags verwenden, enthält sie möglicherweise die Steuerelemente zum Festlegen des regionsspezifischen Verhaltens. Wenn Sie ein eigenes Vorlagentag erstellen, finden Sie unter Einwilligungsmodus-Vorlage erstellen weitere Informationen zum Festlegen des regionspezifischen Verhaltens.

gtag.js

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

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

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

Der spezifischste Parameter hat Vorrang

Wenn auf derselben Seite zwei Standardbefehle für die Einwilligung mit Werten für eine Region und eine Unterregion vorkommen, wird der Befehl mit der spezifischeren Region wirksam. Wenn Sie beispielsweise ad_storage für die Region US auf granted und ad_storage für die Region US-CA auf denied festgelegt haben, gilt für einen Besucher aus Kalifornien die spezifischere Einstellung US-CA. In diesem Beispiel würde das bedeuten, dass für einen Besucher aus US-CA der Wert ad_storage auf denied festgelegt wird.

Region ad_storage Verhalten
USA 'granted' Gilt für Nutzer in den USA, die nicht in Kalifornien ansässig sind
US-CA 'denied' Gilt für Nutzer in den USA und Kalifornien
Ohne Angabe 'granted' Verwendet den Standardwert 'granted'. Im Beispiel gilt die Einstellung für Besucher, die sich nicht in den USA oder in US-CA befinden.

Informationen zu Anzeigenklicks, Client-IDs und Sitzungs-IDs in URLs übergeben

Wenn ein Nutzer nach dem Klick auf eine Anzeige auf Ihre Website gelangt, werden Informationen zur Anzeige möglicherweise als Suchparameter an die Landingpage-URLs angehängt. Um die Genauigkeit von Schlüsselereignissen zu verbessern, werden diese Informationen in der Regel in eigenen Cookies auf Ihrer Domain gespeichert.

Wenn ad_storage jedoch auf denied festgelegt ist, werden diese Informationen nicht lokal gespeichert. Wenn Sie die Qualität der Anzeigenklickmessung verbessern möchten, wenn ad_storage den Wert denied hat, können Sie optional Informationen zu Anzeigenklicks über URL-Parameter seitenübergreifend per URL-Passthrough weitergeben.

Wenn analytics_storage auf denied festgelegt ist, kann URL-Passthrough verwendet werden, um ereignis- und sitzungsbasierte Analysen (einschließlich Schlüsselereignisse) ohne Cookies seitenübergreifend zu senden.

Damit Sie die URL-Weiterleitung verwenden können, müssen die folgenden Bedingungen erfüllt sein:

  • Ihr Google-Tag oder Ziel-Tag ist auf Einwilligungsbasis und auf der Seite vorhanden.
  • Der Werbetreibende hat die Funktion für das Übergeben von URLs aktiviert.
  • Der Einwilligungsmodus ist auf der Seite eingerichtet.
  • 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).

Tag Manager

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

Alternativ können Sie die folgenden Optionen verwenden, um sie in Ihren Ziel-Tags, dem Google-Tag oder dem Tag „Conversion-Verknüpfung“ festzulegen.

Für Ziel-Tags und das Google-Tag:

  1. Öffnen Sie in Ihrem Arbeitsbereich das Menü Tags.
  2. Bearbeiten Sie ein vorhandenes Google-Tag oder Ziel-Tag oder erstellen Sie ein neues.
  3. Fügen Sie in den Konfigurationseinstellungen einen neuen Parameter hinzu:
    • Name: url_passthrough
    • Wert: true
  4. Speichern Sie das Tag und veröffentlichen Sie den Container.

Für Google Ads- und Floodlight-Tags, die über ein Google-Tag verbunden sind:

Um diese Funktion zu aktivieren, erstellen Sie ein Conversion-Verknüpfungs-Tag (oder verwenden Sie ein vorhandenes) und achten Sie darauf, dass Verknüpfungen für alle Seiten-URLs aktivieren angeklickt ist. Eine Anleitung zum Erstellen eines Tags „Conversion-Verknüpfung“ finden Sie unter Einfache Einrichtung.

Alternativ können Sie den Parameter url_passthrough auf jeder Seite Ihrer Website vor dem GTM-Installationssnippet auf true festlegen.

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

gtag.js

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

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

Wenn Sie die URL-Weiterleitung verwenden, werden möglicherweise einige Abfrageparameter an Links angehängt, wenn Nutzer auf Ihrer Website navigieren:

  • gclid
  • dclid
  • gclsrc
  • _gl
  • wbraid

Für optimale Ergebnisse sollten Sie Folgendes beachten:

  1. Bei Weiterleitungen auf Ihrer Website werden alle vorherigen Suchparameter übergeben.
  2. Ihre Analysetools ignorieren diese Parameter in Seiten-URLs.
  3. Diese Parameter haben keinen Einfluss auf das Verhalten Ihrer Website.

Anzeigendaten unkenntlich machen

Wenn ad_storage den Wert denied hat, werden keine neuen Cookies für Werbezwecke gesetzt. Außerdem werden Drittanbieter-Cookies, die zuvor auf google.com und doubleclick.net festgelegt wurden, nur noch für Spam- und Betrugszwecke verwendet. Die an Google gesendeten Daten enthalten weiterhin die vollständige Seiten-URL, einschließlich aller Informationen zu Anzeigenklicks in den URL-Parametern.

Tag Manager

Wenn Sie eine Vorlage zum Erstellen Ihres Tags verwenden, sind möglicherweise Steuerelemente zum weiteren Anonymisieren von Anzeigen-Daten vorhanden. Wenn Sie ein eigenes Vorlagentag erstellen, finden Sie unter Einwilligungsmodusvorlage erstellen weitere Informationen zum Entfernen von Anzeigen-Daten.

gtag.js

Wenn Sie Ihre Anzeigendaten weiter anonymisieren möchten, wenn ad_storage auf denied festgelegt ist, setzen Sie ads_data_redaction auf true.

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

Wenn ads_data_redaction gleich true und ad_storage gleich denied ist, werden in Netzwerk-Anfragen, die von Google Ads- und Floodlight-Tags gesendet werden, Anzeigenklick-IDs entfernt. Netzwerkanfragen werden auch über eine Domain ohne Drittanbieter-Cookies gesendet, z. B. pagead2.googlesyndication.com.

Häufige Probleme

Hier finden Sie häufige Probleme, die bei der Implementierung auftreten können.

Wenn Sie den erweiterten Einwilligungsmodus implementieren, sollten Sie auf der Seite, auf der der Nutzer seine Einwilligung erteilt, einen Update-Befehl aufrufen.

Wenn ein Seitenaufbau mit abgelehnter Einwilligung erfolgt und dann nach einer Einwilligungsänderung mit erteilter Einwilligung neu geladen wird, gehen bei Google-Tags möglicherweise wichtige Datenpunkte vom ursprünglichen Seitenaufbau verloren. Alle nachfolgenden Berichte sind möglicherweise unvollständig.

In Google Analytics kann es beispielsweise vorkommen, dass bei vielen Sitzungen mit Einwilligung ein „session_start“-Ereignis fehlt.

Um dieses Problem zu vermeiden, rufen Sie den Update-Befehl immer auf, wenn sich der Einwilligungsstatus eines Nutzers ändert.

In einigen Fällen, wenn sich ein Einwilligungstyp von „abgelehnt“ zu „erteilt“ ändert, können Google-Tags Messungen basierend auf dieser Änderung senden. Wenn der Aktualisierungsbefehl beim Entladen der Seite aufgerufen wird, kann der Browser diesen Netzwerkverkehr abbrechen, bevor er abgeschlossen ist. Alle nachfolgenden Berichte sind möglicherweise unvollständig.

Sorgen Sie nach Möglichkeit dafür, dass Aktualisierungsbefehle protokolliert werden, bevor die Seite entladen wird.

Nächste Schritte

Alte Tag-Einstellungen

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: