Einführung
Diese API bietet Tools für die Interaktion mit Mitteilungen, die auf dem Tab „Datenschutz und Mitteilungen“ angeboten werden. Sie können mit ihr:
- Mitteilungen für einen bestimmten Nutzer unterdrücken
- den Status der Anzeigenblockierung eines Nutzers abfragen
- Einen Einstiegspunkt rendern, über den Nutzer die Einwilligung gemäß EU-Verordnungen widerrufen können
- den standardmäßigen Link „Nicht verkaufen“ für Verordnungen von US-Bundesstaaten überschreiben
- Google Ads- und Analytics-Tags basierend auf dem Status des Einwilligungsmodus für EU-Verordnungen bedingt laden
und mehr
Sie können diese Tools auch verwenden, um die Nutzereinwilligung mithilfe von Branchenstandards einzuholen:
- DSGVO-Einwilligung gemäß den Spezifikationen von Version 2 des IAB TCF
- Opt-outs gemäß Verordnungen von US-Bundesstaaten mithilfe der GPP-Spezifikation des IAB
In diesen Fällen wird der Einwilligungsstatus über diese APIs kommuniziert.
Sie können diese Funktion für Nutzermitteilungen auf Ihrer Website auf verschiedene Arten bereitstellen:
- In den meisten Fällen müssen Sie keine neuen Tags einfügen. Ihre vorhandenen Google Publisher-Tags oder AdSense-Tags stellen Nutzermitteilungen bereit, sobald die Mitteilung im entsprechenden Produkt veröffentlicht wurde.
- 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 Tagging-Anleitungen für Ad Manager und AdSense.
googlefc ist der globale Namespace, den die Funktion für Nutzermitteilungen für ihre API im JavaScript-Window verwendet.
Feldzusammenfassungen
| Name | Typ | Definition |
|---|---|---|
googlefc.controlledMessagingFunction
|
function(!Object) | Eine Funktion, die bestimmt, ob mit der Nachrichtenübermittlung 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, das den Status des Werbeblockers des Nutzers darstellt. |
googlefc.AllowAdsStatusEnum
|
!Object<string, number> | Ein Enum, das den Status der Anzeigeneinwilligung des Nutzers darstellt. |
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum
|
!Object<string, number> | Ein Enum, das den ursprünglichen Status der Opt-out-Option für US-Bundesstaaten des Nutzers 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 Ihren eigenen benutzerdefinierten Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ zu verwenden. |
googlefc.ccpa.InitialCcpaStatusEnum
Legacy. Bevorzugen Sie googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.
|
!Object<string, number> | Ein Enum, das den ursprünglichen Status des Nutzers gemäß den Bestimmungen von US-Bundesstaaten darstellt. |
googlefc.ccpa.overrideDnsLink
Legacy. Bevorzugen Sie googlefc.usstatesoptout.overrideDnsLink.
|
undefined|boolean | Ein boolescher Wert, der auf „true“ gesetzt werden kann, um Ihren eigenen benutzerdefinierten Link „Meine Daten nicht verkaufen oder weitergeben“ zu verwenden. |
Methodenzusammenfassungen
| Name | Rückgabetyp | Definition |
|---|---|---|
googlefc.showRevocationMessage()
|
nicht definiert |
Löscht den Einwilligungseintrag und lädt das googlefc-Script neu, um die für den Nutzer geltende Mitteilung zur Einwilligung der Nutzer in der EU anzuzeigen.
|
googlefc.getAdBlockerStatus()
|
Zahl |
Gibt einen Wert in AdBlockerStatusEnum zurück, der vom Werbeblockerstatus des Nutzers abhängt.
|
googlefc.getAllowAdsStatus()
|
Zahl |
Gibt je nach Status der Anzeigenzulassung des Nutzers einen Wert in AllowAdsStatusEnum zurück.
|
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()
|
Zahl |
Gibt je nach ursprünglichem Status der Ablehnung von Mitteilungen gemäß Verordnungen von US-Bundesstaaten einen Wert in InitialUsStatesOptOutStatusEnum zurück. Dabei werden die Bestimmungen berücksichtigt, die für den Nutzer an seinem aktuellen Standort gelten.
|
googlefc.usstatesoptout.openConfirmationDialog(function(boolean))
|
nicht definiert | Öffnet das Dialogfeld zur Bestätigung der Deaktivierung gemäß 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. Bevorzugen Sie googlefc.usstatesoptout.getInitialUsStatesOptOutStatus().
|
Zahl |
Gibt einen Wert in InitialCcpaStatusEnum zurück, je nachdem, ob der Nutzer die Mitteilung gemäß Verordnungen von US-Bundesstaaten ursprünglich deaktiviert hat.
|
googlefc.ccpa.openConfirmationDialog(function(boolean))
Legacy. Bevorzugen Sie googlefc.usstatesoptout.openConfirmationDialog().
|
nicht definiert | Öffnet das Dialogfeld zur Bestätigung der Deaktivierung gemäß Verordnungen von US-Bundesstaaten, wenn der standardmäßige Link „Nicht verkaufen oder teilen“ überschrieben wird. |
Testen und Fehlerbehebung auf Ihrer Website
„Datenschutz und Mitteilungen“ bietet Debugging- und Testfunktionen, 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 sich als Vorschau ansehen möchten, müssen auf der Website veröffentlicht sein, die Sie testen.
Sie können sich eine Livevorschau auf Ihrer Website ansehen, indem Sie die folgenden URL-Parameter für die Fehlerbehebung verwenden:
| Debug-Parameter | Zulässige Werte |
|---|---|
fc |
alwaysshow (zum Auslösen des Debug-/Vorschaumodus) |
fctype |
ab (Mitteilungen an Nutzer mit Werbeblocker), ccpa (Mitteilungen zur Deaktivierung gemäß Verordnungen von US-Bundesstaaten), gdpr (DSGVO-konforme Mitteilung zur Einwilligung der Nutzer in der EU), monetization (Offerwall-Mitteilungen), usfl (Mitteilungen zur Deaktivierung gemäß Verordnungen von US-Bundesstaaten, Florida-spezifisch), usnat (Mitteilungen zur Deaktivierung gemäß Verordnungen von US-Bundesstaaten, alle unterstützten Bundesstaaten außer Florida; entspricht ccpa) |
Hier sind einige Beispiele, wie Sie diese Funktion für die Vorschau auf Ihrer Website (foo.com) verwenden können:
- Widerspruchsmitteilungen 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. Sie kann verwendet werden, um die Darstellung von Mitteilungen von vom Publisher festgelegten Bedingungen wie dem Abonnentenstatus oder der Seiten-URL abhängig zu machen.
Wenn Sie googlefc.controlledMessagingFunction im Fenster definieren, bevor andere Scripts geladen werden, werden Nachrichten erst angezeigt, wenn Sie message.proceed(boolean) aufrufen. Wenn Sie message.proceed(true) aufrufen, werden die Mitteilungen wie gewohnt angezeigt. Wenn Sie message.proceed(false) aufrufen, werden für den Seitenaufruf keine Mitteilungen angezeigt.
Beispiel: Angenommen, du hast dieses Skript auf der Seite, das eine asynchrone Funktion determineIfUserIsSubscriber() definiert, die prüft, 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 Nicht-Abonnenten 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 bestimmte Mitteilungstypen unterdrückt werden sollen. Mit dieser Funktionserweiterung können Sie bestimmte Nachrichtentypen unterdrücken, ohne andere Nachrichtentypen zu unterdrücken.
Die nachrichtentypspezifische kontrollierte Nachrichtenübermittlung wird erreicht, indem ein zusätzlicher Parameter an message.proceed() übergeben wird, ein Array vom Typ googlefc.MessageTypeEnum.
Beispiel: Hier sehen Sie ein Beispiel für die Verwendung von googlefc.controlledMessagingFunction, um die Auslieferung von Offerwalls nur für Abonnenten zu unterdrücken, ohne andere Mitteilungstypen 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>
Verweis auf die globale Callback-Warteschlange für die asynchrone Ausführung von Messaging-bezogenen Aufrufen. Die einzige unterstützte Möglichkeit, eine Funktion aufzurufen, besteht darin, sie dem callbackQueue hinzuzufügen.
Da verschiedene Datentypen zu unterschiedlichen Zeiten verfügbar werden, sollte eine Funktion als Zuordnung hinzugefügt werden, wobei einer der folgenden Strings als Schlüssel und die auszuführende Funktion als Wert verwendet wird.
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 gestellt werden, werden ausgeführt, wenn die APIs für unterstützte Frameworks zur Einholung von Einwilligungen definiert und aufrufbar sind. Ab diesem Zeitpunkt werden alle nachfolgend hinzugefügten Funktionen mit dem Schlüssel CONSENT_API_READY synchron ausgeführt. Framework-spezifische Details 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 gestellt werden, werden ausgeführt, wenn die Nutzereinwilligung, die im Rahmen eines unterstützten Einwilligungs-Frameworks eingeholt wurde, bekannt ist (entweder aus einer vorherigen Ausführung oder sobald der Nutzer mit der Mitteilung zur Einwilligung der Nutzer in der EU interagiert). Ab diesem Zeitpunkt werden alle nachfolgend hinzugefügten Funktionen mit dem Schlüssel CONSENT_DATA_READY synchron ausgeführt.
|
Hoch |
AD_BLOCK_DATA_READY
|
Funktionen, die mit dem Schlüssel AD_BLOCK_DATA_READY in die Callback-Warteschlange gestellt werden, werden ausgeführt, wenn Daten zur Anzeigenblockierung im Ablauf verfügbar sind. Ab diesem Zeitpunkt werden alle nachfolgend hinzugefügten Funktionen mit dem Schlüssel AD_BLOCK_DATA_READY synchron ausgeführt.
|
Hoch |
CONSENT_MODE_DATA_READY
|
Funktionen, die mit dem Schlüssel CONSENT_MODE_DATA_READY in die Callback-Warteschlange gestellt werden, werden ausgeführt, wenn Google-[Einwilligungsmodus](https://support.google.com/google-ads/answer/10000067)-Daten (zur Verwendung mit Google Ads- und Analytics-Tags) im Ablauf verfügbar werden. Sobald die Daten zum Einwilligungsmodus bereit sind, können Sie jederzeit über googlefc.getGoogleConsentModeValues auf die Werte des Einwilligungsmodus 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 gestellt werden, werden ausgeführt, wenn Daten zu Bestimmungen von US-Bundesstaaten im Ablauf verfügbar sind. Alle nachfolgenden Anfragen zu Daten, die den Datenschutzgesetzen von US-Bundesstaaten unterliegen, sollten durch einen direkten Aufruf der GPP API (__gpp) erfolgen.
|
Mittel |
INITIAL_CCPA_DATA_READY
|
Legacy-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 an die Callback-Warteschlange gesendet werden, werden ausgeführt, wenn Daten zu den Bestimmungen von US-Bundesstaaten im Ablauf verfügbar sind. Alle nachfolgenden Anfragen für Daten zu Bestimmungen von US-Bundesstaaten sollten durch einen direkten Aufruf der 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 Datenverfügbarkeitstypen und der Wert eine auszuführende JavaScript-Funktion ist.
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. Gibt die aktuelle Länge des Arrays zurück. | 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 Status 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 Status der Anzeigenblockierung dar, die der Nutzer für die Zulassung von Anzeigen festgelegt hat. 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. Die verschiedenen Status sind:
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 Endnutzereinwilligung für einen Zweck des 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}
Legen Sie für dieses Feld „true“ fest, um den standardmäßigen Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ auszublenden und Ihren eigenen benutzerdefinierten Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ zu verwenden. Diese Funktion wird nur in Ad Manager unterstützt.
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. Die verschiedenen Status sind:
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}
Legen Sie für dieses Feld „true“ fest, um den standardmäßigen Link „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 „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ zu rendern. Dieses Feld sollte in Verbindung mit openConfirmationDialog verwendet werden. Außerdem wird die Verwendung eines eigenen benutzerdefinierten Links „Nicht verkaufen oder teilen“ für die Mitteilungsfunktion „Verordnungen von US-Bundesstaaten“ nur in Ad Manager unterstützt.
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>}
- Bei einem Aufruf wird jetzt immer eine leere Liste zurückgegeben.
googlefc.showRevocationMessage(): {undefined}
Löscht den aktuellen Datensatz zur Einwilligung gemäß EU-Verordnungen, falls vorhanden, und zeigt die Mitteilung gemäß EU-Verordnungen noch einmal an, damit der Nutzer seine Einwilligungsentscheidung ändern kann.
Beispiel 1: Einfaches Beispiel für die Einrichtung eines Links, über den die Mitteilung zum Widerruf der Einwilligung angezeigt wird, wenn darauf geklickt wird:
<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-Bestimmungen für den aktuellen Nutzer gelten, können Sie die googlefc-Callback-Warteschlange mit der TCF API verwenden, um die Anzeige der Schaltfläche basierend auf dem gdprApplies-Wert 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, der vom Werbeblockerstatus des Nutzers abhängt. 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.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 je nach Status der Anzeigenzulassung des Nutzers einen Wert in AllowAdsStatusEnum zurück. 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.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, je nachdem, ob der Nutzer die Deaktivierung gemäß den Verordnungen von US-Bundesstaaten vorgenommen hat. Der Schlüssel, der für diese Funktion angegeben werden muss, ist INITIAL_US_STATES_OPT_OUT_DATA_READY. Alle nachfolgenden Anfragen nach Daten zu Bestimmungen von US-Bundesstaaten sollten durch direkten Aufruf der GPP API (__gpp) erfolgen.
Wenn Sie den Link „Meine persönlichen Daten nicht verkaufen oder weitergeben“ ü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 die Deaktivierung gemäß den Bestimmungen von US-Bundesstaaten, wenn der standardmäßige Link „Meine persönlichen 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 gegen die Aktivierung entscheidet, andernfalls mit false.
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 Einwilligungsentscheidung des Nutzers.
Informationen zur vorgesehenen Verwendung finden Sie unter Google-Lösungen zur Einwilligungsverwaltung mit Unterstützung des Einwilligungsmodus für EU-Verordnungen verwenden.
googlefc.ccpa.getInitialCcpaStatus(): {number}
Gibt je nach Status der Deaktivierung der Verordnungen von US-Bundesstaaten durch den Nutzer einen Wert in InitialCcpaStatusEnum zurück. Der Schlüssel, der für diese Funktion angegeben werden muss, ist INITIAL_CCPA_DATA_READY. Alle nachfolgenden Anfragen für Daten zu US-Bundesstaaten sollten durch direkten Aufruf der GPP API (__gpp) 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 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 die Deaktivierung gemäß den Bestimmungen von US-Bundesstaaten, wenn der standardmäßige Link „Meine persönlichen 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 gegen die Aktivierung entscheidet, andernfalls mit false.
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>
Google-Lösungen zur Einwilligungsverwaltung mit dem IAB TCF 2 für die DSGVO verwenden
Wenn Sie Lösungen von Google zur Einwilligungsverwaltung verwenden, um Einwilligungen gemäß der DSGVO im Rahmen des IAB TCF 2 einzuholen, sollten Sie die IAB TCF 2 API verwenden.
Mit dem Callback-Warteschlangenschlüssel CONSENT_API_READY können Sie dafür sorgen, dass die entsprechenden Callbacks nur aufgerufen werden, wenn die IAB TCF v2 API auf der Seite definiert ist. Dies 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 zugänglich ist.
Dies kann in Verbindung mit dem Befehl 'addEventListener' verwendet werden. Die Daten, die beim ersten Aufruf des von Ihnen bereitgestellten Callbacks bereitgestellt werden, enthalten die Einwilligungsauswahl des Nutzers (sofern TCF 2.0 für diesen Nutzer gilt). Mit der Veröffentlichung von TCF 2.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 mit Unterstützung des Einwilligungsmodus für EU-Verordnungen verwenden
Die Lösungen zur Einwilligungsverwaltung von Google können die Einwilligungsentscheidungen Ihrer Nutzer gemäß EU-Verordnungen für den Google-Einwilligungsmodus interpretieren (weitere Informationen in der Hilfe).
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, welchen Einwilligungsmodus Sie implementieren müssen, um die rechtlichen Anforderungen zu erfüllen.
Der erweiterte Einwilligungsmodus wird standardmäßig unterstützt. Sobald Sie den Einwilligungsmodus auf der Benutzeroberfläche „Datenschutz und Mitteilungen“ aktiviert haben, sind keine weiteren Schritte erforderlich.
Wenn Sie den einfachen Einwilligungsmodus mit Google-Lösungen zur Einwilligungsverwaltung 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 EU-Verordnungen für diese Anfrage nicht gelten), oder nachdem ein Nutzer eine Entscheidung zur Einwilligung gemäß EU-Verordnungen getroffen hat. Wenden Sie sich an Ihre Rechtsabteilung, um zu erfahren, anhand welcher Kriterien Sie feststellen können, ob Ihre Tags geladen werden können, sobald der Einwilligungsmodus verfügbar ist.
Wenn Sie beispielsweise Ihre Tags 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 im Einwilligungsmodus verfügbar sind.
Diese API gibt ein GoogleFcConsentModeUserStatus-Objekt zurück, das für jeden unterstützten Zweck des Einwilligungsmodus ein Feld enthält. Der Wert jedes Felds ist ein Enum-Wert, der den Wert des jeweiligen Zwecks des Einwilligungsmodus angibt.
Sie können beispielsweise googlefc.getGoogleConsentModeValues() verwenden, um die Blockierung Ihrer Google Ads- und Analytics-Tags nur dann aufzuheben, 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 Zwecke des Einwilligungsmodus sind für die aktuelle Anfrage nicht anwendbar. Das kann der Fall sein, 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>
Google-Lösungen zur Einwilligungsverwaltung mit dem IAB GPP-Framework für Verordnungen von US-Bundesstaaten verwenden
Wenn Sie Lösungen zur Einwilligungsverwaltung von Google verwenden, um Endnutzern im Rahmen des IAB GPP-Frameworks Mitteilungen zur Deaktivierung gemäß den Bestimmungen von US-Bundesstaaten bereitzustellen, sollten Sie die IAB GPP API verwenden.
Aufgrund der Opt-out-Natur der Bestimmungen von US-Bundesstaaten 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 mit Einwilligung des Nutzers erhobene Daten 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>
Lösungen zur Einwilligungsverwaltung von Google mit dem IAB GPP-Framework für Verordnungen von US-Bundesstaaten mit Ihrem eigenen benutzerdefinierten Link „Nicht verkaufen oder teilen“ verwenden
Wenn Sie Lösungen zur Einwilligungsverwaltung von Google verwenden, um Endnutzern gemäß dem IAB GPP-Framework Mitteilungen zur Deaktivierung von US-Bundesstaaten-Verordnungen bereitzustellen, können Sie einen eigenen benutzerdefinierten Link zum Deaktivieren des Verkaufs oder der Weitergabe bereitstellen. Setzen Sie dazu das Flag googlefc.usstatesoptout.overrideDnsLink auf true.
<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 verhindert, dass der standardmäßige Link „Meine personenbezogenen Daten nicht verkaufen oder weitergeben“ gerendert wird. Anschließend müssen Sie die Nutzerinteraktion mit Ihrem benutzerdefinierten Link „Nicht verkaufen oder weitergeben“ verarbeiten, indem Sie das Bestätigungsdialogfeld für die Deaktivierung gemäß Verordnungen von US-Bundesstaaten aufrufen.
Wenn Sie Ihren eigenen benutzerdefinierten Link „Nicht verkaufen oder teilen“ verwenden, sind Sie dafür verantwortlich, dass er den Bestimmungen von US-Bundesstaaten entspricht. Außerdem wird die Verwendung eines eigenen benutzerdefinierten Links „Nicht verkaufen oder teilen“ für Mitteilungen gemäß Verordnungen von US-Bundesstaaten nur in Ad Manager unterstützt.
<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>