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, consulta la 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 i valori predefiniti da 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 gestire il tuo banner, l'approccio consigliato è caricarlo tramite il contenitore Tag Manager. Per farlo, devi creare un modello per la modalità di consenso. In alternativa, puoi utilizzare un modello per la modalità di consenso dalla 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 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 invii 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 le 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 determinata pagina per impostazione predefinita, ma per consentire alla CMP di aggiornare lo stato del consenso, utilizza wait_for_update
. Nel
codice seguente, il valore predefinito di ad_storage
è denied
e allo strumento per il consenso viene dato un tempo di 500 millisecondi 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 consensosetDefaultConsentState
e updateConsentState
. L'API gtagSet
può essere impiegata per impostare facoltativamente le impostazioni di ads_data_redaction
e di trasmissione dell'URL come 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. Una volta che un utente ha concesso il consenso, devi memorizzare la scelta e chiamare il comando di aggiornamento di conseguenza nelle pagine successive.
Spetta a te assicurarti che siano impostati i valori corretti per tutti i tipi di consenso. Per informazioni dettagliate sui tipi supportati, consulta il riferimento API.
L'esempio di codice seguente mostra come aggiornare lo stato del consenso su
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 per la modalità di consenso, il consenso dell'utente dovrebbe aggiornarsi automaticamente quando l'utente interagisce con il banner.
Se crei autonomamente 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 trasmissione dell'URL, a seconda dei casi.
Esempio di implementazione
L'esempio seguente imposta più parametri della modalità di consenso su denied
per default. Dopo che un utente ha indicato le proprie scelte relative al consenso, i parametri pertinenti vengono aggiornati a granted
.
gtag.js
L'ordine del codice è fondamentale. Se il codice di consenso viene chiamato in modo scorretto, le impostazioni predefinite del consenso non funzioneranno. A seconda dei requisiti aziendali, le specifiche possono variare, ma in generale il codice deve essere eseguito nel seguente ordine:
Carica il tag Google. Questo è il codice dello snippet predefinito. Lo snippet predefinito deve essere aggiornato (vedi di seguito) per 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 l'articolo Eseguire l'integrazione con piattaforme di gestione del consenso asincrone per sapere 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 relative al 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 pagina come segue. L'ordine del codice è fondamentale. Se il codice di consenso viene chiamato in ordine diverso, le impostazioni predefinite 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 i servizi Google con cui condividi i dati utilizzando l'interfaccia utente del tag Google.
- Imposta il comportamento per una regione geografica.
- Trasmetti le informazioni sui clic sugli annunci, sull'ID cliente e sull'ID sessione negli URL quando gli utenti non hanno fornito il consenso per i cookie.
- Oscurare completamente (rimuovere) le informazioni sugli annunci quando gli utenti negano il consenso per i cookie degli annunci.
Comportamento specifico per regione
Per modificare il comportamento predefinito dei tag per gli utenti di determinate regioni, specifica una regione nel comando del consenso. Fornendo un valore di regione, puoi perfezionare le impostazioni predefinite in base alle posizioni geografiche dei tuoi utenti. Per saperne di più sull'identificazione delle regioni, consulta ID geografici.
gtag.js
Il seguente esempio imposta analytics_storage
su denied
per gli utenti di Spagna e Alaska e 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 regione. Se crei autonomamente un tag modello, consulta Creare un modello per la modalità di consenso per ulteriori informazioni su come impostare il comportamento specifico per regione.
Il parametro più specifico ha la precedenza
Se nella stessa pagina sono presenti due comandi di consenso predefiniti con valori per una regione e una sottoregione, verrà applicato quello con una regione più specifica. Ad esempio, se hai impostato ad_storage
su granted
per la regione US e ad_storage
su denied
per la regione US-CA, per un visitatore della California verrà applicata l'impostazione più specifica US-CA. In questo esempio, per un visitatore proveniente da US-CA, ad_storage
viene impostato su denied
.
Regione | ad_storage |
Comportamento |
---|---|---|
US | 'granted' |
Si applica agli utenti negli Stati Uniti non in California |
US-CA | 'denied' |
Si applica agli utenti di Stati Uniti e Canada |
Non specificato | 'granted' |
Utilizza il valore predefinito 'granted' . Nell'esempio, si applica ai visitatori che non si trovano negli Stati Uniti o in Canada
|
Trasmettere informazioni su clic sull'annuncio, ID cliente 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 la precisione degli eventi chiave, queste informazioni vengono in genere 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
,
se vuoi puoi scegliere di passare le informazioni sui clic sugli annunci tramite i parametri URL tra le pagine utilizzando il trasferimento dell'URL.
Analogamente, se analytics_storage
è impostato su denied
, il trasferimento 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 passaggio di URL, devono essere soddisfatte le seguenti condizioni:
- Il tag Google è conforme al consenso ed è presente nella pagina.
- L'inserzionista ha attivato la funzionalità Passthrough URL.
- La modalità di consenso è implementata nella 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, potrebbe avere i controlli per impostare il passaggio dell'URL. Se stai creando un tag modello autonomamente, consulta
Creare un modello per la modalità di consenso per saperne di più su come impostare il traferimento dell'URL utilizzando l'API di modelli personalizzati gtagSet
.
In alternativa, puoi utilizzare le seguenti opzioni per impostarlo nel Linker conversioni e/o nei tag di analisi
Per i tag Google Ads e Floodlight:
Per attivare questa funzionalità, crea (o utilizza uno esistente) un tag linker conversioni e assicurati che l'opzione 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_passthrough
su true
su 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 query possono essere aggiunti ai link mentre gli utenti navigano tra le pagine del tuo sito web:
gclid
dclid
gclsrc
_gl
wbraid
Per ottenere risultati ottimali, assicurati che:
- I reindirizzamenti sul tuo sito devono trasmettere tutti i parametri di query sopra indicati.
- Gli strumenti di analisi ignorano questi parametri negli URL pagina.
- Questi parametri non interferiscono con il comportamento del tuo sito.
Oscurare i dati pubblicitari
Quando ad_storage
è denied
, non verranno impostati nuovi cookie per scopi pubblicitari. Inoltre, i cookie di terze parti precedentemente impostati su google.com e
doubleclick.net non verranno utilizzati, tranne che per scopi di protezione da spam e attività fraudolente. I dati inviati
a Google includeranno comunque l'URL completo della pagina, incluse eventuali informazioni sui clic sull'annuncio
nei parametri URL.
gtag.js
Per oscurare ulteriormente i dati pubblicitari 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 dei clic sugli annunci 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, potrebbe includere i controlli per oscurare ulteriormente i dati degli annunci. Se stai creando un tag modello autonomamente, consulta Creare un modello per la modalità di consenso per saperne di più sull'oscuramento dei dati sui 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. Eventuali 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 cambia lo stato del consenso di un utente.
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 lo svuotamento della pagina, il browser potrebbe annullare questo traffico di rete prima del completamento. Eventuali report successivi potrebbero essere incompleti.
Se possibile, assicurati che i comandi di aggiornamento vengano registrati molto prima dello svuotamento della pagina.
Passaggi successivi
Controlli dei tag legacy
Se utilizzi tag precedenti, come ga.js, analytics.js o conversion.js, esegui l'aggiornamento a gtag.js o a Google Tag Manager.
Per scoprire di più sui controlli per la privacy di altri tag precedenti, consulta la seguente documentazione: