Cookie Manager Tarteaucitron — Guida completa
Installazione, configurazione dei servizi, scanner automatico, Consent Mode v2 e registro dei consensi del modulo Cookie Manager Tarteaucitron per PrestaShop 8 e 9.
Presentazione
Cookie Manager Tarteaucitron è un modulo di gestione del consenso ai cookie per PrestaShop 8.0+ e 9.x. Unisce il motore open source tarteaucitron.js, che blocca davvero i servizi prima del consenso, a un’interfaccia moderna: scheda flottante animata, interruttori per categoria e pastiglia di riapertura. Include Google Consent Mode v2, uno scanner di tracker con attivazione in un clic e un registro dei consensi esportabile.
Dalla versione 1.2.0 i file di tarteaucitron sono serviti dal tuo dominio: nessuna richiesta viene inviata a un CDN esterno prima del consenso del visitatore.
Installazione
- Vai su Moduli → Gestore moduli → Carica un modulo.
- Carica il file
datafirefly_tarteaucitron.zip. - Clicca su Installa e poi su Configura.
La schermata di configurazione è raggiungibile in due modi, entrambi mostrano la stessa pagina: il pulsante Configura del gestore moduli, oppure la voce di menu Cookie Manager aggiunta all’installazione.
Dopo ogni aggiornamento svuota la cache di PrestaShop da Parametri avanzati → Prestazioni. Lo script di aggiornamento svuota anche l’OPcache PHP quando può.
Aggiornare da una versione precedente
Sovrascrivi /modules/datafirefly_tarteaucitron/ oppure installa il nuovo ZIP dal back-office. Lo script di aggiornamento parte da solo e si occupa della tabella di registro se manca, delle nuove chiavi di configurazione, della rinomina delle posizioni del banner (bottom diventa bottom-left, middle e popup diventano center) e della voce di menu se assente.
Se usavi la posizione middle o popup, il banner diventa una modale centrata con sfondo scurito. Il comportamento è corretto, ma la resa cambia in modo visibile: verificala prima di pubblicare.
Impostazioni generali
- Modulo attivo: interruttore principale del banner sul front-office.
- Lingua del banner: in automatico segue la lingua PrestaShop della pagina. Puoi anche forzare una delle 36 lingue incluse.
- Posizione del banner: in basso a sinistra o a destra, in alto a sinistra o a destra, oppure centrata come modale.
- File di tarteaucitron: hosting locale, consigliato, oppure CDN jsDelivr. Vedi la sezione dedicata.
- Scadenza del consenso: 365 giorni per impostazione predefinita. Si raccomanda di non superare i 13 mesi, cioè 395 giorni.
- Nome del cookie:
tarteaucitronper impostazione predefinita. Modificarlo azzera i consensi già raccolti, perché il vecchio cookie non viene più letto. - Dominio del cookie: vuoto per il dominio corrente, oppure preceduto da un punto per condividere il consenso tra sottodomini.
- Pastiglia di riapertura: mostra una pastiglia Cookie dopo il consenso. Vedi la sezione sulla revoca.
- Chiudere equivale a rifiutare: aggiunge una croce che rifiuta tutti i cookie non essenziali. Disattivata, il banner impone una scelta esplicita.
La scheda Testi e link personalizza titolo, messaggio ed etichette dei pulsanti; un campo vuoto usa il testo del modulo nella lingua del banner. La scheda Design controlla i colori e il raggio degli angoli, con anteprima dal vivo e un controllo di contrasto WCAG tra il colore dei pulsanti e quello del loro testo.
Da dove arrivano i file di tarteaucitron
Un banner cookie che carica i propri file da un CDN consegna l’indirizzo IP del visitatore a un terzo prima ancora che questi abbia scelto. Per questo il modulo include tarteaucitron.js 1.30.0 e i suoi 36 file di lingua in views/vendor/tarteaucitron/, serviti dal tuo dominio.
L’opzione CDN jsDelivr resta disponibile nella scheda Generale. Non è consigliata: consegna l’indirizzo IP del visitatore a jsDelivr già al caricamento della pagina, prima di qualsiasi consenso.
Attivare i servizi
La scheda Servizi elenca le 11 integrazioni pronte all’uso. Per ciascuna attiva l’interruttore e inserisci l’identificativo richiesto:
- Google Analytics 4: Measurement ID, formato G-XXXXXXXX
- Google Tag Manager: Container ID, formato GTM-XXXXXX
- Google Ads: Conversion ID
- Meta Pixel: Pixel ID numerico
- Hotjar: Site ID numerico
- LinkedIn Insight: Partner ID
- TikTok Pixel: Pixel ID
- Microsoft Clarity: Project ID
- Intercom: App ID
- YouTube: nessun identificativo, attiva il blocco dei video incorporati prima del consenso
- Stripe: nessun identificativo, vedi la sezione dedicata
Un servizio attivato senza identificativo non viene caricato sul front-office. Il modulo lo segnala in rosso nella tabella e avvisa al salvataggio, ma controlla gli identificativi dopo aver usato l’attivazione automatica dello scanner.
Il campo identificativo si blocca quando il servizio è disattivato. Il valore salvato resta e ricompare riattivando il servizio.
Scanner e rilevamento automatico
- Clicca su Scansiona il sito ora nella scheda Rilevamento automatico. Il modulo legge i cookie presenti sul tuo dominio e scarica l’HTML del front-office per analizzare i tag script di terze parti.
- Compaiono due tabelle: i cookie rilevati con il servizio probabile e la categoria, e gli script di terze parti identificati con il loro stato attuale nel modulo.
- Clicca su Attiva i servizi rilevati, poi salva.
- Passa alla scheda Servizi per inserire gli identificativi dei servizi appena attivati.
Lo scanner riconosce Google Analytics, Google Tag Manager, Google Ads, Meta Pixel, Hotjar, LinkedIn, TikTok, Microsoft Clarity, Intercom, Brevo, Stripe e YouTube, oltre ai cookie funzionali di PrestaShop.
Naviga prima il front-office nello stesso browser, poi avvia la scansione: i cookie depositati dai tuoi tracker saranno visibili e il rilevamento più completo. Se back-office e front sono su domini diversi, funziona solo l’analisi degli script.
Statistiche e test A/B
Dalla versione 1.3.0, la scheda Statistiche e A/B misura ciò che il banner ottiene davvero. Il modulo conta le visualizzazioni, non solo le risposte: è questo che rende calcolabile il tasso di accettazione.
- Indicatori: visualizzazioni, tasso di risposta, tasso di «accetta tutto», tasso di rifiuto, quota di scelte personalizzate, opt-in per categoria, ripartizione computer / mobile ed evoluzione giornaliera, su 7, 30, 90 o 365 giorni oppure su tutto lo storico.
- Riservatezza: i contatori sono aggregati per giorno, variante e tipo di dispositivo nella tabella
dftac_banner_stats. Nessun dato personale, nessun identificativo del visitatore, nessun cookie. Una visualizzazione viene contata una sola volta per visita, grazie a un marcatore locale di sessione. - Bot: un filtro sullo user-agent lato server esclude motori di ricerca e strumenti di audit, e la visualizzazione viene contata solo al primo gesto del visitatore (puntatore, tasto, scorrimento o risposta). Senza questo filtro, i bot che eseguono JavaScript gonfiano il denominatore senza rispondere mai e abbassano il tasso.
- Esportazione e azzeramento: esportazione CSV dei contatori e pulsante di azzeramento, entrambi indipendenti dal registro GDPR.
Avviare un test A/B
- Attivate il test e fissate la quota di traffico inviata alla variante B. Il 50 % dà il risultato leggibile più rapidamente.
- Compilate solo i campi da testare: titolo, messaggio, etichette dei tre pulsanti, posizione. I campi lasciati vuoti ereditano la variante A.
- Lasciate girare. L’assegnazione resta stabile per tutta la visita.
- Leggete il verdetto: il modulo confronta i due tassi con un test z su due proporzioni e annuncia un vincitore solo oltre 100 visualizzazioni per variante e con uno scarto significativo al 95 %.
- Riportate il testo vincente nella variante A, poi spegnete il test.
L’impostazione che sposta di più il tasso di accettazione è la posizione: confrontate la modale centrata con la scheda ad angolo prima di lavorare sulle formulazioni.
Google Consent Mode v2
Obbligatorio da marzo 2024 per gli inserzionisti europei, Consent Mode v2 permette a Google di modellare le conversioni anche in caso di rifiuto. Il modulo emette i sette segnali richiesti (ad_storage, ad_user_data, ad_personalization, analytics_storage, functionality_storage, personalization_storage, security_storage) come default nel <head>, prima di ogni tag, e li aggiorna appena il visitatore risponde. Ogni stato predefinito è configurabile, con denied consigliato nel SEE.
Particolarità: lo stato predefinito è dedotto dal cookie di consenso esistente quando c’è. Chi ha già accettato ottiene granted dal primo frame, senza finestra denied transitoria che erode le tue conversioni Google Ads a ogni ricaricamento. Lato server e lato browser viene usata la stessa tabella di corrispondenza servizio-segnale, così stato predefinito e aggiornamento coincidono sempre.
wait_for_update fissa il tempo che Google attende il banner prima di inviare dati. 500 ms è il valore consigliato.
Stripe e i cookie strettamente necessari
I cookie di Stripe (__stripe_mid, __stripe_sid) servono a prevenire le frodi di pagamento e rientrano nell’esenzione per i tracker strettamente necessari: bloccarli romperebbe il checkout. Quando il servizio Stripe è attivo si carica senza chiedere il consenso e compare nel pannello preferenze sotto Essenziali e pagamento con l’etichetta Sempre attivo. Il visitatore è informato e nessun pagamento viene bloccato.
Revocare il consenso
Il GDPR impone che revocare il consenso sia semplice quanto darlo. Ci sono tre modi, combinabili:
- la pastiglia flottante mostrata dopo la scelta, attivabile nella scheda Generale;
- un link nel piè di pagina:
<a href="#tarteaucitron">Gestisci i miei cookie</a>; - una chiamata JavaScript:
dftacOpenPreferences(), da qualsiasi elemento del tuo tema.
Se disattivi la pastiglia, predisponi uno degli altri due. Senza, il visitatore non può più tornare sulla propria scelta.
Servizi personalizzati
La scheda Servizi personalizzati aggiunge qualsiasi script di terze parti assente dall’elenco: una chiave univoca in minuscolo, un nome visualizzato, una categoria (analytic, ads, social, video, support, api o other), il JS eseguito solo dopo il consenso, i nomi dei cookie depositati e una URL di informativa privacy. Compaiono nel banner sotto una categoria dedicata con un proprio interruttore, e la categoria determina il segnale Consent Mode associato.
Il codice inserito qui viene eseguito così com’è sul front-office. Incolla solo codice di cui conosci l’origine.
Registro dei consensi
L’articolo 7 del GDPR impone di poter dimostrare che il consenso è stato dato. La scheda Registro GDPR mostra le registrazioni pagina per pagina, ciascuna con data e ora, identificativo visitatore anonimo, categorie accettate e dettaglio servizio per servizio.
- L’indirizzo IP non viene mai memorizzato in chiaro: solo un’impronta HMAC-SHA256 salata con una chiave propria del negozio. Uno SHA-256 non salato sarebbe recuperabile per forza bruta sullo spazio IPv4.
- L’identificativo del visitatore proviene da un cookie tecnico dedicato e non contiene dati personali.
- Una deduplicazione lato server ignora un secondo invio identico dello stesso visitatore entro 5 secondi, neutralizzando i doppi clic.
- L’invio del consenso usa
keepalive: arriva anche se il visitatore cambia pagina subito dopo la scelta. - Una pulizia automatica elimina le voci oltre il periodo di conservazione che imposti. Viene eseguita all’apertura della pagina di configurazione, al massimo una volta al giorno.
- Esporta in CSV produce un file con data e ora, in UTF-8 con BOM perché si apra correttamente in Excel.
- Il registro viene conservato se disinstalli il modulo, così la pista di audit non va persa.
- La registrazione può essere disattivata se non vuoi conservare questa prova.
Multinegozio
Ogni negozio ha la propria configurazione: servizi attivi, testi, colori, posizione e impostazioni Consent Mode. L’avviso in cima alla schermata di configurazione ricorda quale negozio stai modificando.
Risoluzione dei problemi
- Il banner non compare: verifica che il modulo sia attivo nella scheda Generale, svuota la cache di PrestaShop e assicurati che non ci sia un altro modulo di consenso attivo in parallelo.
- Le scelte non vengono memorizzate: elimina il vecchio cookie di consenso dal browser prima di riprovare e verifica che il nome del cookie non sia cambiato dall’ultimo consenso.
- Un servizio non si carica dopo l’accettazione: verifica che il suo identificativo sia compilato. Un identificativo vuoto su un servizio attivo viene segnalato in rosso nella tabella.
- La scansione non rileva nulla: naviga prima il front-office nello stesso browser, poi rilanciala.
- Nessuna registrazione nel registro: verifica che la registrazione sia attiva nella scheda Registro GDPR, poi presta di nuovo il consenso dal front in una finestra privata.
- Una modifica al modulo non ha effetto: svuota la cache di PrestaShop e, se il tuo hosting usa OPcache, ricarica PHP. Lo script di aggiornamento svuota l’OPcache automaticamente quando può.
Serve aiuto? Contatta il supporto DataFireFly dal tuo account cliente, risposta entro 24 h lavorative.