Configurare la modalità di consenso sui siti web

Questa pagina è rivolta agli sviluppatori che gestiscono la propria soluzione di consenso sul proprio sito web e vogliono integrare la modalità di consenso. Per un'introduzione alla modalità di consenso, leggi la panoramica della modalità di consenso. Se usi 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 quale impostare per impostazione predefinita. 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 consiste nel caricare il banner tramite il contenitore di Tag Manager. Per farlo, devi creare un modello per la modalità di consenso. In alternativa, puoi utilizzare un modello per la modalità di consenso della Galleria modelli della community.

  • Se utilizzi gtag.js, assicurati di aver installato il tag Google in ogni pagina del tuo sito web. Il codice della modalità di consenso viene aggiunto a ogni pagina del tuo sito web.

Per configurare la modalità di consenso, devi:
  1. Prima che un utente conceda il consenso: imposta lo stato del consenso predefinito.
  2. Aggiorna lo stato del consenso in base all'interazione dell'utente con le tue impostazioni relative al consenso.

Imposta un valore predefinito per ogni tipo di consenso che utilizzi. Per impostazione predefinita, non è impostato alcun valore della modalità di consenso.

È consigliabile limitare le impostazioni di consenso predefinite alle regioni in cui mostra 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 misurazioni se non sono presenti banner del consenso o banner del consenso. Consulta la sezione Comportamento specifico per regione.

gtag.js

Per regolare 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 (come config o event).

Ad esempio, per impostare la negazione 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) 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 quanto attendere prima che i dati vengano inviati.

Ad esempio, per negare ad_storage su una determinata pagina per impostazione predefinita, ma per consentire alla tua CMP di aggiornare lo stato del consenso, utilizza wait_for_update. Nel codice seguente, ad_storage è impostato in modo predefinito su denied e lo strumento per il consenso ha 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 il tuo modello 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. Facoltativamente, puoi utilizzare l'API gtagSet per impostare le impostazioni di ads_data_redaction e passthrough URL in base alle esigenze.

gtag.js

Per inviare lo stato del consenso dell'utente, usa 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, mantieni la scelta e chiama 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 la documentazione di riferimento delle 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 della modalità di consenso, il consenso dell'utente deve 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. Facoltativamente, puoi utilizzare l'API gtagSet per configurare le impostazioni di passthrough ads_data_redaction e dell'URL in base alle esigenze.

Esempio di implementazione

L'esempio seguente imposta più parametri della modalità di consenso su denied per impostazione predefinita. Dopo che un utente indica le sue scelte relative al consenso, i parametri pertinenti vengono aggiornati a granted.

gtag.js

L'ordine del codice qui è fondamentale. Se il codice del consenso viene chiamato non disponibile, le impostazioni predefinite per il consenso non funzioneranno. A seconda dei requisiti aziendali, le specifiche possono variare, ma in generale, il codice deve essere eseguito nel seguente ordine:

  1. Carica il tag Google. Questo è il tuo codice snippet predefinito. Lo snippet predefinito dovrebbe essere aggiornato (vedi sotto) per includere una chiamata a gtag('consent', 'default', ...).

  2. Carica la tua soluzione per il consenso. Se la tua soluzione per il consenso viene caricata in modo asincrono, consulta Eseguire l'integrazione con le piattaforme di gestione del consenso asincrone per sapere come assicurarti che ciò avvenga nell'ordine corretto.

  3. Se non viene gestita dalla tua soluzione per il consenso, chiama gtag('consent', 'update', ...) dopo che l'utente ha espresso il proprio 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 dei visitatori relative al consenso. Le CMP forniscono modelli nella Galleria modelli della community per creare un tag per gestire la modalità di consenso.

Se non è possibile utilizzare un modello, puoi aggiornare il codice nella pagina come indicato di seguito. L'ordine del codice qui è fondamentale. Se il codice del consenso viene richiamato nell'ordine sbagliato, le impostazioni predefinite per il 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>

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.

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 relative a clic sugli annunci, ID client e ID sessione negli URL quando gli utenti non hanno concesso il consenso per i cookie.
  • Oscura (rimuovi) completamente le informazioni sugli annunci quando gli utenti negano il consenso per i cookie per gli annunci.

Comportamento specifico per regione

Per modificare il comportamento predefinito dei tag per gli utenti di determinate regioni, specifica una regione nel comando di consenso. Se specifichi un valore per la regione, puoi ottimizzare i valori predefiniti in base alla posizione geografica dei tuoi utenti. Per saperne di più sull'identificazione delle regioni, consulta ID geografici.

gtag.js

L'esempio seguente imposta il valore analytics_storage su denied per gli utenti da Spagna e Alaska e il valore 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 stai creando un tag modello autonomamente, consulta la sezione Creare 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 vengono visualizzati due comandi di consenso predefiniti con i valori per una regione e una sottoregione, verrà applicato quello con una regione più specifica. Ad esempio, se il criterio ad_storage è impostato su granted per la regione US e ad_storage su denied per la regione US-CA, un visitatore della California verrà applicata l'impostazione più specifica US-CA. In questo esempio, significa che un visitatore da Stati Uniti in Canada ha ad_storage impostato su denied.

Regione ad_storage Comportamento
Stati Uniti 'granted' Si applica agli utenti negli Stati Uniti che non sono in Canada
US-CA 'denied' Si applica agli utenti USA-CA
Non specificato 'granted' Utilizza il valore predefinito di 'granted'. Nell'esempio, si applica ai visitatori che non si trovano negli Stati Uniti o in USA-CA

Trasmettere informazioni relative a 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 ricerca. Per migliorare l'accuratezza degli eventi chiave, queste informazioni vengono generalmente memorizzate nei cookie proprietari sul tuo dominio.

Tuttavia, se ad_storage è impostato su denied, queste informazioni non verranno archiviate in locale. Per migliorare la qualità della misurazione dei clic sugli annunci quando il valore ad_storage è denied, puoi scegliere di trasferire le informazioni sui clic sugli annunci tramite i parametri URL alle pagine utilizzando il passthrough URL.

Analogamente, se il criterio analytics_storage è impostato su denied, il passthrough dell'URL può essere utilizzato per inviare dati analitici basati su eventi e sessioni (inclusi gli eventi chiave) senza cookie tra le pagine.

Per utilizzare il passthrough URL, devono essere soddisfatte le seguenti condizioni:

  • Il tag Google è sensibile al consenso e presente nella pagina.
  • L'inserzionista ha attivato la funzionalità passthrough URL.
  • La modalità di consenso è implementata nella pagina.
  • Il link in uscita si riferisce allo stesso dominio della pagina corrente.
  • Nell'URL è presente un GCLID o un DCLID (solo tag Google Ads e Floodlight)

gtag.js

Per abilitare 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 includere i controlli per impostare il passthrough URL. Se stai creando un tag modello autonomamente, consulta Creare un modello per la modalità di consenso per ulteriori informazioni sull'impostazione del passthrough URL utilizzando l'API gtagSet per il modello personalizzato.

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 esistente) e assicurati che l'opzione Attiva il collegamento su tutti gli URL delle pagine sia selezionata. Consulta la configurazione di base per le istruzioni su come creare un tag Linker conversioni.

Per i tag di Google Analytics:

  1. In Tag Manager, vai a Campi da impostare:
  2. Quando la sezione Campi da impostare è espansa, fai clic su Aggiungi riga.
  3. Per Nome campo, inserisci il valore corretto:
    • Per i tag Google Analytics: configurazione di GA4, inserisci url_passthrough.
    • Per i tag Google Analytics: Universal Analytics che utilizzano le variabili delle impostazioni di Google Analytics, inserisci urlPassthrough.
  4. In Valore, inserisci "true".
  5. Salva il tag e pubblicalo.

In alternativa, puoi impostare il parametro url_passthrough su true in ogni pagina del sito prima dello snippet di installazione di GTM.

window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('set', 'url_passthrough', true);

Quando utilizzi il passthrough URL, puoi aggiungere alcuni parametri di query ai link mentre gli utenti navigano nelle pagine del tuo sito web:

  • gclid
  • dclid
  • gclsrc
  • _gl
  • wbraid

Per risultati ottimali, assicurati che:

  1. I reindirizzamenti sul tuo sito trasmettono tutti i parametri di query precedenti.
  2. I tuoi strumenti di analisi ignorano questi parametri negli URL delle pagine.
  3. 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, se non a scopo di spam e attività fraudolenta. I dati inviati a Google continueranno a includere l'URL completo della pagina, incluse le informazioni sui clic sugli annunci 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);

Se ads_data_redaction è true e ad_storage è denied, gli identificatori di clic sugli annunci inviati nelle richieste di rete da Google Ads e dai tag 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 pubblicitari. Se stai creando un tag modello autonomamente, consulta la sezione Creare un modello per la modalità di consenso per ulteriori informazioni sulla oscuramento dei dati pubblicitari.

Passaggi successivi

Controlli tag precedenti

Se utilizzi tag precedenti, come ga.js, analytics.js o Conversion.js, esegui l'aggiornamento a gtag.js o Google Tag Manager.

Per ulteriori informazioni sui controlli per la privacy di altri tag legacy, consulta la seguente documentazione: