[Aggiornata 14 Aprile 2020]
Per gestire correttamente la Cookie Law e la GDPR dobbiamo disabilitare gli strumenti di profilazione dell’utente e, soprattutto, far apparire il fastidioso avviso che il sito sta utilizzando i cookie.
Allora, esistono vari modi per gestire la cosa. La prima soluzione è cercare di gestire in maniera autonoma questa implementazione (con Google Tag Manager diviene davvero semplice). Un’altra soluzione è quella di utilizzare servizi esterni, come ad esempio Iubenda. Uh proposito, se stai pensando di scegliere Iubenda ti lascio il link: [SCONTO 10% IUBENDA].
In questa guida ti spiegherò come gestire la Cookie Law/GDPR con Iubenda secondo le sue linee guida.
Poi ti dirò anche come le ho ottimizzate e rese più performanti 🙂
[News del 5 Marzo 2018]
A seguito di questa guida Iubenda ha aggiornato la sua guida ufficiale, citandomi come fonte. Trovi tutto nella sezione “Configurazione Avanzata”.
Che cosa bellissima 🙂
Sei pronto ad installare Iubenda con GTM? Iniziamo!
Secondo la guida dovresti, per prima cosa, inserire a mano il codice JavaScript prima della chiusura del body:
<script type="text/javascript"> var _iub = _iub || []; _iub.csConfiguration = { cookiePolicyId: XXX, siteId: YYY, lang: "it", callback: { onConsentGiven: function(){ dataLayer.push({'event': 'iubenda_consent_given'}); } } }; (function (w, d) { var loader = function () { var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0]; s.src = "//cdn.iubenda.com/cookie_solution/iubenda_cs.js"; tag.parentNode.insertBefore(s, tag); }; if (w.addEventListener) { w.addEventListener("load", loader, false); } else if (w.attachEvent) { w.attachEvent("onload", loader); } else { w.onload = loader; } })(window, document); </script>
Dove XXX e YYY sono dei valori numerici univoci che Iubenda associa al vostro sito e alla vostra policy. La parte in blu invece, identifica la creazione di un evento personalizzato sul dataLayer che servirà come attivatore per i vari Tag.
Una volta che hai inserito a mano lo snippet, il prossimo passo è creare l’Attivatore che utilizza proprio quell’evento personalizzato iubenda_consent_given.
Dovresti quindi avere una cosa simile:
Non ci resta che associare l’Attivatore personalizzato ai Tag che non vogliamo attivare senza il consenso.
Quali potrebbero essere?
Niente paura 🙂
Ecco un succoso elenco:
Quello che devi fare è selezionare come attivatore “Iubenda Accettato”. Dovresti avere una serie di Tag simili a questo:
Dunque, sarò sincero. Questa soluzione non mi affascina. Per niente.
Ma come? Se la guida di Iubenda dice così, cosa c’è che non va?
C’è che non mi piace quando viene scatenato l’evento. Guarda tu stesso.
Non noti nulla di strano?
Sì dai, l’hai notato. L’evento di Iubenda scatta dopo il caricamento della pagina. Un bel problema.
Perché potrebbe essere un problema?
Semplice.
Alcuni Tag potrebbero attivarsi davvero troppo tardi.
E quindi?
E quindi ora ti dico cosa bisogna fare per farlo performare.
Allacciati le cinture, ora ti insegno un #barbatrucco.
Trovo assurdo che tutto sia gestito da uno snippet JavaScript che dobbiamo inserire a mano. Quindi elimina tutto dal <body> e facciamolo con un Tag di tipo HTML personalizzato. Daremo anche una priorità all’attivazione del Tag rispetto agli altri.
Dovresti avere una cosa simile:
[Aggiornamento 11 Aprile 2017]
Questa è la parte inserita nella guida avanzata.
Per capire se l’utente ha accettato i cookie, e quindi non far più apparire più il messaggio di accettazione della Cookie Law, Iubenda utilizza un cookie.
Con Google Tag Manager è possibile intercettare questi cookie. Per semplicità ti dico che il cookie di Iubenda è fatto in questo modo:
_iub_cs-XXX
Dove XXX è il cookiePolicyId di Iubenda, quello dello snippet per capirci.
Quindi non ti resta che creare la Variabile:
Dovresti avere una cosa simile:
Il cookie che abbiamo creato contiene un valore che identifica se effettivamente l’utente ha cliccato o meno l’accettazione della Cookie Law.
Per gestire al meglio la cosa, ci basterà creare un Attivatore che verifichi se l’utente NON ha accettato la Cookie Law.
Dovresti avere una variabile simile a questa:
Ora che abbiamo a disposizione il cookie diviene tutto più immediato. Ai vari Tag che devono essere sottoposti alla gestione della Cookie Law.
Tutti i Tag devono sottostare a questa regola:
Ecco l’esempio con il Tag di Hotjar:
Ricordati che per rendere tutte le modifiche effettive devi sempre pubblicare la nuova versione del contenitore cliccando il pulsante blu “Invia” 😉
Dunque, tutto sto casino per ottimizzare cosa?
Semplice.
In questo modo:
In questo modo non dovremo aspettare l’evento personalizzato di Iubenda.
Allora gestire la Cookie Law/GDPR con Google Tag Manager diventa semplice, non trovi?
Lasciami un commento se hai qualche domanda e, mi raccomando, iscriviti alla newsletter (ci sono tanti altri #barbatrucchi).
PS: Puoi fare tutto questo anche con altri strumenti come Cookiebot, oneTrust o altri servizi simili.
Negli ultimi mesi hai notato in Google Analytics 4 un calo improvviso e inspiegabile nelle…
Se ti trovi su questa guida è perché hai compreso che solo attraverso la Data…
Greenpeace è un'associazione globale che con azioni dirette e concrete denuncia i problemi ambientali e…
Da quando hai configurato la Consent Mode v2 (CM v2) hai notato cali improvvisi o…
Premesso che non è possibile conoscere l'esatto funzionamento né di Chrome, né degli algoritmi di…
Da quale canale di marketing arriva il maggior numero di conversioni? Quale campagna di marketing…
View Comments
Ciao Matteo, nella creazione del TAG adesso sono presenti in beta alcune funzioni, come ad esempio "Impostazioni relative al consenso". Consigli di impostare qualcosa o lasciare su "Non Impostata".? Grazie
Ciao Gianluca sono impostazioni relative alla Consent Mode: https://www.tagmanageritalia.it/news-google-consent-mode-e-i-nuovi-attivatori-in-google-tag-manager/
Per il tag di Iubenda non serve, ma puoi usarlo come blocco dei tag. Ti consiglio di valutare questo corso: https://club.tagmanageritalia.it/corso-clear-consent/
A presto!
Una domanda, ho seguito la guida ma da quello che ho capito se vengono attivati i semplici cookie "necessari" non posso misurare nemmeno le pageview?
Ciao Gabriele, dipende come stai implementando GA4. Se non usi la consent mode o altre configurazioni per rendere la hit anonima, devi ragionare con GA4 acceso o spento a seconda del consenso (compreso il page_view).
Diciamo che è un po' più complesso, ti consiglio di valutare il corso: https://shop.tagmanageritalia.it/corso-ga4-per-il-gdpr/
A presto!
Salve Matteo,
innanzitutto grazie per questa guida.
Io sto provando ad installare Iubenda con il metodo da te proposto, ma purtroppo, i call back non funzionano, ed i tag non vengono triggerati.
Ti icollo di seguito la sezione callbacks:
"callback": {
onPreferenceExpressedOrNotNeeded: function(preference) {
dataLayer.push({
iubenda_ccpa_opted_out: _iub.cs.api.isCcpaOptedOut()
});
if (!preference) {
dataLayer.push({
event: "iubenda_preference_not_needed"
});
} else {
if (preference.consent === true) {
dataLayer.push({
event: "iubenda_consent_given"
});
} else if (preference.consent === false) {
dataLayer.push({
event: "iubenda_consent_rejected"
});
} else if (preference.purposes) {
for (var purposeId in preference.purposes) {
if (preference.purposes[purposeId]) {
dataLayer.push({
event: "iubenda_consent_given_purpose_" + purposeId
});
Ciao, ci sono errori JS? Puoi inviarmi maggiori info sul gruppo di Facebook?
Ciao Matteo,
ma i tag così non ti partono due volte? Una volta al Iubenda accettato e una volta al caricamento della pagina?
Ho visto ora che hai messo, una volta sulla pagina eh eh ...
Esatto :D
Ciao Matteo,
sto implementando la cookie solution con Iubenda e lo script js che viene fornito (forse a causa di un aggiornamento, forse a seguito della personalizzazione) risulta essere diverso da quello presentato sia nella tua, che nella loro guida.
Riporto questo in quanto lo script:
var _iub = _iub || [];
_iub.csConfiguration = {"consentOnContinuedBrowsing":false,"perPurposeConsent":true,"lang":"en","siteId":XXXX,"floatingPreferencesButtonDisplay":"bottom-right","cookiePolicyId":XXXXX, "banner":{ "acceptButtonDisplay":true,"customizeButtonDisplay":true,"acceptButtonColor":"#0073CE","acceptButtonCaptionColor":"white","customizeButtonColor":"#DADADA","customizeButtonCaptionColor":"#4D4D4D","rejectButtonColor":"#0073CE","rejectButtonCaptionColor":"white","closeButtonDisplay":false,"position":"float-bottom-center","backgroundOverlay":true,"textColor":"black","backgroundColor":"white" }};
Non presenta il datalayer push event che poi mi fa scattare l'accettazione del cookie.
A tale proposito non riesco a capire se è un errore da parte mia, mi sono perso qualcosa, oppure Iubenda fornisce uno script differente adesso e quindi devo riadattare il js o implementarlo in maniera diversa.
Sapresti chiarirmi questo dubbio?
Ciao Matteo, sì lo script viene modificato se vengono aggiunti dei parametri personalizzati. Fai attenzione perché forse è lo script del consenso granulare (quello nuovo per capirci)
Trovi dettagli qui:
https://www.tagmanageritalia.it/gdpr-consenso-categoria-iubenda-google-tag-manager/
Fammi sapere!
Ho visto la risposta sotto, il js va modificato :)
Ah ecco :D
Ciao, ho seguito le indicazioni (con sito IT/EN) ma all'accettazione dell'utente non sembra che accada niente. Ma forse sto usando uno snippet non corretto, quello di Iubenda va modificato? Questo che segue è quello che sto usando:
var _iub = _iub || [];
_iub.csConfiguration = {"consentOnContinuedBrowsing":false,"whitelabel":false,"lang":"it","siteId":XXXXX,"cookiePolicyId":XXXX, "banner":{ "acceptButtonDisplay":true,"customizeButtonDisplay":true,"acceptButtonColor":"#0073CE","acceptButtonCaptionColor":"white","customizeButtonColor":"#212121","customizeButtonCaptionColor":"white","rejectButtonDisplay":true,"rejectButtonColor":"#0073CE","rejectButtonCaptionColor":"white","position":"bottom","textColor":"white","backgroundColor":"#000001" }};
Ciao Matteo, sto leggendo il libro GTM per chi inizia e sono arrivato alla implementazione di Iubenda, Volevo chiederti, oggi devo seguire questa guida o quella del consenso granulare? Te lo chiedo perche sono abbastanza alle prime armi e la guida del consenso granulare mi sembra bella tosta... Come fare? Grazie!
Consenso granulare, è quella relativa alla GDPR :)
A presto!
Hai ragione Matteo, qui dice che il codice va modificato, mi era sfuggito.
Ottimo :)
Ciao Pietro manca la parte del function dove aggiunge l'evento. Forse è stato cancellato nella pubblicazione del commento. Puoi condividere l'url del sito così verifico?
Fammi sapere!
Ciao Matteo,
se lascio lo snippet di codice per l'accettazione/non accettazione dei cookies è inserito anche nella tab Cookie Solution del plugin di Iubenda su Wp che tipo di problematiche ci possono essere?
Grazie
https://www.iubenda.com/it/help/629-google-tag-manager-blocco-cookie
Yep, esattamente
Dunque io non uso il plugin, quindi non saprei. Inoltre ti suggerisco di gestire la nuove versione di categorie con Iubenda: https://www.tagmanageritalia.it/gdpr-consenso-categoria-iubenda-google-tag-manager/
A presto!
Buongiorno Matteo.
Sono un ragazzo uscito da un corso di scrittura in HTML e tutto LAMP che sta cercando di fare un proprio blog (più per manualità che utilizzo).
Taglio corto. Ho seguito l'attuale guida di iubenda alla lettera (incluso eccezioni e attivatori come indicato), quindi utilizzato il mio script (quello dopo la creazione del banner) integrato con il codice che fornisce iubenda per gli eventi, non il tuo.
Senza fare come indichi tu non si attiva nulla. Senza iubenda funzionava e ora no (quindi suppongo che almeno lo stia bloccando). Ho ora iniziato a lavorare facendo tutto con dei tag come suggerisci in questa guida. All'ultimo passaggio suggerisci Hotjar, ma io ho fatto il sito con una macchina ec2 di aws e in lamp! Quindi non so come utilizzarlo. Grazie in anticipo. Se avessi tempo sarei disponibile anche a fare una chiamata o similari.
Grazie molte e buona giornata (grand'articolo!)
Ciao Mattia, avrei bisogno di dettagli per capire. Riesci a darmi informazioni nel gruppo pubblico "Fatti di Tag Manager" a questo link: https://www.facebook.com/groups/TagManagerItalia/
A presto e grazie delle belle parole ;)
Ciao Matteo, abilitando l'attivatore Iubenda Accettato ai tag link esterno, timer 30, ecc (creati con le tue guide), questi si attivano subito con l'accettazione dei cookie. Es. il tag timer 30 secondi, parte subito una volta chiuso il banner del consenso, non aspetta che l'utente abbia effettivamente trascorso 30 secondi sul sito. Se invece rimuovo l'attivatore Iubenda Accettato dai tag suddetti, questi non partono proprio. E aggiungo in chiusura di commento che quando usavo cookiebot, con attivatore cookieconsent_statistic, questi tag funzionavano alla meraviglia. Cosa sbaglio? Non è sufficiente sostituire Iubenda Accettato a cookieconsent_statistic? grazie
Ciao Francesco, se l'evento non è di tipo pageview ma un altro (timer ad esempio) hai due opzioni:
1) Usi degli attivatori negativi universali (step 6 di questa guida https://www.tagmanageritalia.it/guida-avanzata-installare-cookiebot-in-modo-performante-e-salvarti-dalla-gdpr/)
2) Metti nell'attivatore del timer la condizione che il cookie di iubenda sia a true :)
PS: C'è un capitolo intero sulla gestione dei Cookie (e il Cookiegeddon) nel mio nuovissimo libro: https://club.tagmanageritalia.it/libro-google-tag-manager-per-chi-inizia-terza-edizione/
Facci un pensierino ;)
A presto!
Ciao Matteo,
Innanzitutto complimenti e grazie per le preziosissime guide!
Mi sto trovando ad applicare il blocco preventivo su un ecommerce realizzato in squarespace in cui ho già tag manager per monitorare una serie di azione ma il codice di analytics É inserito direttamente sul sito in quanto mettendolo su gtm non mi permetteva di monitorare le transazioni (la pagina checkout di squarespace non prende il gtm).
C è una soluzione a tuo avviso per poter comunque prevedere il blocco tramite gtm?
Grazie mille
Ciao Giulia e grazie del feedback. Dunque direi che se non puoi mettere GTM nella pagina di Checkout avrai solo scoperto quella fase. In sostanza puoi bloccare ovunque tranne dove non c'è GTM.
Ti direi di chiedere direttamente sull'assistenza di squarespace come poter fare :)
A presto!