Datenschutz und Messaging JavaScript API

Einführung

Diese API bietet Tools für die Interaktion mit Mitteilungen, die auf dem Tab „Datenschutz und Mitteilungen“ verfügbar sind. Sie können mit ihr:

und mehr

Mit diesen Tools können Sie auch die Einwilligung der Nutzer mithilfe von Branchenstandardprotokollen einholen:

In diesen Fällen wird der Einwilligungsstatus über diese APIs kommuniziert.

Sie haben mehrere Möglichkeiten, diese Funktion für Nutzernachrichten auf Ihrer Website zu implementieren:

  1. In den meisten Fällen müssen Sie Ihre Website nicht neu taggen. Mit Ihrem vorhandenen Google Publisher-Tag oder AdSense-Tag werden Nutzermitteilungen bereitgestellt, sobald die Mitteilung im entsprechenden Produkt veröffentlicht wird.
  2. Wenn Sie die Mitteilung zum Ausgleich von Werbeumsatz verwenden, müssen Sie das Tag zur Anzeigenblockierung explizit auf Ihrer Seite einfügen. Weitere Informationen finden Sie in den Ad Manager- und AdSense-Tagging-Anleitungen.

googlefc ist der globale Namespace, den die Funktion für Nutzernachrichten für ihre API im JavaScript-Window verwendet.

Feldzusammenfassungen

Name Typ Definition
googlefc.controlledMessagingFunction function(!Object) Eine Funktion, die bestimmt, ob mit der Benachrichtigung fortgefahren werden soll. Diese Funktion wird für alle Nachrichtentypen unterstützt.
googlefc.callbackQueue !Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue Verweis auf die Callback-Warteschlange für die asynchrone Ausführung von Abfragen zu Nutzermitteilungen.
googlefc.CallbackQueue !Object Der Typ des Callback-Warteschlangenobjekts.
googlefc.AdBlockerStatusEnum !Object<string, number> Ein Enum-Wert, der den Status des Werbeblockers des Nutzers darstellt.
googlefc.AllowAdsStatusEnum !Object<string, number> Ein Enum, das den Status „Werbung zulassen“ des Nutzers darstellt.
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum !Object<string, number> Ein Enum, das den anfänglichen Widerspruchsstatus des Nutzers in US-Bundesstaaten darstellt. Dabei wird der US-Bundesstaat berücksichtigt, in dem sich der Nutzer befindet.
googlefc.GoogleFcConsentModeUserStatus !Object Der Rückgabetyp für googlefc.getGoogleConsentModeValues.
googlefc.ConsentModePurposeStatusEnum !Object<string, number> Ein Enum, das die Entscheidung des Endnutzers für einen Zweck des Einwilligungsmodus darstellt.
googlefc.usstatesoptout.overrideDnsLink undefined|boolean Ein boolescher Wert, der auf „true“ gesetzt werden kann, um einen eigenen benutzerdefinierten Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ zu verwenden.
googlefc.ccpa.InitialCcpaStatusEnum

Legacy. googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum wird bevorzugt.
!Object<string, number> Ein Enum, das den ursprünglichen Status des Nutzers in Bezug auf die Verordnungen von US-Bundesstaaten darstellt.
googlefc.ccpa.overrideDnsLink

Legacy. googlefc.usstatesoptout.overrideDnsLink wird bevorzugt.
undefined|boolean Ein boolescher Wert, der auf „true“ gesetzt werden kann, um einen eigenen benutzerdefinierten Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ zu verwenden.

Methodenzusammenfassungen

Name Rückgabetyp Definition
googlefc.showRevocationMessage() nicht definiert Löscht den Einwilligungsdatensatz und lädt das googlefc-Script neu, um die für den Nutzer geltende Mitteilung zur Einwilligung anzuzeigen.
googlefc.getAdBlockerStatus() Zahl Gibt einen Wert in AdBlockerStatusEnum zurück, je nach Status der Werbeblockierung des Nutzers.
googlefc.getAllowAdsStatus() Zahl Gibt einen Wert in AllowAdsStatusEnum zurück, der vom Status „allow-ads“ des Nutzers abhängt.
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() Zahl Gibt einen Wert in InitialUsStatesOptOutStatusEnum zurück, der vom ursprünglichen Widerspruchsstatus des Nutzers gemäß Verordnungen von US-Bundesstaaten abhängt. Dabei wird die Verordnung berücksichtigt, die für den Nutzer basierend auf seinem aktuellen Standort gilt.
googlefc.usstatesoptout.openConfirmationDialog(function(boolean)) nicht definiert Öffnet das Bestätigungsdialogfeld zum Deaktivieren der Verordnungen von US-Bundesstaaten, wenn der Standardlink „Nicht verkaufen oder teilen“ überschrieben wird.
googlefc.getGoogleConsentModeValues() !Object Gibt ein googlefc.GoogleFcConsentModeUserStatus-Objekt mit den aktuellen Einwilligungsmoduswerten für den Nutzer zurück, einen für jeden verfügbaren Zweck des Einwilligungsmodus.
googlefc.ccpa.getInitialCcpaStatus()

Legacy. googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() bevorzugen
Zahl Gibt einen Wert in InitialCcpaStatusEnum zurück, der vom ursprünglichen Widerspruchsstatus des Nutzers gemäß Verordnungen von US-Bundesstaaten abhängt.
googlefc.ccpa.openConfirmationDialog(function(boolean))

Legacy. googlefc.usstatesoptout.openConfirmationDialog() bevorzugen
nicht definiert Öffnet das Bestätigungsdialogfeld für den Opt-out gemäß Verordnungen von US-Bundesstaaten, wenn der Standardlink „Nicht verkaufen oder teilen“ überschrieben wird.

Auf Ihrer Website testen und Fehler beheben

Bei „Datenschutz und Mitteilungen“ stehen Funktionen zur Fehlerbehebung und zum Testen zur Verfügung, mit denen Sie sehen können, wie bestimmte Mitteilungen, Untertypen von Mitteilungen oder Kombinationen von Mitteilungen auf Ihrer Website aussehen.

Voraussetzungen:

  • Die Mitteilung(en), die Sie als Vorschau ansehen möchten, müssen auf der Website veröffentlicht werden, die Sie testen.

Mit den folgenden Debugging-URL-Parametern können Sie eine Live-Vorschau auf Ihrer Website aufrufen:

Debug-Parameter Zulässige Werte
fc alwaysshow (zum Auslösen des Debug-/Vorschaumodus)
fctype ab (Mitteilungen an Nutzer mit Werbeblocker), ccpa (Mitteilungen zum Opt-out gemäß US-Bundesstaatsverordnung), gdpr (DSGVO-Einwilligungsmeldungen), monetization (Offerwall-Mitteilungen), usfl (Mitteilungen zum Opt-out gemäß US-Bundesstaatsverordnung, speziell für Florida), usnat (Mitteilungen zum Opt-out gemäß US-Bundesstaatsverordnung, alle unterstützten Bundesstaaten außer Florida; entspricht ccpa)

Hier einige Beispiele für die Verwendung dieser Funktion zur Vorschau auf Ihrer Website (foo.com):

  • Mitteilungen zum Widerruf der Einwilligung gemäß Verordnungen von US-Bundesstaaten testen – http://foo.com/?fc=alwaysshow&fctype=ccpa
  • DSGVO-Mitteilungen testen – http://foo.com/?fc=alwaysshow&fctype=gdpr

Felder: Erläuterungen und Beispiele

googlefc.controlledMessagingFunction {function(!Object)}

Eine Funktion, die bestimmt, ob Nachrichten angezeigt werden sollen. Damit kann die Darstellung von Nachrichten an verlagsspezifische Bedingungen wie den Abonnentenstatus oder die Seiten-URL gebunden werden.

Wenn Sie googlefc.controlledMessagingFunction im Window definieren, bevor andere Skripts geladen werden, werden Nachrichten erst angezeigt, wenn Sie message.proceed(boolean) aufrufen. Wenn Sie message.proceed(true) aufrufen, werden Nachrichten wie gewohnt angezeigt. Wenn Sie message.proceed(false) aufrufen, werden für den Seitenaufruf keine Nachrichten angezeigt.

Beispiel: Angenommen, Sie haben dieses Skript auf der Seite, das eine asynchrone Funktion determineIfUserIsSubscriber() definiert, mit der geprüft wird, ob der angemeldete Nutzer ein Abonnent ist.

<head>
  <script>
    window.isSubscriber = undefined;
    function determineIfUserIsSubscriber() {
      if (isSubscriber !== undefined) {
        return isSubscriber;
      }
      return new Promise(resolve => {
        setTimeout(() => {
          // Change this to true if you want to test what subscribers would see.
          window.isSubscriber = false;
          resolve(window.isSubscriber);
        }, 1000);
      });
    }
  </script>
</head>

Hier sehen Sie ein Beispiel dafür, wie Sie mit googlefc.controlledMessagingFunction die Nachricht nur Nichtabonnenten anzeigen lassen können.

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
      // Determine if the user is a subscriber asynchronously.
      const isSubscriber = await determineIfUserIsSubscriber();

      if (isSubscriber) {
        // If the user is a subscriber, don't show any messages.
        message.proceed(false);
      } else {
        // Otherwise, show messages as usual.
        message.proceed(true);
      }
    }
  </script>
</head>

Es gibt auch eine Erweiterung dieser Funktion, mit der Publisher festlegen können, dass nur die Offerwall unterdrückt werden soll. Mit dieser Funktionserweiterung können Sie Offerwalls unterdrücken, ohne andere Nachrichtentypen zu unterdrücken.

Offerwall-spezifische kontrollierte Mitteilungen werden durch Übergeben eines zusätzlichen Parameters an message.proceed() erreicht, einem Array vom Typ googlefc.MessageTypeEnum.

Beispiel: So verwenden Sie googlefc.controlledMessagingFunction, um die Auslieferung von Offerwalls nur für Abonnenten zu unterdrücken, ohne andere Nachrichtentypen zu unterdrücken:

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
     // Determine if the Offerwall should display or not.
     const shouldDisplayOfferwall = await determineIfUserIsSubscriber();
     const applicableMessageTypes = [];

     if (!shouldDisplayOfferwall) {
       // Do not show the Offerwall, but allow other message types to display.
       applicableMessageTypes.push(window.googlefc.MessageTypeEnum.OFFERWALL);
       message.proceed(false, applicableMessageTypes);
     } else {
       // Otherwise, show messages as usual.
       message.proceed(true);
     }
    }
  </script>
</head>

googlefc.callbackQueue {!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue}

Referenz auf die globale Callback-Warteschlange für die asynchrone Ausführung von Messaging-bezogenen Aufrufen. Funktionen können nur aufgerufen werden, indem sie der callbackQueue hinzugefügt werden.

Da verschiedene Datentypen zu unterschiedlichen Zeiten verfügbar werden, sollte eine Funktion als Map hinzugefügt werden. Dabei ist einer der folgenden Strings der Schlüssel und die auszuführende Funktion der Wert.

Unterstützte Schlüssel:

Schlüsselname Nutzung Relative Latenz
CONSENT_API_READY Funktionen, die mit dem Schlüssel CONSENT_API_READY in die Callback-Warteschlange eingefügt werden, werden ausgeführt, wenn die APIs für unterstützte Einwilligungs-Frameworks definiert und aufrufbar sind. Ab diesem Punkt erfolgt die Ausführung aller nachfolgend hinzugefügten Funktionen mit CONSENT_API_READY-Schlüssel synchron. Weitere Informationen zu den einzelnen Frameworks finden Sie in den Abschnitten zu IAB-Frameworks. Niedrig
CONSENT_DATA_READY Funktionen, die mit dem Schlüssel CONSENT_DATA_READY in die Callback-Warteschlange verschoben werden, werden ausgeführt, wenn die Einwilligung des Nutzers, die im Rahmen eines unterstützten Einwilligungs-Frameworks eingeholt wurde, bekannt ist (entweder durch eine vorherige Ausführung oder nachdem der Nutzer mit der Mitteilung zur Einwilligung interagiert hat). Ab diesem Punkt erfolgt die Ausführung aller nachfolgend hinzugefügten Funktionen mit CONSENT_DATA_READY-Schlüssel synchron. Hoch
AD_BLOCK_DATA_READY Funktionen, die mit dem Schlüssel AD_BLOCK_DATA_READY in die Callback-Warteschlange verschoben werden, werden ausgeführt, wenn Daten zum Blockieren von Anzeigen im Ablauf verfügbar sind. Ab diesem Punkt erfolgt die Ausführung aller nachfolgend hinzugefügten Funktionen mit AD_BLOCK_DATA_READY-Schlüssel synchron. Hoch
CONSENT_MODE_DATA_READY Funktionen, die mit dem Schlüssel CONSENT_MODE_DATA_READY in die Callback-Warteschlange verschoben werden, werden ausgeführt, wenn Daten zum [Einwilligungsmodus](https://support.google.com/google-ads/answer/10000067) (zur Verwendung mit Google Ads- und Analytics-Tags) im Ablauf verfügbar sind. Sobald die Daten zum Einwilligungsmodus verfügbar sind, können Sie jederzeit mit googlefc.getGoogleConsentModeValues auf die Werte zugreifen. Mittel
INITIAL_US_STATES_OPT_OUT_DATA_READY Funktionen, die mit dem Schlüssel INITIAL_US_STATES_OPT_OUT_DATA_READY in die Callback-Warteschlange verschoben werden, werden ausgeführt, wenn Daten zu den US-Bundesstaaten im Flow verfügbar sind. Alle nachfolgenden Anfragen zu Daten zu den Verordnungen von US-Bundesstaaten sollten direkt über die GPP API (__gpp) erfolgen. Mittel
INITIAL_CCPA_DATA_READY Alter Schlüssel für Verordnungen von US-Bundesstaaten. INITIAL_US_STATES_OPT_OUT_DATA_READY bevorzugen

Funktionen, die mit dem Schlüssel INITIAL_CCPA_DATA_READY in die Callback-Warteschlange verschoben werden, werden ausgeführt, wenn Daten zu den US-Bundesstaaten im Flow verfügbar sind. Alle nachfolgenden Anfragen zu Daten zu den Verordnungen von US-Bundesstaaten sollten direkt über die GPP API (__gpp) erfolgen.
Mittel

googlefc.CallbackQueue {!Object}

Methodenzusammenfassung:

Name Typ Parameter Rückgabetyp Rolle
push(data) Zahl data: Ein Schlüssel/Wert-Paar, bei dem der Schlüssel einer der Datentypen für die Verfügbarkeit ist und der Wert eine auszuführende JavaScript-Funktion. Die zulässigen Schlüssel für die Datenverfügbarkeit sind CONSENT_API_READY, CONSENT_DATA_READY, AD_BLOCK_DATA_READY, INITIAL_US_STATES_OPT_OUT_DATA_READY, CONSENT_MODE_DATA_READY und (Legacy) INITIAL_CCPA_DATA_READY. Die Anzahl der bisher hinzugefügten Befehle. Dadurch wird die aktuelle Länge des Arrays zurückgegeben. Führt die übergebene Funktion in der Reihenfolge aus, in der die Daten verfügbar werden, und dann in der Reihenfolge, in der diese Funktionen der Warteschlange hinzugefügt werden.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
        // Handle a non-ad blocking user.
      }
    }
  });
</script>

googlefc.AdBlockerStatusEnum {!Object<string, number>}

Stellt die verschiedenen Zustände der Anzeigenblockierung des Nutzers dar. Die verschiedenen Status sind:

googlefc.AdBlockerStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // The user was running an extension level ad blocker.
  EXTENSION_AD_BLOCKER: 1,
  // The user was running a network level ad blocker.
  NETWORK_LEVEL_AD_BLOCKER: 2,
  // The user was not blocking ads.
  NO_AD_BLOCKER: 3,
};

googlefc.AllowAdsStatusEnum {!Object<string, number>}

Stellt die verschiedenen Zustände des Nutzers in Bezug auf die Zulassung von Anzeigen bei der Anzeigenblockierung dar. Die verschiedenen Status sind:

googlefc.AllowAdsStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // User is currently using an ad blocker, was never using an ad blocker, or
  // allowed ads, but not because they saw the Privacy & messaging message.
  ADS_NOT_ALLOWED: 1,
  // User is no longer using an ad blocker after seeing the ad blocking message.
  ADS_ALLOWED: 2,
};

googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum{!Object<string, number>}

Stellt die verschiedenen Widerspruchsstatus des Nutzers gemäß Verordnungen von US-Bundesstaaten dar. Folgende Status sind möglich:

googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum = {
  // Something failed, status unknown.
  UNKNOWN: 0,
  // No US state regulation applies to this user.
  DOES_NOT_APPLY: 1,
  // A US state regulation applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // A US state regulation applies to this user, and the user has opted out.
  OPTED_OUT: 3,
};

googlefc.GoogleFcConsentModeUserStatus{!Object}

Der Typ des von googlefc.getGoogleConsentModeValues zurückgegebenen Objekts.

interface GoogleFcConsentModeUserStatus {

  // End user consent decision value for the ad_storage consent mode purpose.
  adStoragePurposeConsentStatus: number;

  // End user consent decision value for the ad_user_data consent mode purpose.
  adUserDataPurposeConsentStatus: number;

  // End user consent decision value for the ad_personalization consent mode purpose.
  adPersonalizationPurposeConsentStatus: number;

  // End user consent decision value for the analytics_storage consent mode purpose.
  analyticsStoragePurposeConsentStatus: number;
}

Der Wert jedes Felds ist eine Zahl, die einem googlefc.ConsentModePurposeStatusEnum-Enum-Wert entspricht.


googlefc.ConsentModePurposeStatusEnum{!Object<string, number>}

Stellt die verschiedenen möglichen Werte für die Einwilligung des Endnutzers für einen Zweck im Einwilligungsmodus dar. Die verschiedenen Werte sind:

googlefc.ConsentModePurposeStatusEnum = {
  // Indicates either an error state, or that consent mode data is not ready
  // yet.
  UNKNOWN: 0,
  // Consent is granted for the given consent mode purpose.
  GRANTED: 1,
  // Consent is denied for the given consent mode purpose.
  DENIED: 2,
  // Consent is not applicable for the given consent mode purpose.
  NOT_APPLICABLE: 3,
  // The consent mode purpose has not been configured for use in the Privacy &
  // messaging UI.
  NOT_CONFIGURED: 4
};

googlefc.usstatesoptout.overrideDnsLink{undefined|boolean}

Setzen Sie dieses Feld auf „true“, um den Standardlink „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ auszublenden und Ihren eigenen benutzerdefinierten Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ zu verwenden.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  // Signals that the default DNS link will be overridden.
  googlefc.usstatesoptout.overrideDnsLink = true;
</script>

googlefc.ccpa.InitialCcpaStatusEnum{!Object<string, number>}

Stellt die verschiedenen Widerspruchsstatus des Nutzers gemäß Verordnungen von US-Bundesstaaten dar. Folgende Status sind möglich:

googlefc.ccpa.InitialCcpaStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // No US state regulation applies to this user.
  CCPA_DOES_NOT_APPLY: 1,
  // A US state regulation applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // A US state regulation applies to this user, and the user has opted out.
  OPTED_OUT: 3,
};

googlefc.ccpa.overrideDnsLink{undefined|boolean}

Setzen Sie dieses Feld auf „true“, um den Standardlink „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ auszublenden und Ihren eigenen benutzerdefinierten Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ zu verwenden. Wenn Sie dieses Feld auf „true“ setzen, sind Sie dafür verantwortlich, auf Ihrer Website einen Link zum Deaktivieren des Verkaufs oder der Weitergabe von Daten zu rendern. Dieses Feld sollte in Verbindung mit openConfirmationDialog verwendet werden.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {};
  // Signals that the default DNS link will be overridden.
  googlefc.ccpa.overrideDnsLink = true;
</script>

Methoden: Erläuterungen und Beispiele

googlefc.getConsentStatus(): {number}


googlefc.getConsentedProviderIds(): {!Array<string>}

eingestellt.
  1. Bei einem Aufruf wird jetzt immer eine leere Liste zurückgegeben.

googlefc.showRevocationMessage(): {undefined}

Löscht den aktuellen Einwilligungsdatensatz gemäß EU‑Verordnungen, sofern vorhanden, und zeigt die Mitteilung gemäß EU‑Verordnungen noch einmal an, damit der Nutzer seine Einwilligung ändern kann.

Beispiel 1: Einfaches Beispiel für das Einrichten eines Links, der beim Klicken die Widerrufsmitteilung anzeigt:

<a href="javascript:window.googlefc.showRevocationMessage();">Privacy and cookie settings</a>
<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    () => {
      // Update the revocation link so that it shows on the page.
      const revocationLink = document.getElementById('revocation-link');
      revocationLink.style.display = 'block';
    }
  });
</script>

Beispiel 2: Wenn der Link nur sichtbar sein soll, wenn EU-Verordnungen für den aktuellen Nutzer gelten, können Sie die Callback-Warteschlange „googlefc“ mit der TCF API verwenden, um die Anzeige der Schaltfläche basierend auf dem Wert von gdprApplies zu aktualisieren, sobald dieser ermittelt wurde. Verwenden Sie dazu den API-Schlüssel CONSENT_API_READY.

<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    // Specifying "0" for the version parameter will result in the API call
    // using the latest version of the TCF spec.
    () => __tcfapi('addEventListener', 0, (tcdata, success) => {
      const revocationLink = document.getElementById('revocation-link');
      if (!success || !tcdata) {
        // Something went wrong, don't show the revocation link.
        revocationLink.style.display = 'none';
      }
      else if (tcdata.gdprApplies) {
        revocationLink.style.display = 'block';
      } else {
        // GDPR does not apply so don't show the revocation link.
        revocationLink.style.display = 'none';
      }
    })
  });
</script>

googlefc.getAdBlockerStatus(): {number}

Gibt einen Wert in AdBlockerStatusEnum zurück, je nach Status der Werbeblockierung des Nutzers. Der Schlüssel, der für diese Funktion angegeben werden sollte, ist AD_BLOCK_DATA_READY.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAdBlockerStatus()) {
          case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
          case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
            // Insert handling for cases where the user is blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER:
            // Insert handling for cases where the user is not blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.UNKNOWN:
            // Insert handling for unknown cases.
            break;
      }
    }
  });
</script>

googlefc.getAllowAdsStatus(): {number}

Gibt einen Wert in AllowAdsStatusEnum zurück, je nach dem Status „Werbung zulassen“ des Nutzers. Der Schlüssel, der für diese Funktion angegeben werden sollte, ist AD_BLOCK_DATA_READY.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAllowAdsStatus()) {
        case googlefc.AllowAdsStatusEnum.ADS_NOT_ALLOWED:
          // Insert handling for cases where the user has not allowed ads.
          // The user may have never been an ad blocker.
          break;
        case googlefc.AllowAdsStatusEnum.ADS_ALLOWED:
          // Insert handling for cases where the user saw the ad blocking
          // message and allowed ads on the site.
          break;
        case googlefc.AllowAdsStatusEnum.UNKNOWN:
          // Insert handling for unknown cases.
          break;
      }
    }
  });
</script>

googlefc.usstatesoptout.getInitialUsStatesOptOutStatus(): {number}

Gibt einen Wert in InitialUsStatesOptOutStatusEnum zurück, der vom Widerspruchsstatus des Nutzers gemäß den Verordnungen von US-Bundesstaaten abhängt. Der Schlüssel, der für diese Funktion angegeben werden sollte, ist INITIAL_US_STATES_OPT_OUT_DATA_READY. Alle nachfolgenden Anfragen zu Daten zu den Verordnungen von US-Bundesstaaten sollten direkt über die GPP API (__gpp) erfolgen.

Wenn Sie den Link „Nicht verkaufen/teilen“ überschreiben, können Sie mit dieser Methode festlegen, wann der Link auf Ihrer Website eingefügt werden soll.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'INITIAL_US_STATES_OPT_OUT_DATA_READY':
    () => {
      switch (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()) {
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.DOES_NOT_APPLY:
          // Insert handling for cases where no US state regulation applies to
          // the user.
          break;
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to
          // the user, and the user has not opted out.
          break;
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to the
          // user, and the user has opted out.
          break;
      }
    }
  });
</script>

googlefc.usstatesoptout.openConfirmationDialog(function(boolean)): {undefined}

Öffnet das Bestätigungsdialogfeld für den Opt-out gemäß den US-Bundesstaatsverordnungen, wenn der Standardlink „Meine personenbezogenen Daten nicht verkaufen“ überschrieben wird. Sobald der Nutzer mit dem Bestätigungsdialogfeld interagiert, wird die bereitgestellte Callback-Funktion mit true aufgerufen, wenn der Nutzer sich abmeldet, und mit false, wenn er sich nicht abmeldet.

Beispiel:

<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  // Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
  "click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>

googlefc.getGoogleConsentModeValues(): {!Object}

Gibt ein googlefc.GoogleFcConsentModeUserStatus-Objekt mit den aktuellen Werten für jeden Zweck des Einwilligungsmodus zurück, basierend auf der Einwilligung des Nutzers.

Informationen zur beabsichtigten Verwendung finden Sie unter Google-Lösungen zur Einwilligungsverwaltung mit Unterstützung des Einwilligungsmodus für EU-Verordnungen verwenden.


googlefc.ccpa.getInitialCcpaStatus(): {number}

Gibt einen Wert in InitialCcpaStatusEnum zurück, der vom Widerspruchsstatus des Nutzers gemäß den Verordnungen von US-Bundesstaaten abhängt. Der Schlüssel, der für diese Funktion angegeben werden sollte, ist INITIAL_CCPA_DATA_READY. Alle nachfolgenden Anfragen zu Daten zur US-Bundesstaatsverordnung sollten durch direkten Aufruf der GPP API (__gpp) erfolgen.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'INITIAL_CCPA_DATA_READY':
    () => {
      switch (googlefc.ccpa.getInitialCcpaStatus()) {
        case googlefc.ccpa.InitialCcpaStatusEnum.CCPA_DOES_NOT_APPLY:
          // Insert handling for cases where no US state regulation applies to
          // the user.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to
          // the user, and the user has not opted out.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to the
          // user, and the user has opted out.
          break;
      }
    }
  });
</script>

googlefc.ccpa.openConfirmationDialog(function(boolean)): {undefined}

Öffnet das Bestätigungsdialogfeld für den Opt-out gemäß den US-Bundesstaatsverordnungen, wenn der Standardlink „Meine personenbezogenen Daten nicht verkaufen“ überschrieben wird. Sobald der Nutzer mit dem Bestätigungsdialogfeld interagiert, wird die bereitgestellte Callback-Funktion mit true aufgerufen, wenn der Nutzer sich abmeldet, und mit false, wenn er sich nicht abmeldet.

Beispiel:

<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  // Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>

Wenn Sie Lösungen von Google zur Einwilligungsverwaltung verwenden, um DSGVO-Einwilligungen im Rahmen des IAB TCF v2 zu erfassen, sollten Sie die IAB TCF v2-API verwenden.

Mit dem CONSENT_API_READY-Callback-Warteschlangenschlüssel können Sie dafür sorgen, dass entsprechende Callbacks nur aufgerufen werden, wenn die IAB TCF v2-API auf der Seite definiert ist. Dieses sollte in Verbindung mit dem Befehl 'addEventListener' der IAB TCF v2 API verwendet werden.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_API_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times as user completes consent flow.
    })
  });
</script>

Mit dem Callback-Warteschlangenschlüssel CONSENT_DATA_READY können Sie dafür sorgen, dass entsprechende Callbacks nur aufgerufen werden, wenn die Nutzereinwilligung eingeholt wurde und über die IAB TCF v2-API verfügbar ist. Dieser kann in Verbindung mit dem Befehl 'addEventListener' verwendet werden. Die Daten, die beim ersten Aufruf des von Ihnen bereitgestellten Callbacks angegeben werden, enthalten die Einwilligungsauswahl des Nutzers (sofern TCF 2.0 für diesen Nutzer gilt). Mit der Veröffentlichung von TCF v2.2 wurde der Befehl 'getTCData' eingestellt.

Beispiel:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_DATA_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times if user consent selections change.
    })
  });
</script>

Google-Lösungen zur Einwilligungsverwaltung können die Einwilligungsentscheidungen Ihrer Nutzer in Bezug auf EU-Verordnungen für den Google-Einwilligungsmodus interpretieren. Weitere Informationen

Der Einwilligungsmodus kann entweder im einfachen Modus oder im erweiterten Modus implementiert werden, wie in der Google Ads- und Analytics-Dokumentation beschrieben. Wenden Sie sich an Ihre Rechtsabteilung, um zu erfahren, welcher Einwilligungsmodus implementiert werden sollte, damit Sie Ihre rechtlichen Anforderungen erfüllen.

Der erweiterte Einwilligungsmodus wird standardmäßig unterstützt. Nachdem Sie den Einwilligungsmodus in der Benutzeroberfläche „Datenschutz & Mitteilungen“ aktiviert haben, sind keine zusätzlichen Schritte erforderlich.

Wenn Sie den einfachen Einwilligungsmodus mit Lösungen zur Einwilligungsverwaltung von Google implementieren möchten, können Sie den Callback-Warteschlangenschlüssel CONSENT_MODE_DATA_READY verwenden, um Ihre Google Ads- und Analytics-Tags bedingt zu laden, sobald Daten zum Einwilligungsmodus verfügbar sind. Daten zum Einwilligungsmodus sind verfügbar, nachdem Funding Choices festgestellt hat, dass der Einwilligungsmodus für diese Anfrage nicht gilt (z. B. weil die EU-Verordnungen für diese Anfrage nicht gelten) oder nachdem ein Nutzer eine Entscheidung zur Einwilligung gemäß EU-Verordnungen getroffen hat. Sie sollten sich von Ihrer Rechtsabteilung beraten lassen, welche Kriterien Sie verwenden sollten, um festzustellen, ob Ihre Tags geladen werden können, sobald der Einwilligungsmodus verfügbar ist.

Wenn Sie Ihre Tags beispielsweise laden möchten, sobald Daten zum Einwilligungsmodus verfügbar sind, unabhängig von der Einwilligungsentscheidung des Endnutzers:

<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

// Helper function to load Google Ads/Analytics tags once consent mode data is
// ready.
const loadGtagScript = () => {
  // Load gtag.js script - code taken from
  // https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
  var gtagScript = document.createElement('script');
  gtagScript.async = true;
  gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';

  var firstScript = document.getElementsByTagName('script')[0];
  firstScript.parentNode.insertBefore(gtagScript,firstScript);
}

// Queue the callback using the CONSENT_MODE_DATA_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
  'CONSENT_MODE_DATA_READY':
  () => {
      loadGtagScript();
  },
});
</script>

Sie können auch die googlefc.getGoogleConsentModeValues() API verwenden, um die Werte einzelner Zwecke im Einwilligungsmodus abzurufen, wenn Daten zum Einwilligungsmodus verfügbar sind. Diese API gibt ein GoogleFcConsentModeUserStatus-Objekt zurück, das ein Feld für jeden unterstützten Zweck des Einwilligungsmodus enthält. Der Wert jedes Felds ist ein Enum-Wert, der den Wert des jeweiligen Zwecks des Einwilligungsmodus angibt.

Sie können googlefc.getGoogleConsentModeValues() beispielsweise verwenden, um Ihre Google Ads- und Analytics-Tags nur dann zu entsperren, wenn:

  • Der Endnutzer trifft eine Einwilligungsentscheidung gemäß EU-Verordnungen, die dazu führt, dass die Einwilligung für alle Zwecke des Einwilligungsmodus erteilt wird, oder
  • Alle Einwilligungsmodus-Zwecke sind für die aktuelle Anfrage nicht anwendbar. Das kann passieren, wenn EU-Verordnungen nicht gelten oder der Einwilligungsmodus für einen oder mehrere Zwecke unter „Datenschutz und Mitteilungen“ nicht konfiguriert ist.
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

// Helper function to determine whether Google Ads and Analytics tags can be
// unblocked. Returns true if all consent mode purposes are set to GRANTED,
// NOT_APPLICABLE, or NOT_CONFIGURED.
const shouldUnblockConsentTags = (googleFcConsentModeStatus) => {
  const allConsentModeValues = [
    googleFcConsentModeStatus.adStoragePurposeConsentStatus,
    googleFcConsentModeStatus.adUserDataPurposeConsentStatus,
    googleFcConsentModeStatus.adPersonalizationPurposeConsentStatus,
    googleFcConsentModeStatus.analyticsStoragePurposeConsentStatus
  ];
  for (const consentModeValue of allConsentModeValues) {
    switch (consentModeValue) {
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_UNKNOWN:
        // Indicates either an error case or that consent mode data is not
        // ready yet. Cannot unblock tags until consent data is ready and valid,
        // so return false.
        return false;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_GRANTED:
        // Consent is granted for this consent mode purpose.
        break;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_DENIED:
        // Consent is denied for this consent mode purpose. Do not unblock tags.
        return false;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_APPLICABLE:
        // Consent mode does not apply for this purpose.
        break;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_CONFIGURED:
        // Consent mode not configured for this purpose.
        // If you configured support for Ads purposes but not Analytics purposes in the
        // Privacy & messaging UI, the value of `analyticsStoragePurposeConsentStatus` will
        // always be set to NOT_CONFIGURED. If you do not enable any Consent Mode support
        // in the Privacy & messaging UI, the values of all purposes will always be set to
        // NOT_CONFIGURED.
        break;
      default:
        console.log("Unexpected consent mode value encountered");
    }
  }
  // If all prior checks pass, all consent mode values are either GRANTED,
  // NOT_APPLICABLE, or NOT_CONFIGURED.
  return true;
};

// Helper function to load Google Ads/Analytics tags.
const loadGtagScript = () => {
  // Load gtag.js script - code taken from
  // https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
  var gtagScript = document.createElement('script');
  gtagScript.async = true;
  gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';

  var firstScript = document.getElementsByTagName('script')[0];
  firstScript.parentNode.insertBefore(gtagScript,firstScript);
}

googlefc.callbackQueue.push({
  CONSENT_MODE_DATA_READY: () => {
    if (shouldUnblockConsentTags(googlefc.getGoogleConsentModeValues())) {
      loadGtagScript();
    }
  },
});
</script>

Wenn Sie Lösungen zur Einwilligungsverwaltung von Google verwenden, um Endnutzern Deaktivierungsmitteilungen gemäß den US-Bundesstaatsverordnungen im Rahmen des IAB GPP-Frameworks zu präsentieren, sollten Sie die IAB GPP API verwenden.

Da die Verordnungen der US-Bundesstaaten auf der Opt-out-Funktion basieren, können Sie entweder den Callback-Warteschlangenschlüssel CONSENT_API_READY oder CONSENT_DATA_READY verwenden, um sicherzustellen, dass die IAB GPP API aufgerufen werden kann und Einwilligungsdaten zurückgibt, wenn Callbacks aufgerufen werden.

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __gpp('ping', (data, success) => {
        // Do something with consent data value.
    })
  });
</script>

Wenn Sie Lösungen zur Einwilligungsverwaltung von Google verwenden, um Endnutzern im Rahmen des IAB GPP-Frameworks Deaktivierungsmitteilungen zu US-Bundesstaaten-Verordnungen zu präsentieren, können Sie einen eigenen benutzerdefinierten Link „Do Not Sell or Share“ (Nicht verkaufen oder weitergeben) angeben, indem Sie das Flag googlefc.usstatesoptout.overrideDnsLink auf true setzen.

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Signals that the default DNS link will be overridden.
  window.googlefc.usstatesoptout.overrideDnsLink = true;

  // Register the callback for the initial US state regulations data.
  window.googlefc.callbackQueue.push({
      'INITIAL_US_STATES_OPT_OUT_DATA_READY': () => {
        if (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() ===
            googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT) {
          // TODO: Display custom Do Not Sell or Share link here.
        }
      }
    });
</script>

So wird sichergestellt, dass der Standardlink „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ nicht gerendert wird. Anschließend müssen Sie die Nutzerinteraktion mit Ihrem benutzerdefinierten Link „Nicht verkaufen oder teilen“ verarbeiten, indem Sie das Bestätigungsdialogfeld für den Opt-out gemäß Verordnungen von US-Bundesstaaten aufrufen.

Wenn Sie einen eigenen benutzerdefinierten Link „Nicht verkaufen oder teilen“ verwenden, sind Sie dafür verantwortlich, dass Ihr Link den Verordnungen von US-Bundesstaaten entspricht.

<script>
// This callback will be called when the user makes a US state regulations
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  if (userOptedOut) {
    // TODO: Hide custom Do Not Sell or Share link here.
  }
}
// Invoke the US state regulations opt-out confirmation dialog when the user
// clicks the link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
  "click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>