Wprowadzenie
Ten interfejs API udostępnia narzędzia do interakcji z wiadomościami oferowanymi na karcie Prywatność i wyświetlanie wiadomości. Dzięki niej możesz:
- blokować wiadomości w przypadku danego użytkownika,
- określanie, czy użytkownik ma włączone blokowanie reklam,
- wyświetlać punkt wejścia, który umożliwia użytkownikowi wycofanie zgody wymaganej przez rozporządzenia europejskie
- zastąpić domyślny link „Nie zgadzam się na sprzedaż moich danych osobowych” wymagany przez przepisy stanowe w USA.
- warunkowo wczytywać tagi Google Ads i Analytics na podstawie stanu trybu uzyskiwania zgody Google wymaganego przez przepisy UE;
i nie tylko.
Za pomocą tych narzędzi możesz też uzyskiwać zgodę użytkowników przy użyciu standardowych protokołów branżowych:
- Zgoda na wykorzystanie danych zgodnie z RODO za pomocą specyfikacji zasad TCF organizacji IAB w wersji 2
- Wyłączenia wymagane przez przepisy stanowe w USA za pomocą specyfikacji GPP opracowanej przez IAB
W takich przypadkach stan zgody jest przekazywany za pomocą tych interfejsów API.
Funkcję wiadomości dla użytkowników możesz wdrożyć w swojej witrynie na kilka sposobów:
- W większości przypadków nie musisz ponownie tagować witryny. Istniejący tag wydawcy Google lub tag AdSense wyświetla wiadomości dla użytkowników po opublikowaniu ich w odpowiedniej usłudze.
- Jeśli używasz wiadomości służącej do przywracania wyświetlania zablokowanych reklam, musisz wyraźnie dodać do strony tag blokowania reklam. Więcej informacji znajdziesz w instrukcjach dotyczących tagowania w usługach Ad Manager i AdSense.
googlefc
to globalna przestrzeń nazw, której funkcja przesyłania wiadomości do użytkowników używa w swoim interfejsie API w JavaScript Window
.
Podsumowania pól
Nazwa | Typ | Definicja |
---|---|---|
googlefc.controlledMessagingFunction
|
function(!Object) | Funkcja, która określa, czy kontynuować wysyłanie wiadomości. Ta funkcja jest obsługiwana w przypadku wszystkich typów wiadomości. |
googlefc.callbackQueue
|
!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue | Odwołanie do kolejki wywołań zwrotnych w przypadku asynchronicznego wykonywania zapytań dotyczących wiadomości dla użytkowników. |
googlefc.CallbackQueue
|
!Object | Typ obiektu kolejki wywołań zwrotnych. |
googlefc.AdBlockerStatusEnum
|
!Object<string, number> | Wyliczenie reprezentujące stan blokowania reklam przez użytkownika. |
googlefc.AllowAdsStatusEnum
|
!Object<string, number> | Wyliczenie reprezentujące stan zgody użytkownika na wyświetlanie reklam. |
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum
|
!Object<string, number> | Wyliczenie reprezentujące początkowy stan rezygnacji użytkownika ze sprzedaży i udostępniania danych w stanach USA. Uwzględnia to stan w USA, w którym znajduje się użytkownik. |
googlefc.GoogleFcConsentModeUserStatus
|
!Object |
Typ zwracany przez funkcję googlefc.getGoogleConsentModeValues .
|
googlefc.ConsentModePurposeStatusEnum
|
!Object<string, number> | Wyliczenie reprezentujące decyzję użytkownika dotyczącą celu trybu uzyskiwania zgody. |
googlefc.usstatesoptout.overrideDnsLink
|
undefined|boolean | Wartość logiczna, którą można ustawić na „true”, aby używać własnego linku „Nie sprzedawaj ani nie udostępniaj”. |
googlefc.ccpa.InitialCcpaStatusEnum
Starsza wersja. Preferowane googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum .
|
!Object<string, number> | Wyliczenie reprezentujące początkowy stan użytkownika w zakresie amerykańskich przepisów stanowych. |
googlefc.ccpa.overrideDnsLink
Starsza wersja. Preferowane googlefc.usstatesoptout.overrideDnsLink .
|
undefined|boolean | Wartość logiczna, którą można ustawić na „true”, aby używać własnego linku „Nie sprzedawaj ani nie udostępniaj”. |
Podsumowania metod
Nazwa | Zwracany typ | Definicja |
---|---|---|
googlefc.showRevocationMessage()
|
nie zdefiniowano |
Usuwa rekord zgody i ponownie wczytuje skrypt googlefc , aby wyświetlić użytkownikowi wiadomość z prośbą o zgodę na wykorzystanie danych.
|
googlefc.getAdBlockerStatus()
|
liczba |
Zwraca wartość w AdBlockerStatusEnum w zależności od stanu blokowania reklam przez użytkownika.
|
googlefc.getAllowAdsStatus()
|
liczba |
Zwraca wartość w AllowAdsStatusEnum w zależności od stanu zgody użytkownika na wyświetlanie reklam.
|
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()
|
liczba |
Zwraca wartość w InitialUsStatesOptOutStatusEnum w zależności od początkowego stanu rezygnacji użytkownika z wymagań amerykańskich przepisów stanowych. Uwzględnia to przepisy, które mają zastosowanie do użytkownika na podstawie jego bieżącej lokalizacji.
|
googlefc.usstatesoptout.openConfirmationDialog(function(boolean))
|
nie zdefiniowano | Otwiera okno potwierdzenia rezygnacji z przepisów stanowych w USA, jeśli domyślny link „Nie sprzedawaj ani nie udostępniaj moich danych osobowych” został zastąpiony. |
googlefc.getGoogleConsentModeValues()
|
!Object |
Zwraca obiekt googlefc.GoogleFcConsentModeUserStatus zawierający bieżące wartości trybu uzyskiwania zgody użytkownika, po jednej dla każdego dostępnego celu trybu uzyskiwania zgody.
|
googlefc.ccpa.getInitialCcpaStatus()
Starsza wersja. Preferowane: googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()
|
liczba |
Zwraca wartość w InitialCcpaStatusEnum w zależności od początkowego stanu rezygnacji użytkownika z wymagań amerykańskich przepisów stanowych.
|
googlefc.ccpa.openConfirmationDialog(function(boolean))
Starsza wersja. Preferowane: googlefc.usstatesoptout.openConfirmationDialog()
|
nie zdefiniowano | Otwiera okno potwierdzenia rezygnacji z udostępniania danych osobowych zgodnie z przepisami stanowymi w USA, jeśli domyślny link „Nie sprzedawaj ani nie udostępniaj moich danych osobowych” został zastąpiony. |
Testowanie i debugowanie w witrynie
Usługa Prywatność i wyświetlanie wiadomości udostępnia funkcje debugowania i testowania, które pozwalają zobaczyć, jak konkretne wiadomości, podtypy wiadomości lub kombinacje wiadomości wyglądają w Twojej witrynie.
Wymagania wstępne:
- Wiadomości, których podgląd chcesz wyświetlić, muszą być opublikowane w witrynie, w której przeprowadzasz testy.
Podgląd na żywo w witrynie możesz wyświetlić, używając tych parametrów adresu URL debugowania:
Parametr debugowania | Dozwolone wartości |
---|---|
fc |
alwaysshow (aby włączyć tryb debugowania lub podglądu) |
fctype |
ab (Wiadomości dotyczące blokowania reklam), ccpa (Wiadomości umożliwiające użytkownikom z Kalifornii wycofanie zgody na wykorzystanie danych), gdpr (Wiadomości z prośbą o zgodę na wykorzystanie danych zgodnie z RODO), monetization (Wiadomości dotyczące ścian ofert), usfl (Wiadomości umożliwiające użytkownikom z Kalifornii wycofanie zgody na wykorzystanie danych, dotyczące stanu Floryda), usnat (Wiadomości umożliwiające użytkownikom z Kalifornii wycofanie zgody na wykorzystanie danych, dotyczące wszystkich obsługiwanych stanów z wyjątkiem Florydy; odpowiednik ccpa ) |
Oto kilka przykładów wykorzystania tego parametru do wyświetlania podglądu w witrynie (foo.com):
- Testowanie wiadomości o rezygnacji wymaganych przez przepisy stanowe w USA –
http://foo.com/?fc=alwaysshow&fctype=ccpa
- Testowanie przesyłania wiadomości zgodnych z RODO –
http://foo.com/?fc=alwaysshow&fctype=gdpr
Pola: wyjaśnienia i przykłady
googlefc.controlledMessagingFunction {function(!Object)}
Funkcja, która określa, czy wiadomości mają się wyświetlać. Może być używany do ograniczania wyświetlania wiadomości na podstawie warunków określonych przez wydawcę, takich jak stan subskrypcji czy adres URL strony.
Jeśli zdefiniujesz googlefc.controlledMessagingFunction
w obiekcie Window przed załadowaniem innych skryptów, wiadomości nie będą się wyświetlać, dopóki nie wywołasz funkcji message.proceed(boolean)
. Wywołanie funkcji message.proceed(true)
umożliwia normalne wysyłanie wiadomości, a wywołanie funkcji message.proceed(false)
uniemożliwia wyświetlanie jakichkolwiek wiadomości podczas wyświetlenia strony.
Przykład: załóżmy, że na stronie masz ten skrypt, który definiuje funkcję asynchroniczną determineIfUserIsSubscriber()
sprawdzającą, czy zalogowany użytkownik jest subskrybentem.
<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>
Oto przykład użycia tagu googlefc.controlledMessagingFunction
, aby wyświetlać wiadomość tylko osobom, które nie subskrybują Twojego kanału.
<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>
Istnieje też rozszerzenie tej funkcji, które pozwala wydawcom określić, że ma być pomijana tylko wiadomość typu Offerwall. Za pomocą tego rozszerzenia funkcji możesz wyłączyć ścianę ofert bez wyłączania innych typów wiadomości.
Wiadomości kontrolowane dotyczące wiadomości typu Offerwall są wyświetlane przez przekazanie dodatkowego parametru do funkcji message.proceed()
, czyli Array
typu googlefc.MessageTypeEnum
.
Przykład: oto przykład użycia parametru googlefc.controlledMessagingFunction
, aby
wyłączyć wyświetlanie ściany ofert tylko w przypadku subskrybentów, bez wyłączania innych
typów wiadomości:
<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>
Odwołanie do globalnej kolejki wywołań zwrotnych do asynchronicznego wykonywania wywołań związanych z wysyłaniem wiadomości. Jedynym obsługiwanym sposobem wywoływania funkcji jest dodanie jej do callbackQueue
.
Różne typy danych stają się dostępne w różnych momentach, dlatego funkcję należy dodać jako mapę, w której kluczem jest jeden z tych ciągów znaków, a wartością – funkcja do wykonania.
Obsługiwane klucze:
Nazwa klucza | Wykorzystanie | Względny czas oczekiwania |
---|---|---|
CONSENT_API_READY
|
Funkcje umieszczane w kolejce wywołań zwrotnych za pomocą klucza CONSENT_API_READY są wykonywane, gdy zdefiniowane są interfejsy API obsługiwanych platform uzyskiwania zgody i można je wywoływać. Od tego momentu wykonywanie wszystkich dodanych później funkcji z kluczem CONSENT_API_READY jest synchroniczne. Szczegółowe informacje o poszczególnych zasadach znajdziesz w sekcjach dotyczących zasad IAB.
|
Niski |
CONSENT_DATA_READY
|
Funkcje umieszczone w kolejce wywołań zwrotnych za pomocą klucza CONSENT_DATA_READY są wykonywane, gdy znana jest zgoda użytkownika zebrana w ramach obsługiwanych zasad uzyskiwania zgody na przetwarzanie danych (na podstawie wcześniejszego wykonania lub po wejściu użytkownika w interakcję z wiadomością z prośbą o zgodę na przetwarzanie danych). Od tego momentu wykonywanie wszystkich dodanych później funkcji z kluczem CONSENT_DATA_READY jest synchroniczne.
|
Wysoki |
AD_BLOCK_DATA_READY
|
Funkcje umieszczone w kolejce wywołań zwrotnych za pomocą klucza AD_BLOCK_DATA_READY są wykonywane, gdy w procesie staną się dostępne dane o blokowaniu reklam. Od tego momentu wykonywanie wszystkich dodanych później funkcji z kluczem AD_BLOCK_DATA_READY jest synchroniczne.
|
Wysoki |
CONSENT_MODE_DATA_READY
|
Funkcje umieszczone w kolejce wywołań zwrotnych za pomocą klucza CONSENT_MODE_DATA_READY są wykonywane, gdy w przepływie staną się dostępne dane [trybu uzyskiwania zgody](https://support.google.com/google-ads/answer/10000067) (do użycia z tagami Google Ads i Analytics). Gdy dane trybu uzyskiwania zgody będą gotowe, możesz w każdej chwili uzyskać dostęp do wartości trybu uzyskiwania zgody za pomocą googlefc.getGoogleConsentModeValues .
|
Średni |
INITIAL_US_STATES_OPT_OUT_DATA_READY
|
Funkcje umieszczone w kolejce wywołań zwrotnych za pomocą klucza INITIAL_US_STATES_OPT_OUT_DATA_READY są wykonywane, gdy w przepływie staną się dostępne dane dotyczące przepisów stanowych w USA. Pamiętaj, że wszelkie kolejne żądania danych dotyczących przepisów stanowych w Stanach Zjednoczonych należy przesyłać bezpośrednio do interfejsu GPP API (__gpp ).
|
Średni |
INITIAL_CCPA_DATA_READY
|
Starszy klucz dotyczący przepisów stanowych w USA. Preferowane: INITIAL_US_STATES_OPT_OUT_DATA_READY Funkcje umieszczone w kolejce wywołań zwrotnych za pomocą klucza INITIAL_CCPA_DATA_READY są wykonywane, gdy w procesie staną się dostępne dane dotyczące przepisów stanowych w USA. Pamiętaj, że wszelkie kolejne żądania danych dotyczących przepisów stanowych w Stanach Zjednoczonych należy przesyłać bezpośrednio do interfejsu GPP API (__gpp ).
|
Średni |
googlefc.CallbackQueue {!Object}
Podsumowanie metody:
Nazwa | Typ | Parametr | Zwracany typ | Rola |
---|---|---|---|---|
push(data)
|
liczba |
data : para klucz-wartość, w której kluczem jest jeden z typów dostępności danych, a wartością funkcja JavaScriptu do wykonania.
Dozwolone klucze dostępności danych to CONSENT_API_READY , CONSENT_DATA_READY , AD_BLOCK_DATA_READY , INITIAL_US_STATES_OPT_OUT_DATA_READY , CONSENT_MODE_DATA_READY i (starsza wersja) INITIAL_CCPA_DATA_READY .
|
Liczba dodanych do tej pory poleceń. Zwraca bieżącą długość tablicy. | Wykonuje przekazaną funkcję w kolejności, w jakiej dane stają się dostępne, a następnie w kolejności, w jakiej funkcje te są dodawane do kolejki. |
Przykład:
<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>}
Określa różne stany blokowania reklam przez użytkownika. Poszczególne stany to:
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>}
Reprezentuje różne stany użytkownika związane z zezwalaniem na reklamy po wyświetleniu wiadomości dla użytkowników blokujących reklamy. Możliwe stany to:
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>}
Określa różne stany rezygnacji użytkownika z wymagań amerykańskich przepisów stanowych. Dostępne są te stany:
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}
Typ obiektu zwracanego przez googlefc.getGoogleConsentModeValues
.
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;
}
Wartością każdego pola jest liczba odpowiadająca wartości wyliczeniowej googlefc.ConsentModePurposeStatusEnum
.
googlefc.ConsentModePurposeStatusEnum{!Object<string, number>}
Reprezentuje różne możliwe wartości zgody użytkownika w przypadku celu trybu uzyskiwania zgody. Dostępne wartości to:
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}
Ustaw wartość tego pola na „true”, aby ukryć domyślny link „Nie sprzedawaj ani nie udostępniaj” i użyć własnego linku „Nie sprzedawaj ani nie udostępniaj”.
Przykład:
<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>}
Określa różne stany rezygnacji użytkownika z wymagań amerykańskich przepisów stanowych. Dostępne są te stany:
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}
Ustaw wartość tego pola na „true”, aby ukryć domyślny link „Nie sprzedawaj ani nie udostępniaj” i użyć własnego linku „Nie sprzedawaj ani nie udostępniaj”. Pamiętaj, że jeśli ustawisz to pole na wartość „true”, ponosisz odpowiedzialność za wyświetlanie w swojej witrynie linku „Nie sprzedawaj ani nie udostępniaj”. Tego pola należy używać w połączeniu z atrybutem openConfirmationDialog
.
Przykład:
<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>
Metody: wyjaśnienia i przykłady
googlefc.getConsentStatus(): {number}
googlefc.getConsentedProviderIds(): {!Array<string>}
- Po wywołaniu ta funkcja zawsze zwraca pustą listę.
googlefc.showRevocationMessage(): {undefined}
Usuwa bieżący rekord zgody na wykorzystanie danych zgodnie z rozporządzeniami UE (jeśli taki istnieje) i ponownie wyświetla wiadomość wymaganą przez rozporządzenia UE, aby umożliwić użytkownikowi zmianę decyzji dotyczącej zgody.
Przykład 1: prosty przykład konfiguracji linku, który po kliknięciu wyświetli komunikat o odwołaniu:
<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>
Przykład 2: jeśli chcesz, aby link był widoczny tylko wtedy, gdy w przypadku bieżącego użytkownika obowiązują przepisy UE, możesz użyć kolejki wywołań zwrotnych googlefc z interfejsem TCF API, aby warunkowo aktualizować wyświetlanie przycisku na podstawie wartości gdprApplies
po jej określeniu. W tym celu użyj klucza interfejsu API 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}
Zwraca wartość z wyliczenia AdBlockerStatusEnum w zależności od stanu blokowania reklam przez użytkownika. Klucz, który należy określić w przypadku tej funkcji, to AD_BLOCK_DATA_READY
.
Przykład:
<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}
Zwraca wartość w AllowAdsStatusEnum
w zależności od stanu zezwolenia użytkownika na wyświetlanie reklam. Klucz, który należy określić w przypadku tej funkcji, to AD_BLOCK_DATA_READY
.
Przykład:
<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}
Zwraca wartość w InitialUsStatesOptOutStatusEnum
w zależności od stanu rezygnacji użytkownika z wymagań amerykańskich przepisów stanowych. Kluczem, który należy podać w przypadku tej funkcji, jest INITIAL_US_STATES_OPT_OUT_DATA_READY
. Pamiętaj, że każde kolejne żądanie danych dotyczących przepisów stanowych w USA powinno być wysyłane bezpośrednio do interfejsu GPP API (__gpp
).
Jeśli zastępujesz link „Nie sprzedawaj / nie udostępniaj”, możesz użyć tej metody, aby określić, kiedy ma się on pojawiać w Twojej witrynie.
Przykład:
<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}
Otwiera okno potwierdzenia rezygnacji z przepisów stanowych w USA, jeśli domyślny link „Nie sprzedawaj” jest zastąpiony. Gdy użytkownik wejdzie w interakcję z oknem potwierdzenia, wywoływana jest podana funkcja wywołania zwrotnego z wartością true
, jeśli użytkownik zdecyduje się zrezygnować, a w przeciwnym razie z wartością false
.
Przykład:
<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}
Zwraca obiekt googlefc.GoogleFcConsentModeUserStatus
zawierający bieżące wartości każdego celu trybu uzyskiwania zgody na podstawie decyzji użytkownika dotyczącej zgody.
Informacje o przeznaczeniu znajdziesz w artykule Korzystanie z rozwiązań Google do zarządzania zgodą użytkowników z trybem uzyskiwania zgody obsługującym przepisy UE.
googlefc.ccpa.getInitialCcpaStatus(): {number}
Zwraca wartość w InitialCcpaStatusEnum
w zależności od stanu rezygnacji użytkownika z wymagań amerykańskich przepisów stanowych. Kluczem, który należy podać w przypadku tej funkcji, jest INITIAL_CCPA_DATA_READY
. Pamiętaj, że wszelkie kolejne żądania dotyczące danych wymaganych przez przepisy stanowe w USA należy przesyłać bezpośrednio do interfejsu GPP API (__gpp
).
Przykład:
<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}
Otwiera okno potwierdzenia rezygnacji z przepisów stanowych w USA, jeśli domyślny link „Nie sprzedawaj” jest zastąpiony. Gdy użytkownik wejdzie w interakcję z oknem potwierdzenia, wywoływana jest podana funkcja wywołania zwrotnego z wartością true
, jeśli użytkownik zdecyduje się zrezygnować, lub false
w przeciwnym razie.
Przykład:
<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>
Korzystanie z rozwiązań Google do zarządzania zgodą użytkowników w ramach Zasad IAB dotyczących przejrzystości i uzyskiwania zgody na przetwarzanie danych w wersji 2 na potrzeby RODO
Jeśli korzystasz z narzędzi Google do zarządzania zgodą użytkowników, aby uzyskiwać zgodę na wykorzystanie danych zgodnie z RODO w ramach zasad TCF IAB w wersji 2, używaj interfejsu API zasad TCF IAB w wersji 2.
Możesz użyć klucza kolejki wywołań zwrotnych CONSENT_API_READY
, aby mieć pewność, że odpowiednie wywołania zwrotne są wywoływane tylko wtedy, gdy na stronie jest zdefiniowany interfejs API Zasad IAB dotyczących przejrzystości i uzyskiwania zgody na przetwarzanie danych w wersji 2. Należy go używać w połączeniu z poleceniem 'addEventListener'
interfejsu IAB TCF v2 API.
Przykład:
<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>
Możesz użyć klucza kolejki wywołań zwrotnych CONSENT_DATA_READY
, aby mieć pewność, że odpowiednie wywołania zwrotne są wywoływane tylko wtedy, gdy zgoda użytkownika została uzyskana i jest dostępna za pomocą interfejsu IAB TCF w wersji 2.
Można go używać w połączeniu z poleceniem 'addEventListener'
. Dane podane w pierwszym wywołaniu podanego przez Ciebie wywołania zwrotnego będą zawierać wybory użytkownika dotyczące zgody (o ile w przypadku tego użytkownika obowiązują zasady TCF w wersji 2). Pamiętaj, że wraz z wprowadzeniem zasad TCF w wersji 2.2 polecenie 'getTCData'
zostało wycofane.
Przykład:
<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>
Korzystanie z rozwiązań Google do zarządzania zgodą użytkowników z obsługą trybu uzyskiwania zgody na potrzeby rozporządzeń UE
Rozwiązania Google do zarządzania zgodą użytkowników mogą interpretować wybory użytkowników dotyczące zgody wymaganej przez przepisy UE na potrzeby trybu uzyskiwania zgody Google (więcej informacji znajdziesz w Centrum pomocy).
Tryb uzyskiwania zgody można wdrożyć w trybie podstawowym lub zaawansowanym, zgodnie z opisem w dokumentacji Google Ads i Analytics. Aby dowiedzieć się, który tryb uzyskiwania zgody wdrożyć, aby spełnić wymagania prawne, skonsultuj się ze swoim działem prawnym.
Zaawansowany tryb uzyskiwania zgody jest obsługiwany domyślnie. Po włączeniu trybu uzyskiwania zgody w interfejsie Prywatność i wyświetlanie wiadomości nie musisz wykonywać żadnych dodatkowych działań.
Aby wdrożyć podstawowy tryb uzyskiwania zgody za pomocą rozwiązań Google do zarządzania zgodą użytkowników, możesz użyć klucza kolejki wywołań zwrotnych CONSENT_MODE_DATA_READY
, aby warunkowo wczytywać tagi Google Ads i Analytics, gdy będą dostępne dane trybu uzyskiwania zgody.
Dane trybu uzyskiwania zgody będą dostępne, gdy Funding Choices ustali, że tryb uzyskiwania zgody nie ma zastosowania do tego żądania (np. dlatego, że rozporządzenia UE nie mają zastosowania do tego żądania) lub gdy użytkownik podejmie decyzję dotyczącą zgody wymaganej przez rozporządzenia UE. Skonsultuj się z działem prawnym, aby poznać kryteria, których należy użyć do określenia, czy tagi mogą być wczytywane po udostępnieniu trybu uzyskiwania zgody.
Aby na przykład wczytywać tagi, gdy dane trybu uzyskiwania zgody są dostępne, niezależnie od decyzji użytkownika dotyczącej zgody:
<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>
Możesz też użyć interfejsu googlefc.getGoogleConsentModeValues()
API, aby uzyskać wartości poszczególnych celów trybu uzyskiwania zgody, gdy dane trybu uzyskiwania zgody są dostępne.
Ten interfejs API zwraca obiekt GoogleFcConsentModeUserStatus
, który zawiera 1 pole dla każdego obsługiwanego celu trybu uzyskiwania zgody użytkowników. Wartością każdego pola jest wartość wyliczeniowa, która wskazuje wartość tego celu trybu uzyskiwania zgody użytkowników.
Możesz na przykład użyć googlefc.getGoogleConsentModeValues()
, aby odblokować tagi Google Ads i Analytics tylko wtedy, gdy:
- użytkownik podejmie decyzję w sprawie zgody wymaganej przez rozporządzenia europejskie, która spowoduje przyznanie zgody na wszystkie cele trybu uzyskiwania zgody, lub
- wszystkie cele trybu uzyskiwania zgody są nieodpowiednie w przypadku bieżącego żądania (może się to zdarzyć, jeśli rozporządzenia UE nie mają zastosowania lub tryb uzyskiwania zgody nie jest skonfigurowany w przypadku co najmniej jednego celu w narzędziu Prywatność i wyświetlanie wiadomości).
<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>
Korzystanie z rozwiązań Google do zarządzania zgodą użytkowników w ramach platformy IAB GPP na potrzeby amerykańskich przepisów stanowych
Jeśli korzystasz z narzędzi Google do zarządzania zgodą użytkowników, aby wyświetlać użytkownikom wiadomości o rezygnacji z zgodności z przepisami stanowymi w Stanach Zjednoczonych w ramach platformy IAB GPP, używaj interfejsu API IAB GPP.
Ze względu na charakter przepisów stanowych w USA, które umożliwiają wycofanie zgody, możesz użyć klucza kolejki wywołań zwrotnych CONSENT_API_READY
lub CONSENT_DATA_READY
, aby mieć pewność, że interfejs API GPP IAB będzie wywoływany i będzie zwracać dane o zgodzie w momencie wywoływania zwrotnego.
<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>
Korzystanie z narzędzi Google do zarządzania zgodą użytkowników z zasadami IAB GPP w przypadku przepisów stanowych w USA z własnym linkiem „Nie sprzedawaj ani nie udostępniaj moich danych osobowych”
Jeśli korzystasz z platform Google do zarządzania zgodą użytkowników, aby wyświetlać użytkownikom komunikaty o rezygnacji wymagane przez przepisy stanowe w Stanach Zjednoczonych w ramach platformy IAB GPP, możesz podać własny link „Nie sprzedawaj ani nie udostępniaj” przez ustawienie flagi googlefc.usstatesoptout.overrideDnsLink
na 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>
Dzięki temu domyślny link „Nie zgadzam się na sprzedaż moich danych osobowych” nie będzie się renderować. Następnie musisz obsłużyć interakcję użytkownika z niestandardowym linkiem „Nie sprzedawaj ani nie udostępniaj moich danych osobowych”, wywołując okno potwierdzenia wycofania zgody wymagane przez przepisy stanowe w USA.
Pamiętaj, że jeśli używasz własnego linku „Nie sprzedawaj ani nie udostępniaj moich danych osobowych”, ponosisz odpowiedzialność za to, aby był on zgodny z przepisami stanowymi w USA.
<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>