Introduzione
Questa API fornisce strumenti per interagire con i messaggi offerti dalla scheda Privacy e messaggi. Con questa app puoi:
- disattivare la messaggistica per un determinato utente
- eseguire query sullo stato di blocco degli annunci di un utente
- fornire un punto di accesso per consentire a un utente di revocare il consenso ai regolamenti europei
- ignorare il link Non vendere predefinito per i regolamenti statali degli Stati Uniti
- caricare in modo condizionale i tag Google Ads e Analytics in base allo stato della modalità di consenso di Google ai sensi dei regolamenti dell'UE
e altri.
Puoi anche utilizzare questi strumenti per raccogliere il consenso degli utenti utilizzando protocolli standard del settore:
- Consenso GDPR utilizzando le specifiche della versione 2 del TCF di IAB
- Rinunce ai regolamenti statali degli Stati Uniti utilizzando la specifica GPP di IAB
In questi casi, lo stato del consenso viene comunicato tramite queste API.
Puoi implementare questa funzionalità di messaggistica per gli utenti sul tuo sito in due modi:
- Nella maggior parte dei casi, non è necessario eseguire nuovamente il tagging: i tag publisher di Google o i tag AdSense esistenti implementano i messaggi per gli utenti una volta che il messaggio viene pubblicato nel prodotto pertinente.
- Se utilizzi il messaggio di risposta al blocco degli annunci, devi aggiungere il tag per il blocco degli annunci alla pagina in modo esplicito. Per ulteriori informazioni, consulta le istruzioni per il tagging di Ad Manager e AdSense.
googlefc
è lo spazio dei nomi globale utilizzato dalla funzionalità di messaggistica per gli utenti
per la sua API su Window
JavaScript.
Riepiloghi dei campi
Nome | Tipo | Definizione |
---|---|---|
googlefc.controlledMessagingFunction
|
function(!Object) | Una funzione che determina se procedere con la messaggistica. Questa funzionalità è supportata per tutti i tipi di messaggi. |
googlefc.callbackQueue
|
!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue | Riferimento alla coda di callback per l'esecuzione asincrona delle query di messaggistica per gli utenti. |
googlefc.CallbackQueue
|
!Object | Il tipo di oggetto della coda di callback. |
googlefc.AdBlockerStatusEnum
|
!Object<string, number> | Un enum per rappresentare lo stato del blocco degli annunci dell'utente. |
googlefc.AllowAdsStatusEnum
|
!Object<string, number> | Un enum per rappresentare lo stato di autorizzazione degli annunci dell'utente. |
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum
|
!Object<string, number> | Un'enumerazione per rappresentare lo stato iniziale di disattivazione per gli stati USA dell'utente. Questo tiene conto dello stato degli Stati Uniti in cui si trova l'utente. |
googlefc.GoogleFcConsentModeUserStatus
|
!Object |
Il tipo restituito per googlefc.getGoogleConsentModeValues .
|
googlefc.ConsentModePurposeStatusEnum
|
!Object<string, number> | Un enum per rappresentare la decisione dell'utente finale per uno scopo della modalità di consenso. |
googlefc.usstatesoptout.overrideDnsLink
|
undefined|boolean | Un valore booleano che può essere impostato su true per utilizzare il tuo link personalizzato Non vendere o condividere. |
googlefc.ccpa.InitialCcpaStatusEnum
Legacy. Preferenza: googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum .
|
!Object<string, number> | Un'enumerazione per rappresentare lo stato iniziale dei regolamenti statali degli Stati Uniti dell'utente. |
googlefc.ccpa.overrideDnsLink
Legacy. Preferenza: googlefc.usstatesoptout.overrideDnsLink .
|
undefined|boolean | Un valore booleano che può essere impostato su true per utilizzare il tuo link personalizzato Non vendere o condividere. |
Riepiloghi dei metodi
Nome | Tipo restituito | Definizione |
---|---|---|
googlefc.showRevocationMessage()
|
non definito |
Cancella il record del consenso e ricarica lo script googlefc per mostrare il messaggio per il consenso applicabile all'utente.
|
googlefc.getAdBlockerStatus()
|
numero |
Restituisce un valore in AdBlockerStatusEnum a seconda dello stato di blocco degli annunci dell'utente.
|
googlefc.getAllowAdsStatus()
|
numero |
Restituisce un valore in AllowAdsStatusEnum a seconda dello stato di autorizzazione degli annunci dell'utente.
|
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()
|
numero |
Restituisce un valore in InitialUsStatesOptOutStatusEnum a seconda dello stato iniziale di disattivazione dei regolamenti statali degli Stati Uniti dell'utente. In questo modo viene preso in considerazione il regolamento applicabile all'utente in base alla sua posizione attuale.
|
googlefc.usstatesoptout.openConfirmationDialog(function(boolean))
|
non definito | Apre la finestra di dialogo di conferma della disattivazione dei regolamenti statali degli Stati Uniti se il link predefinito Non vendere e non condividere viene sostituito. |
googlefc.getGoogleConsentModeValues()
|
!Object |
Restituisce un oggetto googlefc.GoogleFcConsentModeUserStatus contenente i valori correnti della modalità di consenso per l'utente,
uno per ogni scopo della modalità di consenso disponibile.
|
googlefc.ccpa.getInitialCcpaStatus()
Legacy. Preferenza: googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() .
|
numero |
Restituisce un valore in InitialCcpaStatusEnum a seconda dello stato iniziale di disattivazione dei regolamenti statali degli Stati Uniti dell'utente.
|
googlefc.ccpa.openConfirmationDialog(function(boolean))
Legacy. Preferenza: googlefc.usstatesoptout.openConfirmationDialog() .
|
non definito | Apre la finestra di dialogo di conferma della disattivazione dei regolamenti statali degli Stati Uniti se il link predefinito Non vendere e non condividere viene sostituito. |
Test e debug sul tuo sito
Privacy e messaggi fornisce funzionalità di debug e test che ti consentono di vedere l'aspetto di messaggi specifici, sottotipi di messaggi o combinazioni di messaggi sul tuo sito reale.
Prerequisiti:
- I messaggi di cui vuoi visualizzare l'anteprima devono essere pubblicati sul sito che stai testando.
Puoi visualizzare un'anteprima in tempo reale sul tuo sito utilizzando i seguenti parametri dell'URL di debug:
Parametro di debug | Valori consentiti |
---|---|
fc |
alwaysshow (per attivare la modalità di debug/anteprima) |
fctype |
ab (messaggi per il blocco degli annunci), ccpa (messaggi di ritiro del consenso ai sensi delle normative statali degli Stati Uniti), gdpr (messaggi di consenso al GDPR), monetization (messaggi Offerwall), usfl (messaggi di ritiro del consenso ai sensi delle normative statali degli Stati Uniti, specifici per la Florida), usnat (messaggi di ritiro del consenso ai sensi delle normative statali degli Stati Uniti, tutti gli stati supportati tranne la Florida; equivalenti a ccpa ) |
Di seguito sono riportati alcuni esempi di utilizzo per l'anteprima sul tuo sito (foo.com):
- Testa i messaggi di disattivazione dei regolamenti statali degli Stati Uniti --
http://foo.com/?fc=alwaysshow&fctype=ccpa
- Test dei messaggi GDPR --
http://foo.com/?fc=alwaysshow&fctype=gdpr
Campi: spiegazioni ed esempi
googlefc.controlledMessagingFunction {function(!Object)}
Una funzione che determina se i messaggi devono essere visualizzati o meno. Può essere utilizzato per controllare il rendering dei messaggi in base a condizioni specificate dal publisher, ad esempio lo stato dell'abbonato o l'URL della pagina.
Quando definisci googlefc.controlledMessagingFunction
nella finestra prima del caricamento di altri script, i messaggi non vengono visualizzati finché non chiami message.proceed(boolean)
. La chiamata message.proceed(true)
consente la messaggistica
come di consueto, mentre la chiamata message.proceed(false)
impedisce la visualizzazione di qualsiasi messaggio
per la visualizzazione di pagina.
Esempio: supponiamo che tu abbia questo script sulla pagina che definisce una funzione asincrona determineIfUserIsSubscriber()
che verifica se l'utente che ha eseguito l'accesso è un abbonato.
<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>
Questo è un esempio di come potresti utilizzare
googlefc.controlledMessagingFunction
per mostrare il messaggio solo
ai non iscritti.
<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>
Esiste anche un'estensione di questa funzionalità che consente ai publisher di specificare che deve essere eliminata solo la Offerwall. Utilizza questa estensione della funzionalità per eliminare l'Offerwall senza eliminare altri tipi di messaggi.
I messaggi controllati specifici per Offerwall vengono ottenuti passando un parametro aggiuntivo a message.proceed()
, un Array
di tipo googlefc.MessageTypeEnum
.
Esempio: questo è un esempio di utilizzo di googlefc.controlledMessagingFunction
per
sopprimere la pubblicazione di Offerwall solo per gli abbonati, senza sopprimere altri
tipi di messaggi:
<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>
Riferimento alla coda di callback globale per l'esecuzione asincrona di chiamate
correlate alla messaggistica. L'unico modo supportato per richiamare una funzione è aggiungerla a callbackQueue
.
Poiché diversi tipi di dati diventano disponibili in momenti diversi, una funzione deve essere aggiunta come mappa, con una delle seguenti stringhe come chiave e la funzione da eseguire come valore.
Chiavi supportate:
Nome chiave | Utilizzo | Latenza relativa |
---|---|---|
CONSENT_API_READY
|
Le funzioni inserite nella coda di callback con il tasto CONSENT_API_READY vengono eseguite quando le API per i framework per il consenso supportati sono definite e richiamabili. Da questo punto in poi, l'esecuzione di qualsiasi funzione con chiave CONSENT_API_READY aggiunta successivamente è sincrona. Consulta le sezioni sui framework IAB per i dettagli specifici del framework.
|
Bassa |
CONSENT_DATA_READY
|
Le funzioni inserite nella coda di callback con la chiave CONSENT_DATA_READY vengono eseguite quando è noto il consenso dell'utente raccolto in base a un framework per il consenso supportato (da un'esecuzione precedente o dopo che l'utente interagisce con il messaggio per il consenso). Da questo punto in poi, l'esecuzione di qualsiasi funzione con chiave CONSENT_DATA_READY aggiunta successivamente è sincrona.
|
Alta |
AD_BLOCK_DATA_READY
|
Le funzioni inserite nella coda di callback con la chiave AD_BLOCK_DATA_READY vengono eseguite quando i dati sul blocco degli annunci diventano disponibili nel flusso. Da questo punto in poi, l'esecuzione di qualsiasi funzione con chiave AD_BLOCK_DATA_READY aggiunta successivamente è sincrona.
|
Alta |
CONSENT_MODE_DATA_READY
|
Le funzioni inserite nella coda di callback con la chiave CONSENT_MODE_DATA_READY vengono eseguite quando i dati della [modalità di consenso](https://support.google.com/google-ads/answer/10000067) di Google (da utilizzare con i tag Google Ads e Analytics) diventano disponibili nel flusso. Una volta pronti, puoi accedere ai dati della modalità di consenso in qualsiasi momento utilizzando googlefc.getGoogleConsentModeValues .
|
Media |
INITIAL_US_STATES_OPT_OUT_DATA_READY
|
Le funzioni inserite nella coda di callback con la chiave INITIAL_US_STATES_OPT_OUT_DATA_READY vengono eseguite quando i dati dei regolamenti statali degli Stati Uniti diventano disponibili nel flusso. Tieni presente che qualsiasi richiesta successiva di dati sulle normative statali degli Stati Uniti deve essere ottenuta chiamando direttamente l'API GPP (__gpp ).
|
Media |
INITIAL_CCPA_DATA_READY
|
Chiave legacy per i regolamenti statali degli Stati Uniti. Preferenza: INITIAL_US_STATES_OPT_OUT_DATA_READY . Le funzioni inserite nella coda di callback con la chiave INITIAL_CCPA_DATA_READY vengono eseguite quando i dati dei regolamenti statali degli Stati Uniti diventano disponibili nel flusso. Tieni presente che qualsiasi richiesta successiva di dati sulle normative statali degli Stati Uniti deve essere ottenuta chiamando direttamente l'API GPP (__gpp ).
|
Media |
googlefc.CallbackQueue {!Object}
Riepilogo del metodo:
Nome | Tipo | Parametro | Tipo restituito | Ruolo |
---|---|---|---|---|
push(data)
|
numero |
data : una coppia chiave-valore con la chiave come uno dei tipi di disponibilità dei dati e il valore come una funzione JavaScript da eseguire.
Le chiavi di disponibilità dei dati accettabili sono CONSENT_API_READY ,
CONSENT_DATA_READY , AD_BLOCK_DATA_READY ,
INITIAL_US_STATES_OPT_OUT_DATA_READY ,
CONSENT_MODE_DATA_READY e (legacy)
INITIAL_CCPA_DATA_READY .
|
Il numero di comandi aggiunti finora. Restituisce la lunghezza corrente dell'array. | Esegue la funzione passata, nell'ordine in cui i dati diventano disponibili, quindi nell'ordine in cui queste funzioni vengono aggiunte alla coda. |
Esempio:
<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>}
Rappresenta i diversi stati di blocco degli annunci dell'utente. I diversi stati sono:
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>}
Rappresenta i diversi stati di autorizzazione degli annunci per il blocco degli annunci dell'utente. I diversi stati sono:
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>}
Rappresenta i diversi stati di disattivazione dei regolamenti statali degli Stati Uniti dell'utente. I diversi stati sono:
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}
Il tipo di oggetto restituito da 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;
}
Il valore di ogni campo è un numero che corrisponde a un valore enum
googlefc.ConsentModePurposeStatusEnum
.
googlefc.ConsentModePurposeStatusEnum{!Object<string, number>}
Rappresenta i diversi valori possibili di consenso dell'utente finale per uno scopo della modalità di consenso. I diversi valori sono:
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}
Imposta questo campo su true per nascondere il link predefinito Non vendere e non condividere e utilizzare il tuo link personalizzato Non vendere e non condividere.
Esempio:
<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>}
Rappresenta i diversi stati di disattivazione dei regolamenti statali degli Stati Uniti dell'utente. I diversi stati sono:
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}
Imposta questo campo su true per nascondere il link predefinito Non vendere e non condividere
e utilizzare il tuo link personalizzato Non vendere e non condividere. Tieni presente che se imposti questo
campo su true, sei responsabile del rendering di un link Non vendere o condividere sul
tuo sito. Questo campo deve essere utilizzato insieme a
openConfirmationDialog
.
Esempio:
<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>
Metodi: spiegazioni ed esempi
googlefc.getConsentStatus(): {number}
googlefc.getConsentedProviderIds(): {!Array<string>}
- Ora restituisce sempre un elenco vuoto quando viene chiamato.
googlefc.showRevocationMessage(): {undefined}
Cancella il record attuale del consenso ai regolamenti europei, se presente, e mostra di nuovo il messaggio relativo ai regolamenti europei per consentire all'utente di modificare la propria decisione in merito al consenso.
Esempio 1: semplice esempio di configurazione di un link che mostrerà il messaggio di revoca quando viene selezionato:
<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>
Esempio 2: se vuoi che il link sia visibile solo quando i regolamenti dell'UE
si applicano all'utente corrente, puoi utilizzare la coda di callback googlefc con l'API TCF
per aggiornare in modo condizionale la visualizzazione del pulsante in base al valore di gdprApplies
una volta determinato. Per questo, utilizza la chiave 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}
Restituisce un valore in AdBlockerStatusEnum a seconda dello stato di blocco degli annunci
dell'utente. La chiave da specificare per questa funzione è
AD_BLOCK_DATA_READY
.
Esempio:
<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}
Restituisce un valore in AllowAdsStatusEnum
a seconda dello stato di autorizzazione degli annunci dell'utente. La chiave da specificare per questa funzione è
AD_BLOCK_DATA_READY
.
Esempio:
<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}
Restituisce un valore in InitialUsStatesOptOutStatusEnum
a seconda dello stato di ritiro del consenso dell'utente ai sensi del regolamento statale degli Stati Uniti. La chiave da specificare
per questa funzione è INITIAL_US_STATES_OPT_OUT_DATA_READY
. Tieni presente che qualsiasi
richiesta successiva di dati sui regolamenti statali degli Stati Uniti deve essere ottenuta chiamando direttamente
l'API GPP (__gpp
).
Se esegui l'override del link Non vendere o condividere, puoi utilizzare questo metodo per determinare quando includere il link sul tuo sito.
Esempio:
<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}
Apre la finestra di dialogo di conferma della disattivazione dei regolamenti statali degli Stati Uniti se il link Non vendere predefinito viene sostituito. Una volta che l'utente interagisce con la finestra di dialogo di conferma, la funzione di callback fornita viene chiamata con true
se l'utente decide di disattivare
l'opzione e false
in caso contrario.
Esempio:
<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}
Restituisce un oggetto
googlefc.GoogleFcConsentModeUserStatus
contenente i valori correnti di ogni finalità della modalità di consenso, in base alla
decisione dell'utente in merito al consenso.
Consulta la sezione Utilizzo delle soluzioni di gestione del consenso di Google con il supporto della modalità di consenso per i regolamenti dell'UE per l'utilizzo previsto.
googlefc.ccpa.getInitialCcpaStatus(): {number}
Restituisce un valore in InitialCcpaStatusEnum
a seconda dello stato di ritiro del consenso dell'utente
ai sensi dei regolamenti statali degli Stati Uniti. La chiave da specificare per questa
funzione è INITIAL_CCPA_DATA_READY
. Tieni presente che qualsiasi richiesta successiva di dati
relativi alle normative statali degli Stati Uniti deve essere ottenuta chiamando direttamente l'API GPP (__gpp
).
Esempio:
<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}
Apre la finestra di dialogo di conferma della disattivazione dei regolamenti statali degli Stati Uniti se il link Non vendere predefinito viene sostituito. Una volta che l'utente interagisce con la finestra di dialogo di conferma,
la funzione di callback fornita viene chiamata con true
se l'utente decide di
disattivare la funzionalità e false
in caso contrario.
Esempio:
<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>
Utilizzare le soluzioni di gestione del consenso di Google con la versione 2 del TCF di IAB per il GDPR
Se utilizzi le soluzioni di gestione del consenso di Google per raccogliere il consenso ai sensi del GDPR nel framework TCF di IAB, devi utilizzare l'API TCF di IAB v2.
Puoi utilizzare la chiave della coda di callback CONSENT_API_READY
per assicurarti che i callback corrispondenti vengano richiamati solo quando l'API TCF v2 di IAB è definita nella pagina. Questo comando deve essere utilizzato insieme al comando
'addEventListener'
dell'API TCF v2 di IAB.
Esempio:
<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>
Puoi utilizzare la chiave della coda di callback CONSENT_DATA_READY
per assicurarti che i callback corrispondenti vengano richiamati
solo quando il consenso dell'utente viene raccolto ed è accessibile tramite l'API TCF v2 di IAB.
Può essere utilizzato in combinazione con il comando
'addEventListener'
: i dati forniti nella prima chiamata di callback fornita
conterranno le selezioni del consenso dell'utente (a condizione che la versione 2 del TCF si applichi a questo
utente). Tieni presente che con il rilascio della versione 2.2 del TCF, il comando
'getTCData'
è ora ritirato.
Esempio:
<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>
Utilizzo delle soluzioni di Google per la gestione del consenso con il supporto della modalità di consenso per i regolamenti dell'UE
Le soluzioni di Google per la gestione del consenso possono interpretare le scelte relative al consenso degli utenti in base ai regolamenti dell'UE per la modalità di consenso di Google (scopri di più nel Centro assistenza).
La modalità di consenso può essere implementata in modalità di base o modalità avanzata, come descritto nella documentazione di Google Ads e Analytics. Per soddisfare i requisiti legali, consulta il tuo ufficio legale per sapere quale modalità di consenso implementare.
La modalità di consenso avanzata è supportata per impostazione predefinita. Una volta attivata la modalità di consenso nell'interfaccia utente di Privacy e messaggi, non sono necessarie ulteriori operazioni.
Per implementare la modalità di consenso di base utilizzando le soluzioni di gestione del consenso di Google,
puoi utilizzare la chiave della coda di callback CONSENT_MODE_DATA_READY
per caricare in modo condizionale
i tag Google Ads e Analytics una volta che i dati della modalità di consenso sono disponibili.
I dati della modalità di consenso saranno disponibili dopo che Funding Choices avrà stabilito che
la modalità di consenso non si applica a questa richiesta (ad esempio perché i regolamenti europei
non si applicano a questa richiesta) o dopo che un utente avrà preso una decisione
in merito al consenso ai regolamenti europei. Consulta il tuo ufficio legale per conoscere i criteri da utilizzare
per determinare se i tuoi tag possono essere caricati una volta che la modalità di consenso è disponibile.
Ad esempio, per caricare i tag una volta che i dati della modalità di consenso sono disponibili, indipendentemente dalla decisione dell'utente finale in merito al consenso:
<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>
Puoi anche utilizzare l'API googlefc.getGoogleConsentModeValues()
per ottenere i valori delle singole finalità della modalità di consenso quando i dati della modalità di consenso sono disponibili.
Questa API restituisce un oggetto GoogleFcConsentModeUserStatus
che contiene un campo per ogni scopo della modalità di consenso supportata e il valore di ogni campo è un valore enum che indica il valore di questo scopo della modalità di consenso.
Ad esempio, puoi utilizzare googlefc.getGoogleConsentModeValues()
per sbloccare i tag Google Ads e Analytics solo quando:
- l'utente finale prende una decisione in merito al consenso ai sensi dei regolamenti dell'UE che comporta la concessione del consenso per tutte le finalità della modalità di consenso, o
- tutti gli scopi della modalità di consenso non sono applicabili alla richiesta corrente (il che potrebbe accadere se i regolamenti europei non si applicano o la modalità di consenso non è configurata per uno o più scopi in Privacy e messaggi).
<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>
Utilizzo delle soluzioni di gestione del consenso di Google con il framework GPP di IAB per i regolamenti statali degli Stati Uniti
Se utilizzi le soluzioni di gestione del consenso di Google per fornire messaggi di opt-out relativi ai regolamenti statali degli Stati Uniti agli utenti finali nell'ambito del framework GPP di IAB, devi utilizzare l'API GPP di IAB.
A causa della natura di disattivazione dei regolamenti statali degli Stati Uniti, puoi utilizzare la chiave della coda di callback CONSENT_API_READY
o CONSENT_DATA_READY
per assicurarti che l'API GPP di IAB sia chiamabile e restituisca i dati del consenso al momento dell'invocazione dei callback.
<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>
Utilizzo delle soluzioni di gestione del consenso di Google con il framework GPP di IAB per i regolamenti statali degli Stati Uniti con il tuo link personalizzato Non vendere e non condividere
Se utilizzi le soluzioni di gestione del consenso di Google per fornire messaggi di opt-out ai sensi dei regolamenti statali degli Stati Uniti agli utenti finali nell'ambito del framework GPP di IAB, è possibile fornire un link personalizzato Non vendere o condividere impostando il flag googlefc.usstatesoptout.overrideDnsLink
su 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>
In questo modo, il link predefinito Non vendere o condividere non viene visualizzato. Dopodiché, devi gestire l'interazione dell'utente con il link personalizzato Non vendere e non condividere richiamando la finestra di dialogo di conferma della disattivazione dei regolamenti statali degli Stati Uniti.
Tieni presente che, quando utilizzi il tuo link personalizzato Non vendere e non condividere, sei responsabile di garantire che il link sia conforme ai regolamenti statali degli Stati Uniti.
<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>