Questa pagina è rivolta agli sviluppatori che gestiscono la propria soluzione per il consenso sul proprio sito web e vogliono integrare la modalità di consenso. Per un'introduzione alla modalità di consenso, leggi Panoramica della modalità di consenso. Se utilizzi una piattaforma di gestione del consenso (CMP) per ottenere il consenso degli utenti, scopri di più su come configurare la modalità di consenso con una CMP.
Puoi implementare la modalità di consenso in modo di base o avanzato. Consulta le linee guida della tua azienda per scegliere un metodo di implementazione e quali valori predefiniti impostare. Scopri di più sulla modalità di consenso di base e avanzata.
Prima di iniziare
Tieni presente quanto segue prima di implementare la modalità di consenso:
Se utilizzi Tag Manager e vuoi mantenere il tuo banner, l'approccio consigliato è caricare il banner tramite il contenitore Tag Manager. Per farlo, devi creare un modello di modalità di consenso. In alternativa, puoi utilizzare un modello della modalità di consenso della galleria modelli della community.
Se utilizzi gtag.js, assicurati di aver installato il tag Google su ogni pagina del tuo sito web. Il codice della modalità di consenso viene aggiunto a ogni pagina del tuo sito web.
Configurare la modalità di consenso
Per configurare la modalità di consenso, devi:- Prima che un utente conceda il consenso: imposta lo stato del consenso predefinito.
- Aggiorna lo stato del consenso in base all'interazione dell'utente con le impostazioni del consenso.
Impostare lo stato del consenso predefinito
Imposta un valore predefinito per ogni tipo di consenso che utilizzi. Per impostazione predefinita, non è impostato nessun valore per la modalità di consenso.
Una best practice consiste nel limitare le impostazioni di consenso predefinite alle regioni in cui mostri i banner del consenso ai visitatori. Ciò consente di preservare la misurazione nelle regioni in cui sono richiesti i banner del consenso e i tag Google modificano il loro comportamento di conseguenza. Puoi anche evitare qualsiasi perdita di dati di misurazione in caso di assenza di banner del consenso o quando i banner del consenso non sono applicabili. Consulta la sezione Comportamento specifico per regione.
gtag.js
Per modificare le funzionalità di misurazione predefinite, chiama il comando gtag('consent',
'default', ...) su ogni pagina del tuo sito prima di qualsiasi comando che
invia dati di misurazione (ad esempio config o event).
Ad esempio, per impostare il rifiuto del consenso per tutti i parametri per impostazione predefinita:
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
(Facoltativo) Esegui l'integrazione con piattaforme di gestione del consenso asincrone
Se il banner viene caricato in modo asincrono, potrebbe non essere sempre eseguito prima dei tag Google. Per gestire queste situazioni, specifica wait_for_update insieme a
un valore in millisecondi per controllare il tempo di attesa prima dell'invio dei dati.
Ad esempio, per negare ad_storage in una pagina specifica per impostazione predefinita, ma per
consentire alla CMP di aggiornare lo stato del consenso, utilizza wait_for_update. Nel codice
seguente, ad_storage è impostato su denied per impostazione predefinita e lo strumento per il consenso
ha 500 millisecondi di tempo per chiamare gtag('consent', 'update', ...) prima dell'attivazione dei tag:
gtag('consent', 'default', {
'ad_storage': 'denied',
'wait_for_update': 500
});
Tag Manager
Quando utilizzi Google Tag Manager, crea un modello personalizzato utilizzando le API di consenso di Tag Manager. Il seguente esempio è disponibile come punto di partenza.
Utilizza le API specifiche di Tag Manager per gestire gli stati del consenso
setDefaultConsentState e updateConsentState. L'API gtagSet può essere
utilizzata per impostare facoltativamente le impostazioni di ads_data_redaction e del passthrough dell'URL
in modo appropriato.
Aggiorna stato del consenso
gtag.js
Per inviare lo stato del consenso dell'utente, utilizza il comando update. Poiché la modalità di consenso non salva le scelte relative al consenso, aggiorna lo stato del consenso non appena un utente interagisce con la tua soluzione di gestione del consenso. Dopo che un utente ha concesso
il consenso, memorizza la sua scelta e chiama il comando di aggiornamento di conseguenza nelle
pagine successive.
È tua responsabilità assicurarti che siano impostati i valori corretti per tutti i tipi di consenso. Per informazioni dettagliate sui tipi supportati, consulta il Riferimento API.
Il seguente esempio di codice mostra come aggiornare lo stato del consenso a
granted quando l'utente accetta tutte le opzioni:
<script>
function allConsentGranted() {
gtag('consent', 'update', {
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'ad_storage': 'granted',
'analytics_storage': 'granted'
});
}
</script>
<!-- Invoke your consent function when a user interacts with your banner -->
<body>
...
<button onclick="allConsentGranted()">Yes</button>
...
</body>
Tag Manager
Quando utilizzi un modello di modalità di consenso, il consenso dell'utente dovrebbe aggiornarsi automaticamente quando l'utente interagisce con il banner.
Se crei un modello per la modalità di consenso, utilizza le API specifiche di Tag Manager per gestire gli stati del consenso setDefaultConsentState e updateConsentState. L'API gtagSet può essere utilizzata per impostare facoltativamente le impostazioni di ads_data_redaction e di trasferimento dell'URL in modo appropriato.
Esempio di implementazione
L'esempio seguente imposta più parametri della modalità di consenso su denied per
impostazione predefinita. Dopo che un utente indica le proprie scelte relative al consenso, i parametri pertinenti
vengono aggiornati a granted.
gtag.js
L'ordine del codice qui è fondamentale. Se il codice di consenso viene chiamato in modo errato, i valori predefiniti del consenso non funzioneranno. A seconda dei requisiti aziendali, i dettagli possono variare, ma in generale il codice deve essere eseguito nel seguente ordine:
Carica il tag Google. Questo è il codice snippet predefinito. Lo snippet predefinito deve essere aggiornato (vedi sotto) in modo da includere una chiamata a
gtag('consent', 'default', ...).Carica la tua soluzione per il consenso. Se la tua soluzione per il consenso viene caricata in modo asincrono, consulta Integrazione con piattaforme di gestione del consenso asincrone per scoprire come assicurarti che ciò avvenga nell'ordine corretto.
Se non è gestito dalla tua soluzione per il consenso, chiama
gtag('consent', 'update', ...)dopo che l'utente ha indicato il consenso.
<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Set default consent to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID">
</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
<!-- Create one update function for each consent parameter -->
<script>
function consentGrantedAdStorage() {
gtag('consent', 'update', {
'ad_storage': 'granted'
});
}
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
...
<button onclick="consentGrantedAdStorage">Yes</button>
...
</body>
Tag Manager
Per i siti che utilizzano Tag Manager, consigliamo di utilizzare una CMP per gestire gli aggiornamenti delle scelte di consenso dei visitatori. Le CMP forniscono modelli nella Galleria modelli della community per creare un tag per la gestione della modalità di consenso.
Se non è possibile utilizzare un modello, puoi aggiornare il codice sulla tua pagina nel seguente modo. L'ordine del codice qui è fondamentale. Se il codice di consenso viene chiamato in modo errato, i valori predefiniti del consenso non funzioneranno.
<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Set default consent to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
<!-- Create one update function for each consent parameter -->
<script>
function consentGrantedAdStorage() {
gtag('consent', 'update', {
'ad_storage': 'granted'
});
}
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
...
<button onclick="consentGrantedAdStorage()">Yes</button>
...
</body>
Eseguire l'upgrade alla modalità di consenso v2
Nell'ambito del nostro costante impegno verso un ecosistema pubblicitario digitale incentrato sulla privacy, stiamo rafforzando l'applicazione delle nostre Norme relative al consenso degli utenti dell'UE.
Scopri di più sugli aggiornamenti alla modalità di consenso per il traffico nello Spazio economico europeo (SEE) di Google.
Gli utenti della modalità di consenso devono inviare due nuovi parametri oltre a ad_storage
e analytics_storage:
| Nome campo | Valori consentiti | Descrizione |
|---|---|---|
ad_user_data
|
'granted' | 'denied'
|
Imposta il consenso per l'invio a Google dei dati utente relativi alla pubblicità. |
ad_personalization
|
'granted' | 'denied'
|
Imposta il consenso per la pubblicità personalizzata. |
Altre funzionalità della modalità di consenso
Le funzionalità avanzate per il consenso includono la possibilità di:
- Imposta con quali servizi Google condividere i dati utilizzando l'interfaccia utente del tag Google.
- Imposta il comportamento per una regione geografica.
- Trasmetti le informazioni su clic sugli annunci, ID cliente e ID sessione negli URL quando gli utenti non hanno concesso il consenso per i cookie.
- Oscurare completamente (rimuovere) le informazioni sugli annunci quando gli utenti negano il consenso ai cookie pubblicitari.
Comportamento specifico per regione
Per impostare stati di consenso predefiniti che si applicano ai visitatori di determinate aree, specifica una regione (in base allo standard ISO 3166-2) nel comando gtag consent default. L'utilizzo dei valori della regione ti consente di rispettare le normative regionali.
Puoi impostare valori predefiniti per regioni specifiche e poi impostare un valore predefinito diverso per tutte le altre regioni. Un comando predefinito per il consenso gtag senza un parametro region imposta il valore predefinito per tutti i visitatori non coperti da un altro comando specifico per la regione.
gtag.js
L'esempio seguente imposta analytics_storage su denied per gli utenti di Spagna e Alaska e imposta ad_storage su denied per tutti gli utenti.
gtag('consent', 'default', { 'analytics_storage': 'denied', 'region': ['ES', 'US-AK'] }); gtag('consent', 'default', { 'ad_storage': 'denied' });
Tag Manager
Se utilizzi un modello per creare il tag, questo potrebbe avere i controlli per impostare un comportamento specifico per la regione. Se stai creando un tag modello in autonomia, consulta Crea un modello per la modalità di consenso per saperne di più sull'impostazione del comportamento specifico per regione.
Il parametro più specifico ha la precedenza
Se nella stessa pagina sono presenti due comandi predefiniti per il consenso con valori per una regione
e una sottoregione, avrà effetto quello con la regione più specifica. Ad esempio, se hai impostato ad_storage su granted per la regione Stati Uniti e ad_storage su denied per la regione Stati Uniti - California, un visitatore della California vedrà applicata l'impostazione più specifica Stati Uniti - California. Per questo esempio, un visitatore di US-CA avrebbe ad_storage impostato su denied.
| Regione | ad_storage |
Comportamento |
|---|---|---|
| US | 'granted' |
Si applica agli utenti negli Stati Uniti che non si trovano in California |
| US-CA | 'denied' |
Si applica agli utenti di Stati Uniti e Canada |
| Non specificato | 'granted' |
Utilizza il valore predefinito di 'granted'. Nell'esempio, si applica ai
visitatori che non si trovano negli Stati Uniti o in US-CA
|
Trasferire le informazioni su clic sull'annuncio, ID client e ID sessione negli URL
Quando un utente arriva sul tuo sito web dopo aver fatto clic su un annuncio, le informazioni sull'annuncio possono essere aggiunte agli URL pagina di destinazione come parametro di query. Per migliorare l'accuratezza degli eventi chiave, queste informazioni vengono solitamente memorizzate nei cookie proprietari del tuo dominio.
Tuttavia, se ad_storage è impostato su denied, queste informazioni non verranno memorizzate
localmente. Per migliorare la qualità della misurazione dei clic sugli annunci quando ad_storage è denied,
puoi scegliere facoltativamente di trasferire informazioni sui clic sugli annunci tramite parametri URL tra le pagine utilizzando il trasferimento URL.
Analogamente, se analytics_storage è impostato su denied, il passthrough dell'URL può essere
utilizzato per inviare analisi basate su eventi e sessioni (inclusi gli eventi chiave) senza
cookie tra le pagine.
Per utilizzare il trasferimento dell'URL, devono essere soddisfatte le seguenti condizioni:
- Il tag Google è consapevole del consenso ed è presente nella pagina.
- L'inserzionista ha attivato la funzionalità Passthrough URL.
- La modalità di consenso è implementata sulla pagina.
- Il link in uscita fa riferimento allo stesso dominio della pagina corrente.
Nell'URL è presente un GCLID o un DCLID (solo tag Google Ads e Floodlight)
gtag.js
Per attivare questa funzionalità, imposta il parametro url_passthrough su true.
Aggiungi il seguente comando allo snippet predefinito prima di qualsiasi comando config:
gtag('set', 'url_passthrough', true);
Tag Manager
Se utilizzi un modello per creare il tag, questo potrebbe avere i controlli per
impostare il trasferimento dell'URL. Se stai creando un tag modello autonomamente, consulta Creare un modello di modalità di consenso per saperne di più sull'impostazione del passthrough dell'URL utilizzando l'API modello personalizzato gtagSet.
In alternativa, puoi utilizzare le seguenti opzioni per impostarlo nel Linker conversioni e/o nei tag Analytics
Per i tag Google Ads e Floodlight:
Per attivare questa funzionalità, crea (o utilizza un) tag Linker conversioni e assicurati che la casella di controllo Attiva il collegamento in tutti gli URL delle pagine sia selezionata. Consulta la configurazione di base per istruzioni su come creare un tag Linker conversioni.
Per i tag Google Analytics:
In Tag Manager, vai a Campi da impostare e seleziona **Configurazione tag.
Campi da impostare**.
- Quando la sezione Campi da impostare è espansa, fai clic su Aggiungi riga.
- In Nome campo, inserisci
url_passthrough. - In Valore, inserisci "true".
- Salva il tag e pubblica.
In alternativa, puoi impostare il parametro
url_passthroughsutruein ogni pagina del tuo sito prima dello snippet di installazione di GTM.window.dataLayer = window.dataLayer || []; function gtag(){window.dataLayer.push(arguments);} gtag('set', 'url_passthrough', true);Quando si utilizza il passthrough URL, alcuni parametri di ricerca potrebbero essere aggiunti ai link man mano che gli utenti navigano tra le pagine del tuo sito web:
gcliddclidgclsrc_glwbraid
Per ottenere risultati ottimali, assicurati che:
- I reindirizzamenti sul tuo sito superano tutti i parametri di ricerca sopra indicati.
- Gli strumenti di analisi ignorano questi parametri negli URL delle pagine.
- Questi parametri non interferiscono con il comportamento del tuo sito.
Oscurare i dati pubblicitari
Quando ad_storage è denied, non vengono impostati nuovi cookie per scopi pubblicitari. Inoltre, i cookie di terze parti precedentemente impostati su google.com e
doubleclick.net non verranno utilizzati, ad eccezione di scopi di protezione da spam e attività fraudolente. I dati inviati
a Google includeranno comunque l'URL completo della pagina, comprese le informazioni
relative ai clic sugli annunci nei parametri URL.
gtag.js
Per oscurare ulteriormente i dati degli annunci quando ad_storage è denied, imposta
ads_data_redaction su true.
gtag('set', 'ads_data_redaction', true);
Quando ads_data_redaction è true e ad_storage è denied, gli identificatori di clic sull'annuncio inviati nelle richieste di rete dai tag Google Ads e Floodlight verranno oscurati. Anche le richieste di rete verranno inviate tramite un dominio senza cookie.
Tag Manager
Se utilizzi un modello per creare il tag, questo potrebbe avere i controlli per oscurare ulteriormente i dati degli annunci. Se stai creando un tag modello autonomamente, consulta Crea un modello per la modalità di consenso per saperne di più sulla redazione dei dati degli annunci.
Problemi comuni
Il consenso non viene aggiornato in una pagina di transizione
Quando implementi la modalità di consenso avanzata, devi chiamare un comando di aggiornamento nella pagina in cui l'utente concede il consenso.
Quando una pagina viene caricata con il consenso negato e poi ricaricata con il consenso concesso dopo una modifica del consenso, i tag Google potrebbero perdere i punti dati chiave della pagina originale. I report successivi potrebbero essere incompleti.
Ad esempio, in Google Analytics, a molte sessioni con consenso potrebbe mancare un evento session_start.
Per evitare questo problema, chiama il comando di aggiornamento ogni volta che lo stato del consenso di un utente cambia.
Consenso aggiornato immediatamente prima del ricaricamento della pagina
In alcuni casi, quando un tipo di consenso viene aggiornato da negato a concesso, i tag Google possono inviare misurazioni in base a questo aggiornamento. Se il comando di aggiornamento viene chiamato durante il caricamento della pagina, il browser potrebbe annullare questo traffico di rete prima che venga completato. I report successivi potrebbero essere incompleti.
Se possibile, assicurati che i comandi di aggiornamento vengano registrati molto prima che la pagina venga scaricata.
Passaggi successivi
Controlli dei tag precedenti
Se utilizzi tag legacy, come ga.js, analytics.js o conversion.js, esegui l'aggiornamento a gtag.js o Google Tag Manager.
Per saperne di più sugli altri controlli per la privacy dei tag legacy, consulta la seguente documentazione: