Datenschutz und Messaging JavaScript API

Einführung

Diese API bietet Tools für die Interaktion mit Nachrichten der Datenschutz- und Nachrichten. Sie können mit ihr:

  • Nachrichten für bestimmte Nutzer unterdrücken
  • Status der Anzeigenblockierung eines Nutzers abfragen
  • Einem Nutzer erlauben, seine Einwilligung zu widerrufen (falls zutreffend)

Sie können diese Tools auch verwenden, um die Nutzereinwilligung mithilfe einiger Branchenstandards einzuholen. Protokolle:

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

Sie können diese Nutzermitteilungsfunktion in wenigen Möglichkeiten:

  1. In den meisten Fällen müssen Sie Ihre bestehenden Google-Tags Verlag oder Webpublisher Taggen oder AdSense-Tag wird bereitgestellt Nutzermitteilungen, sobald die Mitteilung im jeweiligen Produkt veröffentlicht wurde.
  2. Wenn Sie die Mitteilung zum Ausgleich von Werbeumsatz verwenden, müssen Sie die Anzeige -Tag explizit auf Ihrer Seite hinzu. Anzeige ansehen Administrator und AdSense-Tagging finden Sie weitere Informationen.

googlefc ist der globale Namespace, den die Nachrichtenfunktion für Nutzer verwendet. für die zugehörige API in der JavaScript-Window.

<ph type="x-smartling-placeholder">

Zusammenfassungen der Felder

Name Typ Definition
googlefc.controlledMessagingFunction function(!Objekt) Eine Funktion, die bestimmt, ob mit der Kommunikation fortgefahren wird. Diese Funktion wird für alle Nachrichtentypen unterstützt.
googlefc.callbackQueue !Array<!Object<string, function()>> | !Array&lt;function()&gt; | !googlefc.CallbackQueue Verweis auf die Callback-Warteschlange für die asynchrone Ausführung von Nutzermitteilungsabfragen.
googlefc.CallbackQueue !Object Der Typ des Callback-Warteschlangenobjekts.
googlefc.AdBlockerStatusEnum !Objekt<String, Zahl> Eine Aufzählung, die den Werbeblocker-Status des Nutzers darstellt.
googlefc.AllowAdsStatusEnum !Objekt<String, Zahl> Eine Aufzählung, die den Status „Anzeigen zulassen“ des Nutzers darstellt.
googlefc.ccpa.InitialCcpaStatusEnum !Objekt<String, Zahl> Ein Enum-Wert, der den anfänglichen CPRA-Status des Nutzers darstellt.
googlefc.ccpa.overrideDnsLink nicht definiert|boolesch Ein boolescher Wert, der auf „true“ gesetzt werden kann, um einen benutzerdefinierten „Do Not Sell“-Link zu verwenden.

Methodenzusammenfassungen

Name Rückgabetyp Definition
googlefc.showRevocationMessage() nicht definiert Löscht den Einwilligungseintrag und lädt das Skript googlefc neu, um die für den Nutzer geltende Mitteilung zur Einwilligung der Nutzer in der EU anzuzeigen.
googlefc.getAdBlockerStatus() Zahl Gibt abhängig vom Werbeblockerstatus des Nutzers einen Wert im AdBlockerStatusEnum zurück.
googlefc.getAllowAdsStatus() Zahl Gibt abhängig vom „allow-ads“-Status des Nutzers einen Wert im AllowAdsStatusEnum zurück.
googlefc.ccpa.getInitialCcpaStatus() Zahl Gibt abhängig vom anfänglichen CPRA-Status des Nutzers einen Wert im InitialCcpaStatusEnum zurück.
googlefc.ccpa.openConfirmationDialog(function(boolean)) nicht definiert Öffnet das CPRA-Bestätigungsdialogfeld, wenn der Standardlink „Nicht verkaufen“ überschrieben wird.

Website testen und Fehler beheben

Datenschutz und Messaging bietet Debugging- und Testfunktionen, mit denen Sie wie bestimmte Nachrichten (oder Kombinationen von Nachrichten) auf Ihren der Website.

Voraussetzungen:

  • Die Mitteilungen, die Sie in der Vorschau ansehen möchten, müssen auf der Website veröffentlicht werden, Tests gegen

Mit der folgenden Debugging-URL können Sie eine Livevorschau auf Ihrer Website aufrufen. Parameter:

Debug-Parameter Zulässige Werte
fc alwaysshow (zum Auslösen des Debug-/Vorschaumodus)
fctype ab (Mitteilungen zu Werbeblockern), ccpa (Mitteilungen zum Nutzerwiderspruch gegen CPRA), gdpr (Mitteilungen zur Einwilligung der Nutzer in der EU), monetization (Offerwall-Mitteilungen)

Hier einige Beispiele, wie Sie diese Funktion für die Vorschau auf Ihrer Website (foo.com) verwenden:

  • CPRA-Mitteilung testen – http://foo.com/?fc=alwaysshow&fctype=ccpa
  • DSGVO-Mitteilungen testen – http://foo.com/?fc=alwaysshow&fctype=gdpr
<ph type="x-smartling-placeholder">

Felder: Erläuterungen und Beispiele

googlefc.controlledMessagingFunction {function(!Object)}

Eine Funktion, die bestimmt, ob Nachrichten angezeigt werden sollen oder nicht. Es kann sein, wird verwendet, um das Nachrichten-Rendering unter vom Publisher angegebenen Bedingungen zu steuern, z. B. oder die Seiten-URL ändern.

Wenn Sie googlefc.controlledMessagingFunction im Fenster vor dem Andere Skripts werden geladen, Nachrichten werden erst angezeigt, wenn Sie message.proceed(boolean). Wenn du message.proceed(true) aufrufst, kannst du die Nachrichtenfunktion wie gewohnt fortfahren, während durch das Aufrufen von message.proceed(false) für den Seitenaufruf nicht mehr angezeigt.

Beispiel: Angenommen, auf der Seite befindet sich dieses Skript, das ein asynchrones determineIfUserIsSubscriber()-Funktion, die prüft, ob der angemeldete Nutzer ein Abonnenten.

<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>

Dies ist ein Beispiel dafür, wie Sie googlefc.controlledMessagingFunction, um die Nachricht nur anzuzeigen für Nichtabonnenten.

<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, die es Publishern ermöglicht, der geschlossenen Betaversion von Offerwall, um anzugeben, dass nur die Offerwall unterdrückt wird. Andere Mitteilungstypen sind von der Aktivierung dieser Funktion nicht betroffen.

Für Offerwall-spezifische, gesteuerte Mitteilungen wird eine zusätzliche -Parameter für message.proceed(), eine Array vom Typ googlefc.MessageTypeEnum.

Beispiel: Dies ist ein Beispiel für die Verwendung von googlefc.controlledMessagingFunction, um nur die Offerwall-Bereitstellung für Abonnenten unterdrücken, Nachrichtentypen:

<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 nachrichtenbezogenen Telefonkonferenzen. Die einzige unterstützte Methode zum Aufrufen einer Funktion ist und es zu callbackQueue hinzufügen.

Da verschiedene Datentypen zu unterschiedlichen Zeiten verfügbar sind, sollte als Zuordnung mit einem der folgenden Strings als Schlüssel und dem -Funktion, die als Wert ausgeführt werden soll.

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 verschoben werden, werden ausgeführt, wenn die APIs für unterstützte Einwilligungs-Frameworks definiert und aufrufbar sind. Ab diesem Zeitpunkt erfolgt die Ausführung aller nachfolgend hinzugefügten Funktionen mit CONSENT_API_READY synchron. Framework-spezifische Details finden Sie in den Abschnitten zu den 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 Nutzereinwilligung bekannt ist, die mit einem unterstützten Framework zur Einwilligung der Nutzer in der EU erfasst wurde – entweder bei einer früheren Ausführung oder wenn der Nutzer mit der Mitteilung zur Einwilligung der Nutzer in der EU interagiert. Ab diesem Zeitpunkt erfolgt die Ausführung aller nachfolgend hinzugefügten Funktionen mit CONSENT_DATA_READY 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, sobald Daten zu Werbeblockern im Ablauf verfügbar sind. Ab diesem Zeitpunkt erfolgt die Ausführung aller nachfolgend hinzugefügten Funktionen mit AD_BLOCK_DATA_READY synchron. Hoch
INITIAL_CCPA_DATA_READY Funktionen, die mit dem INITIAL_CCPA_DATA_READY in die Callback-Warteschlange verschoben werden, werden ausgeführt, sobald CPRA-Daten im Ablauf verfügbar sind. Alle nachfolgenden CPRA-Daten müssen direkt über die US Privacy API (__uspapi) abgerufen werden. Mittel

googlefc.CallbackQueue {!Object}

Zusammenfassung der Methode:

Name Typ Parameter Rückgabetyp Rolle
push(data) Zahl data: Ein Schlüssel/Wert-Paar, bei dem der Schlüssel eines der Daten ist. Verfügbarkeitstypen und den Wert als auszuführende JavaScript-Funktion. Zulässige Datenverfügbarkeitsschlüssel sind CONSENT_API_READY, CONSENT_DATA_READY, AD_BLOCK_DATA_READY und INITIAL_CCPA_DATA_READY. Die Anzahl der bisher hinzugefügten Befehle. Gibt die aktuelle Länge des Arrays zurück. Führt die übergebene Funktion in der Reihenfolge aus, in der die Daten werden und zwar nach der Reihenfolge, in der diese Funktionen zum in die Warteschlange stellen.

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({
    'AD_BLOCK_DATA_READY':
    () => {
      if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
        // Handle a non-ad blocking user.
      }
    }
  });
</script>

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

Die verschiedenen Anzeigenblockierungsstatus des Nutzers. Die verschiedenen Bundesstaaten 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>}

Die verschiedenen Status der Anzeigen, die bei der Anzeigenblockierung zugelassen sind, des Nutzers. Die verschiedenen Bundesländer 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.ccpa.InitialCcpaStatusEnum{!Object<string, number>}

Die verschiedenen Status der Anzeigen, die bei der Anzeigenblockierung zugelassen sind, des Nutzers. Die verschiedenen Bundesländer sind:

googlefc.ccpa.InitialCcpaStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // CPRA does not apply to this user.
  CCPA_DOES_NOT_APPLY: 1,
  // CPPA applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // CPPA 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 „Nicht verkaufen“ auszublenden und einen benutzerdefinierten „Do Not Sell“-Link.

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>}

  1. Jetzt wird beim Aufruf immer eine leere Liste zurückgegeben.

googlefc.showRevocationMessage(): {undefined}

Löscht den aktuellen Einwilligungseintrag und zeigt die folgende Mitteilung zur Einwilligung der Nutzer in der EU an: die für diesen Nutzer relevant sind. Der Schlüssel, der für diese Funktion angegeben werden muss, ist CONSENT_DATA_READY

Beispiel:

<button type="button" onclick="googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => googlefc.showRevocationMessage()});">
  Click here to revoke
</button>

googlefc.getAdBlockerStatus(): {number}

Gibt abhängig vom Werbeblockerstatus einen Wert im AdBlockerStatusEnum zurück der Nutzenden. Der Schlüssel, der für diese Funktion angegeben werden muss, ist AD_BLOCK_DATA_READY

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({
    '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 im AllowAdsStatusEnum zurück, der abhängig vom Status „allow-ads“ von Nutzenden. Der Schlüssel, der für diese Funktion angegeben werden muss, ist AD_BLOCK_DATA_READY

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({
    '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.ccpa.getInitialCcpaStatus(): {number}

Gibt abhängig vom CPRA-Status von InitialCcpaStatusEnum einen Wert zurück. Nutzenden. Der Schlüssel, der für diese Funktion angegeben werden muss, ist INITIAL_CCPA_DATA_READY Beachten Sie, dass jede nachfolgende Anfrage nach CPRA-Daten können durch direktes Aufrufen der US Privacy API (__uspapi) abgerufen werden.

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 the user is not CPRA eligible.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where the user is CPRA eligible and has
          // not opted out.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
          // Insert handling for cases where the user is CPRA eligible and has
          // opted out.
          break;
      }
    }
  });
</script>

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

Öffnet das CPRA-Bestätigungsdialogfeld, wenn der Standardlink „Nicht verkaufen“ lautet überschrieben. Sobald der Nutzer mit dem Bestätigungsdialogfeld interagiert, werden die Die Callback-Funktion wird mit true aufgerufen, wenn der Nutzer die Funktion deaktiviert. Andernfalls false.

Beispiel:

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

Sie verwenden Google-Lösungen zur Einwilligungsverwaltung, um DSGVO-Einwilligungen einzuholen Unter dem IAB TCF 2 müssen Sie das IAB TCF v2 verwenden. API hinzu.

Sie können die CONSENT_API_READY verwenden -Rückrufwarteschlangenschlüssel, um sicherzustellen, dass entsprechende Rückrufe nur aufgerufen werden, wenn die IAB TCF v2 API auf der Seite definiert ist. Dies sollte in Verbindung mit mit dem 'addEventListener' der IAB TCF v2 API verwenden.

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>

Sie können die CONSENT_DATA_READY -Rückrufwarteschlangenschlüssel, um sicherzustellen, dass entsprechende Rückrufe aufgerufen werden Die Nutzereinwilligung wird nur über die IAB TCF v2 API erfasst und abgerufen. Dies kann in Verbindung mit dem 'addEventListener' Befehl – Daten, die beim ersten Aufruf des angegebenen Callbacks bereitgestellt wurden enthält die ausgewählten Einwilligungsoptionen des Nutzers (solange Version 2 des TCF für diese Nutzer). Mit der Veröffentlichung von TCF 2.2 'getTCData' wurde verworfen.

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 mit dem IAB GPP-Framework für CPRA verwenden

Wenn Sie Google-Lösungen zur Einwilligungsverwaltung zum Erfassen der CPRA-Widerrufsbelehrung verwenden IAB GPP-Framework befolgen, sollten Sie die IAB GPP verwenden, API hinzu.

Aufgrund der Widerspruchsmöglichkeit der CPRA-Verordnung können Sie entweder die CONSENT_API_READY oder CONSENT_DATA_READY-Callback Warteschlangenschlüssel, um sicherzustellen, dass die GPP API des IAB aufrufbar ist und Einwilligungsdaten zurückgibt wenn Callbacks aufgerufen werden.

<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.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __uspapi('getUSPData', 1, (data, success) => {
      // Do something with consent data value.
    })
  });
</script>

Verwendung von Google-Lösungen zur Einwilligungsverwaltung mit dem IAB GPP-Framework für CPRA mit einem benutzerdefinierten „Do Not Sell“-Link

Wenn Sie Google-Lösungen zur Einwilligungsverwaltung zum Erfassen der CPRA-Widerrufsbelehrung verwenden GPP-Framework gemäß IAB-Standards die Möglichkeit, einen benutzerdefinierten "Do Not Sell"-Link bereitzustellen, indem Sie das Flag googlefc.ccpa.overrideDnsLink auf true setzen.

<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 || [];

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

  // Register the callback for the initial CPRA data.
  window.googlefc.callbackQueue.push({
      'INITIAL_CCPA_DATA_READY': () => {
        if (googlefc.ccpa.getInitialCcpaStatus() ===
            googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT) {
          // TODO: Display custom CPRA Do Not Sell link here.
        }
      }
    });
</script>

Dadurch wird sichergestellt, dass der Standardlink „Nicht verkaufen“ nicht gerendert wird. Beachten Sie, dass Sie sind dafür verantwortlich, Ihren eigenen „Nicht verkaufen“-Link zu rendern, mit dem CPRA. Anschließend müssen Sie die Nutzerinteraktion mit der benutzerdefinierten Link verkaufen, indem das CPRA-Bestätigungsdialogfeld aufgerufen wird.

<script>
// This callback will be called with the user CPRA decision.
const ccpaCompletionCallback = (userOptedOut) => {
  if (userOptedOut) {
    // TODO: Hide custom CPRA Do Not Sell link here.
  }
}
// Invoke the CPRA confirmation dialog when the user clicks the link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>