Google Tag Manager (GTM)

Nota bene: se desideri integrare il codice di Consentmanager tramite GTM, solo il codice di blocco manuale può essere integrato utilizzando un TagManager. Se desideri utilizzare il blocco automatico del codice, devi inserire il codice CMP direttamente nel tuo sito web.

Nota bene: il sistema invierà le informazioni a window.dataLayer. GTM offre la possibilità di rinominare questa variabile con un altro valore. In tal caso, i dati non saranno più ricevuti da GTM. Pertanto, assicurati di non (ri)nominare la variabile in modo diverso da dataLayer.

Informazioni generali

Per poter utilizzare le informazioni sul consenso con Google Tag Manager (GTM), il CMP invierà i cosiddetti data layer a GTM. Il CMP creerà le seguenti variabili del data layer:

Variabile

Descrizione

cmpRegulation

Stringa del nome del regolamento (ad es. GDPR, CCPA e così via)

cmpConsentString

Imposta la stringa di consenso IAB

cmpConsentVendors

Imposta un elenco separato da virgole di ID dei fornitori che hanno ottenuto il consenso, ad es. ,3,7,s22,31,c88, (l'elenco inizia e finisce con una virgola)

cmpGoogleVendorsConsent

Come cmpConsentVendors, ma include gli ID ATP di Google.

cmpConsentPurposes

Imposta un elenco separato da virgole delle finalità per cui è stato ottenuto il consenso, ad es. ,1,2,s3,s4,s5, (l'elenco inizia e termina con una virgola)

cmpCurrentStatus

Nome dello stato attuale dell'evento cmp. Valori possibili: unknown, loading, consent, legitimateInterest
. Nota: di tanto in tanto potrebbero essere aggiunti ulteriori stati

cmpLastStatus

Nome dello stato dell'evento cmp precedente/ultimo. Valori possibili: unknown, loading, loaded, consent, legitimateInterest, disabled, hidden, visible, tcloaded, consent-loaded, useraction.
Nota: di tanto in tanto
potrebbero essere aggiunti ulteriori stati. Nota: questo include anche TUTTI i nomi di stato TCF e GPP, ad es. sectionChange.*, cmpDisplayStatus.* e così via

cmpLoadingStatus

Nome dello stato della sequenza di caricamento (stub, loading, loaded, error)

cmpDisplayStatus

Nome dello stato della visualizzazione del livello di consenso (visible, hidden, disabled)

consentExists

Esiste uno stato di consenso (vero/falso). Si prega di notare che questo valore è vero non appena viene visualizzato il livello di consenso e/o nei casi in cui non sia richiesto alcun consenso.

userChoiceExists

Esiste uno stato di consenso basato sulla scelta dell'utente (vero/falso), ad esempio l'utente ha cliccato su accetta, rifiuta o ha salvato le impostazioni personalizzate.

L'evento cmpEvent in combinazione con le variabili di cui sopra può quindi essere utilizzato come trigger per il tag manager al fine di sapere se/quando attivare i codici.

Integrazione tramite template GTM

  1. Accedi al tuo Google Tag Manager e clicca su Tag > Nuovo > Configurazione tag
  2. Dal menu Tipo di tag, scegli Funzionalità Community CMP Modelli > Consentmanager CMP



  3. Clicca su Aggiungi all'area di lavoro > Aggiungi



  4. Ottieni il tuo CMP-ID, CDN e host dal tuo account dal menu > CMP > Ottieni codici per… Siti web



  5. Inserisci il tuo CMP-ID, CDN e Host nel nostro modello GTM e salva.

    Inserisci senza il protocollo "https://"!


    gtm_inputs.jpg

  6. Imposta il tag con il codice CMP in modo che si attivi ad ogni visualizzazione della pagina:

 

Nota bene: in base alle linee guida di Google, dobbiamo abilitare inizialmente Consent Mode. Ciò può creare confusione quando i clienti integrano il nostro template e, ad esempio, non vedono i dati in tempo reale di Google Analytics. Se NON desideri utilizzare Consent Mode, non dimenticare di disattivare la funzione nel template.

 

Integrazione manuale

Se non vuoi utilizzare il modello GTM o la ricetta GTM (vedi sopra), puoi inserire manualmente il codice CMP nel tuo TagManager. Pertanto, copia il codice di blocco semi-automatico / manuale da Menu > CMP > Ottieni codice per … Sito web e incollalo nel tuo TagManager come nuovo tag. Imposta il tag in modo che venga attivato con l'evento più precoce possibile (PageView o precedente). Non impostare una condizione / esclusione per il tag.

GTM + Modalità Consenso di Google

Per utilizzare Consentmanager con GTM e Google Consent Mode, consulta la nostra sezione di aiuto dedicata a Google Consent Mode qui.

Aggiornamento dei tag e delle condizioni

Nota: se la Modalità Consenso di Google è abilitata, puoi utilizzare le variabili di consenso integrate per filtrare i tag. Nella maggior parte dei casi questo è più semplice rispetto all'aggiornamento delle condizioni di attivazione. Maggiori informazioni sulla Modalità Consenso di Google sono disponibili qui.

Per visualizzare determinati codici solo se viene dato il consenso, segui questi passaggi:

  1. Crea delle variabili in GTM: in GTM vai su Variabili > Nuovo e clicca su Configura:

  2. Scegli il tipo di variabile Variabili della pagina > Variabile del data layer, crea le variabili necessarie; di solito ti servirà almeno la variabile cmpConsentVendors. Aggiungi altre variabili dalla tabella sopra se necessario:

  3. Ripeti i passaggi sopra indicati per tutte le altre variabili di cui hai bisogno (di solito cmpGDPR, cmpConsentVendors, cmpConsentPurposes, …)

  4. Vai su Triggers > Nuovo e clicca su Configura:



  5. Usa il nome dell'evento cmpEvent e aggiungi eventi personalizzati:

     

  6. Per ogni evento è necessaria almeno una regola:  cmpConsentVendors contains ...  (oppure cmpConsentPurposes contains ... ).

  7. Imposta le regole dell'evento su cmpConsentVendors contains ,x, dove x è l'ID del fornitore. Gli ID dei fornitori si trovano nel menu Fornitori/Whitelist:


    Importante: usa sempre un solo fornitore per trigger (... contains ,x, e non ... contains ,x,y,z,). Se si lavora con più fornitori, creare più trigger, uno per ogni fornitore.
    Importante: utilizzare sempre una virgola prima e dopo l’ID del fornitore (ad es. cmpConsentVendors contains ,x, e non cmpConsentVendors contains x)

     

  8. Ripeti il passaggio precedente per ogni fornitore e crea un nuovo trigger per ciascuno di essi

  9. Applica il trigger ai tuoi tag e assicurati che i tag non si attivino con l'evento pageView ma solo con il cmpEvent:



    Esempio per Google Analytics:



    Importante: assicurati che il trigger sia l'unico trigger per ogni tag che stai utilizzando. Non combinare i trigger con altri trigger/eventi come "Tutte le pagine" o "Al caricamento della pagina" e così via.

Esempio: Bloccare Google Analytics con Google Tag Manager (GTM)

Ecco alcuni screenshot di esempio che mostrano come apparirebbe una configurazione per bloccare Google Analytics in caso di mancato consenso.

Trigger

Attiva Google Analytics su tutte le pagine quando viene dato il consenso:

Tag

Tag di Google Analytics con trigger assegnati (il secondo trigger è facoltativo):

Come bloccare il codice di Google Tag Manager se non viene dato il consenso?

Nota bene: se non vuoi bloccare GTM stesso ma solo i tag attivati da GTM e quando utilizzi il blocco automatico, assicurati che il TagManager non venga bloccato inserendo l'attributo data-cmp-ab="1" nel codice del TagManager.

Se vuoi bloccare non solo i codici all'interno del TagManager ma anche il TagManager stesso, puoi farlo seguendo questi passaggi:

Il tuo codice GTM sarà più o meno simile a questo:

<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-ABCDEF');</script>

Per consentire al CMP di consentmanager.net di bloccare e abilitare il codice solo previo consenso, dovrai modificare il codice nel modo seguente: (vedi le modifiche nella <script ...> parte del codice)

<script data-cmp-vendor="s905" type="text/plain" class="cmplazyload" >(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-ABCDEF');</script>

Tieni presente che il codice di blocco automatico potrebbe impedire al browser di eseguire il codice GTM, ma potrebbe non essere in grado di impedire al browser di scaricare i codici sorgente GTM. Pertanto, è possibile che il crawler ti avvisi che GTM è stato caricato senza consenso. Se vuoi essere sicuro che GTM non venga caricato senza consenso, DEVI modificare il codice GTM come descritto sopra.

Come impedire a Google Tag Manager di attivarsi più volte?

Il CMP attiverà il datalayer cmpEvent ogni volta che le informazioni sul consenso vengono aggiornate. Ciò avviene quando la pagina viene caricata e le informazioni sul consenso si trovano nel cookie del visitatore, quando viene visualizzato il layer di consenso e il visitatore effettua una scelta o quando il visitatore riapre il layer di consenso e modifica le impostazioni. In quest'ultimo caso può capitare che il visitatore apra e chiuda il layer di consenso più volte. Ogni volta che il layer si chiude, il datalayer verrà attivato e Google TagManager potrebbe mostrare alcuni tag o attivare il conteggio di Google Analytics. Per evitare che i tag vengano attivati più volte su una pagina, segui questi passaggi:

  1. Crea un nuovo tag per ogni tag che vuoi impedire venga attivato di nuovo. Usa un codice HTML personalizzato e inserisci il seguente codice:

    <script> window.prevent_duplicate_googleanalytics = true; </script>

  2. Usa lo stesso trigger per questo nuovo tag che usi per il tag originale.

  3. Crea una nuova variabile di tipo javascript personalizzato e usa il seguente codice:
    function (){ return ("prevent_duplicate_googleanalytics" in window); }

  4. Aggiungi un'altra condizione al tuo trigger esistente utilizzando la variabile che hai creato in precedenza ("Variabile XXX è uguale a false"):

Come gestire il dataLayer o l'ordine degli eventi?

In alcuni casi i tag dovrebbero essere attivati solo quando si è verificato più di un evento, ad esempio una determinata azione da parte dell’utente e il consenso è stato dato. Per combinare un evento esistente con il ConsentManager cmpEvent, segui questi passaggi:

  1. Modifica il tag e rimuovi il trigger esistente da esso.
  2. Clicca sull'icona per assegnare un nuovo trigger al tag e poi crea un nuovo trigger:

  3. Assegna un nome al nuovo trigger e scegli il tipo di trigger "Gruppo di trigger":

  4. Aggiungi il tuo trigger esistente e il trigger cmpEvent al gruppo di trigger:

  5. Imposta le condizioni di attivazione nello stesso modo in cui lo fai con i normali trigger (ad es. aggiungi cmpGDPR equals 1 come condizione).
  6. Salva il gruppo trigger e assegnalo al tag.

Sospendere / posticipare gli eventi dataLayer fino al conferimento del consenso: il dataLayer Blocker

Il dataLayer Blocker metterà in pausa tutti gli eventi inviati a GTM fino a quando l'utente non avrà espresso una scelta.

Se si verifica un evento, dataLayer Blocker lo memorizzerà automaticamente in un archivio interno senza trasmetterlo a GTM. Ciò consente al sistema di garantire che gli eventi arrivino nell'ordine corretto (ad es. eventi di consenso prima degli eventi PageView o e-commerce). Quando l'utente ha effettuato la sua scelta (ad es. accettato o rifiutato), il dataLayer Blocker trasmetterà automaticamente tutti gli eventi memorizzati a GTM per consentire a GTM di iniziare a elaborarli.

Per abilitare il dataLayer Blocker, vai su Menu > CMP > Altre impostazioni e seleziona Abilita blocco dataLayer.

dataLayer Blocker + Codici di blocco automatico

Se stai utilizzando i codici di blocco automatico, puoi abilitare il dataLayer Blocker come descritto. Non sono necessari ulteriori passaggi.

dataLayer Blocker + Codici di blocco semi-automatici (Codici di blocco manuali)

Se utilizzi i codici semi-automatici (noti anche come codici di blocco manuale), devi abilitare il dataLayer Blocker come descritto sopra e aggiungere il seguente codice al tuo sito web:

<script type="application/javascript" src="https://cdn.consentmanager.net/delivery/js/datalayerblocker.min.js"></script>

Aggiungi il codice sopra riportato prima di qualsiasi altro codice di terze parti nel sito web <head>. Non modificare il codice sopra riportato e non tentare di caricarlo in modo asincrono o differito.

Configurazione aggiuntiva

Le seguenti variabili di configurazione lato client possono essere utilizzate per influenzare il comportamento del dataLayer Blocker:

<script> 
 window.cmp_datalayername = "dataLayer2";
 // Set before the code load to change the name of the dataLayer variable
 
 window.cmp_datalayerprotectoverride = true;
 // Set before the code load to enable override protection (dataLayer variable cannot be reset by other codes)
 
 window.cmp_datalayerallowlist = ['event:abc','myname:*'];
 // Set before the code load to expend allowList of events that get passed through before user choise is made

</script>

Inoltre puoi richiamare l'URL del sito web con …?cmpnodatalayerblocker o …#cmpnodatalayerblocker per disabilitare temporaneamente la funzione dataLayer Blocker (ad es. durante i test).

Webinar/tutorial sull'implementazione di GTM

Nota bene: al momento possiamo offrire questo video tutorial solo in tedesco. La configurazione di GTM inizia all'incirca dal minuto 05:00 al 22:00. Se non utilizzi la Modalità Consenso di Google, puoi saltare il resto del video.

 

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!