# DataFirefly Cookie Consent — Guida completa

> Panoramica DataFirefly Cookie Consent è un plugin WordPress e WooCommerce per la gestione del consenso ai cookie. Combina tre elementi: un banner di consenso conforme GDPR/CNIL/Garante, l'emissione nativa dei segnali…

- Pagina: <https://www.datafirefly.com/it/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/>
- Lingua: it
- Aggiornato il: 2026-07-01
- Altre lingue: [fr](https://www.datafirefly.com/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/index.md), [en](https://www.datafirefly.com/en/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/index.md), [es](https://www.datafirefly.com/es/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/index.md), [de](https://www.datafirefly.com/de/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/index.md), [pl](https://www.datafirefly.com/pl/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/index.md), [nl](https://www.datafirefly.com/nl/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/index.md), [pt](https://www.datafirefly.com/pt/documentation/datafirefly-cookie-consent-rgpd-consent-mode-v2/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## Panoramica

DataFirefly Cookie Consent è un plugin WordPress e WooCommerce per la gestione del consenso ai cookie. Combina tre elementi: un banner di consenso conforme GDPR/CNIL/Garante, l'emissione nativa dei segnali Google Consent Mode v2 prima di qualsiasi tag Google, e un audit che rileva i tracker realmente caricati sul tuo sito con un registro di prova esportabile.

## Requisiti

- WordPress 6.2 o superiore
- PHP 8.0 o superiore
- WooCommerce 8.0+ (opzionale — il plugin funziona anche su WordPress da solo, compatibilità HPOS dichiarata)
- GTM o GA4 già installato se vuoi sfruttare il Consent Mode v2 (il plugin non installa i tag Google al posto tuo)

## Installazione

1. Scarica il file `df-cookie-consent.zip` dal tuo account DataFirefly.
2. Nell'admin di WordPress, vai su **Plugin → Aggiungi nuovo → Carica plugin**, seleziona lo ZIP e clicca su **Installa ora**.
3. Clicca su **Attiva**. All'attivazione, il plugin crea la tabella di registro `wp_dfcc_consent_log`, genera un salt casuale per l'hash degli IP e pianifica due attività cron (purge giornaliera del registro e scansione dei tracker).
4. Un nuovo menu **Cookie Consent** appare nella barra laterale dell'admin con quattro pagine: Dashboard, Impostazioni, Audit e Registro.

Il banner viene mostrato immediatamente sul frontend con le impostazioni predefinite (layout a barra in fondo alla pagina, tema chiaro, modalità opt-in, le 4 categorie attivate).

## Configurazione del banner

Tutte le impostazioni si trovano in **Cookie Consent → Impostazioni**.

### Comportamento generale

- **Attiva il banner**: interruttore globale del plugin.
- **Modalità**: opt-in (obbligatoria nell'UE — nessun cookie non essenziale prima del consenso) o opt-out.
- **Pulsante Rifiuta tutto al primo livello**: attivato di default, in linea con la raccomandazione CNIL del 17 settembre 2020 e le linee guida del Garante. Non disattivarlo se il tuo pubblico è europeo.
- **Durata del cookie di consenso**: 180 giorni di default. La scelta dell'utente viene salvata nel cookie `dfcc_consent` (codificato, first-party).
- **Versione dell'informativa**: incrementa questo numero quando la tua cookie policy cambia in modo sostanziale — il banner verrà automaticamente ripresentato a tutti i visitatori e il registro salverà la nuova versione.

### Aspetto

- **Layout**: barra a tutta larghezza, scheda d'angolo o finestra modale centrata.
- **Posizione**: in alto o in basso nella pagina (per i layout barra e scheda).
- **Tema**: chiaro, scuro o auto (segue la preferenza di sistema del visitatore tramite prefers-color-scheme).
- **Colore di accento**: personalizza il colore del pulsante principale.

Su mobile (sotto i 640 px), il banner passa automaticamente a schermo intero per restare leggibile. Le animazioni rispettano prefers-reduced-motion.

### Categorie di cookie

Quattro categorie sono preconfigurate, ognuna con etichetta e descrizione modificabili:

- **Necessari** (necessary) — sempre attivi, non disattivabili dal visitatore: carrello, sessione, sicurezza.
- **Funzionali** (functional) — preferenze, lingua, chat.
- **Statistiche** (analytics) — Google Analytics, Matomo, ecc.
- **Marketing** (marketing) — Google Ads, Meta Pixel, remarketing.

### Testi e link

Il titolo del banner, il testo introduttivo e le etichette dei quattro pulsanti (Accetta tutto, Rifiuta tutto, Personalizza, Salva le mie scelte) sono modificabili nelle impostazioni. Inserisci anche gli URL della tua privacy policy e della tua cookie policy — vengono mostrati come link discreti sotto i pulsanti. Tutti i testi passano attraverso le funzioni di traduzione di WordPress: il plugin viene fornito con 5 cataloghi (FR, EN, ES, DE, IT) e resta personalizzabile tramite Loco Translate.

## Google Consent Mode v2

È il cuore tecnico del plugin. Da marzo 2024, Google richiede che i siti europei emettano i 7 segnali Consent Mode v2 per continuare a misurare le conversioni Google Ads e costruire i pubblici GA4.

### Come funziona

Il plugin stampa un blocco `gtag('consent', 'default', ...)` nell'head HTML con la priorità 1 di wp_head — cioè prima di qualsiasi container GTM o tag GA4 caricato in modo standard. I 7 segnali emessi:

- `ad_storage`, `ad_user_data`, `ad_personalization` — controllati dalla categoria Marketing
- `analytics_storage` — controllato dalla categoria Statistiche
- `functionality_storage`, `personalization_storage` — controllati dalla categoria Funzionali
- `security_storage` — sempre granted (raccomandazione Google)

La mappatura categorie → segnali è automatica: nessuna configurazione manuale necessaria. Quando il visitatore fa la sua scelta, viene emesso immediatamente un `gtag('consent', 'update', ...)` e la scelta viene riapplicata come stato predefinito in ogni pagina successiva.

### Impostazioni Consent Mode

- **Regione EEA**: di default, il deny rigoroso si applica solo ai 31 paesi del SEE (più Regno Unito e Svizzera) tramite il parametro region di gtag — il resto del mondo resta su granted. Rilevamento nativo di Cloudflare tramite l'header CF-IPCountry.
- **url_passthrough**: attivato di default. Conserva gli identificatori di clic gclid e dclid negli URL anche in caso di rifiuto, permettendo la misurazione delle conversioni senza cookie.
- **ads_data_redaction**: attivato di default. Oscura i dati utente inviati a Google quando ad_storage è su denied.
- **wait_for_update**: 500 ms di default. Attesa concessa ai tag Google per l'aggiornamento del consenso.

### Verificare che tutto funzioni

1. Apri il tuo sito in navigazione privata, apri la console del browser e digita `dataLayer`: devi vedere la voce consent default prima della voce gtm.js.
2. In Google Tag Assistant o nella modalità Preview di GTM, la scheda Consent deve mostrare i 7 segnali con il loro stato.
3. Accetta il banner e digita di nuovo `dataLayer`: deve apparire una voce consent update con i nuovi stati.

## Audit di conformità

La pagina **Cookie Consent → Audit** avvia una scansione che recupera la tua homepage e analizza l'HTML realmente servito.

### Cosa rileva la scansione

- **23 tracker noti**: Google Analytics 4, GTM, Meta Pixel, TikTok, LinkedIn, Pinterest, Snapchat, Twitter/X, Bing UET, Matomo, Microsoft Clarity, Hotjar, Mixpanel, Plausible, HubSpot, Intercom, Crisp, Tawk, YouTube, Vimeo, Stripe e altri — ognuno classificato nella sua categoria di consenso attesa.
- **11 plugin WordPress a rischio**: MonsterInsights, Site Kit, PixelYourSite, Facebook/Pinterest/TikTok for WooCommerce, HubSpot, MC4WP e altri plugin che iniettano tracker per conto proprio.
- **Cookie lato server**: snapshot con identificazione automatica del vendor (_ga, _fbp, _gcl, ecc.).

### Punteggio e raccomandazioni

La scansione produce un punteggio di conformità da 0 a 100 basato sulla differenza tra le categorie dichiarate e i tracker realmente rilevati. I problemi sono classificati in tre livelli — critical, warning, info — ognuno con una raccomandazione attuabile (per esempio: un tracker di marketing rilevato mentre la categoria è disattivata nel banner). Una scansione automatica gira anche in background tramite il cron `dfcc_cron_scan_trackers`.

## Registro dei consensi

La pagina **Cookie Consent → Registro** elenca ogni evento di consenso salvato nella tabella dedicata `wp_dfcc_consent_log`.

### Dati registrati

- Timestamp UTC, UID anonimo persistente (tracciabilità multi-evento dello stesso visitatore)
- Tipo di evento: accept_all, reject_all, custom, withdraw
- Stato completo per categoria, versione dell'informativa e del banner
- IP doppiamente protetto: hash SHA-256 con il salt casuale generato all'attivazione (irreversibile), più IP troncato a /24 (IPv4) o /64 (IPv6) per analisi anonima
- User agent, URL della pagina, referer, regione, lingua, user_id di WordPress se connesso

### Filtri ed esportazione

Filtra per periodo, tipo di evento o UID, quindi esporta in CSV (BOM UTF-8, separatore punto e virgola — si apre direttamente in Excel francese) o in JSON pretty. Queste esportazioni costituiscono la tua prova del consenso in caso di ispezione della CNIL o del Garante per la protezione dei dati personali.

### Conservazione

Di default, il registro viene conservato 1825 giorni (5 anni, durata raccomandata dalla CNIL). La purge automatica gira ogni notte tramite il cron `dfcc_cron_purge_logs`. La conservazione è regolabile nelle impostazioni. Da notare: la disattivazione del plugin conserva i log (prova del consenso); solo la disinstallazione completa tramite Plugin → Elimina rimuove la tabella, le opzioni e i cron.

## Link "Gestisci i miei cookie" nel footer

La normativa richiede che il visitatore possa modificare la sua scelta in qualsiasi momento. Due opzioni:

- **Shortcode**: inserisci `` in un widget o menu del footer — genera un link che riapre la modale di personalizzazione.
- **API JavaScript**: chiama `window.dfcc.open()` da qualsiasi elemento del tuo tema.

## API per sviluppatori

### API JavaScript

L'oggetto globale `window.dfcc` espone:

- `dfcc.open()` — apre la modale di personalizzazione
- `dfcc.accept()` — accetta tutte le categorie
- `dfcc.reject()` — rifiuta tutte le categorie opzionali
- `dfcc.withdraw()` — revoca il consenso (viene registrato un evento withdraw)
- `dfcc.getConsent()` — restituisce lo stato completo del consenso
- `dfcc.hasConsent('analytics')` — verifica una categoria specifica (utile per condizionare i tuoi script)

### Endpoint REST

Un endpoint POST è disponibile su `wp-json/dfcc/v1/consent` per registrare un evento di consenso dal tuo codice (protetto da nonce).

### Hook WordPress

- `dfcc_before_banner_render` — action attivata prima del rendering del banner (per nasconderlo su certe pagine per esempio)
- `dfcc_after_consent_logged` — action attivata dopo ogni scrittura nel registro (per sincronizzare un CRM per esempio)
- `dfcc_consent_mode_defaults` — filtro sugli stati predefiniti dei 7 segnali Consent Mode
- `dfcc_scan_trackers_patterns` — filtro per aggiungere i tuoi pattern di rilevamento allo scanner

## Risoluzione dei problemi

- **I segnali Consent Mode non appaiono prima di GTM**: verifica che nessun plugin di performance sposti o differisca gli script dell'head. Il blocco dfcc-consent-mode-default deve restare inline e non differito.
- **Il banner riappare a ogni visita**: verifica che un sistema di cache non stia servendo una pagina congelata con un vecchio cookie, e che la durata del cookie non sia a 0.
- **La scansione di audit fallisce**: il server deve poter fare una richiesta HTTP alla propria homepage. Su alcuni hosting con loopback bloccato, autorizza le richieste locali o verifica il firewall.
- **Gli IP registrati sono quelli di Cloudflare**: il plugin legge CF-Connecting-IP in via prioritaria — se il problema persiste, verifica che la tua configurazione server trasmetta gli header di Cloudflare.
