GDPR e Conformità Cookie per PrestaShop: Cosa Serve Davvero

A settembre 2025, la CNIL francese ha multato Google per 325 milioni di EUR per aver inserito cookie pubblicitari in Gmail senza consenso. Nello stesso mese, SHEIN ha ricevuto una multa di 150 milioni di EUR — i cookie venivano depositati sui dispositivi dei visitatori nel momento in cui aprivano shein.com, prima che qualcuno toccasse il banner del consenso. A novembre, American Express è stata colpita per 1,5 milioni di EUR per aver continuato a leggere i cookie dopo che gli utenti avevano revocato il consenso.

Concetto di protezione dei dati e conformità GDPR per i negozi online

Questi non sono rischi teorici. Sono sanzioni applicate contro grandi aziende, e se pensi che le autorità per la protezione dei dati prendano di mira solo i big player, ti sbagli. La CNIL ha emesso 83 sanzioni nel solo 2025, per un totale di circa 486,8 milioni di EUR, e gli strumenti di scansione automatizzata rendono banale per i regolatori individuare banner di consenso non conformi su negozi di qualsiasi dimensione.

Ho verificato le implementazioni dei cookie su decine di negozi PrestaShop. La maggior parte viola almeno due requisiti di conformità — di solito senza che il proprietario del negozio ne sia a conoscenza. Questo articolo copre ciò che devi effettivamente implementare, con dettagli tecnici specifici per PrestaShop, Google Tag Manager e Google Consent Mode v2.

Prima di entrare nell'implementazione, siamo precisi su ciò che la legge richiede. La Direttiva ePrivacy (non il GDPR — questa è una normativa separata) regola specificamente i cookie. Il GDPR regola ciò che fai con i dati che quei cookie raccolgono. Insieme, creano questi requisiti:

  1. Consenso preventivo per i cookie non essenziali — Nessun cookie di analytics, marketing o di terze parti può essere impostato prima che l'utente acconsenta attivamente. I cookie "essenziali" (sessione, carrello, preferenza lingua) sono esenti.
  2. Liberamente dato — Non puoi condizionare l'accesso al sito all'accettazione dei cookie. I cookie wall ("accetta tutto o esci") sono illegali nella maggior parte delle giurisdizioni UE.
  3. Specifico e granulare — Gli utenti devono poter accettare o rifiutare le categorie di cookie in modo indipendente. "Accetta tutto" come unica opzione viola il regolamento.
  4. Informato — Spiegazione chiara di cosa fa ogni categoria di cookie, chi riceve i dati e i periodi di conservazione.
  5. Azione inequivocabile — Lo scrolling o la continuazione della navigazione non costituiscono consenso. È richiesto un clic deliberato su un pulsante specifico.
  6. Facile revoca — Modificare o revocare il consenso deve essere facile quanto darlo. Un link nel footer è il minimo.
  7. Nessun dark pattern — I pulsanti Rifiuta e Accetta devono avere la stessa prominenza visiva. Nascondere l'opzione di rifiuto in un menu secondario o usare un colore/dimensione diversa viola i requisiti.

Da marzo 2024, Google richiede Consent Mode v2 per qualsiasi sito che utilizza servizi Google (Analytics, Ads, Tag Manager) con utenti europei. Senza di esso, perdi la modellazione delle conversioni, le audience di remarketing e alla fine i dati di misurazione interamente.

Come funziona

Consent Mode è un'API JavaScript che comunica le scelte di consenso del visitatore ai tag Google. Utilizza quattro segnali di consenso:

SegnaleControllaStato predefinito
ad_storageCookie pubblicitari (remarketing Google Ads, tracciamento conversioni)denied
analytics_storageCookie analytics (misurazione GA4)denied
ad_user_dataInvio dati utente a Google per la pubblicitàdenied
ad_personalizationPubblicità personalizzata basata sui dati utentedenied

Implementazione tramite Google Tag Manager

Il flusso di implementazione corretto ha tre parti:

Parte 1: Imposta lo stato di consenso predefinito (si attiva prima di qualsiasi tag Google)

<script>
// This MUST load before GTM
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'wait_for_update': 500  // Wait up to 500ms for CMP to load
});

// Enable URL passthrough for conversion modeling even without cookies
gtag('set', 'url_passthrough', true);

// Redact ad click IDs when ad_storage is denied
gtag('set', 'ads_data_redaction', true);
</script>

Parte 2: Carica il container GTM (dopo che il consenso predefinito è impostato)

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

Parte 3: Aggiorna il consenso quando l'utente fa la sua scelta

<script>
// Called by your consent banner when user accepts specific categories
function updateConsent(preferences) {
    gtag('consent', 'update', {
        'ad_storage': preferences.marketing ? 'granted' : 'denied',
        'analytics_storage': preferences.analytics ? 'granted' : 'denied',
        'ad_user_data': preferences.marketing ? 'granted' : 'denied',
        'ad_personalization': preferences.marketing ? 'granted' : 'denied',
    });
}
</script>

Cosa succede quando il consenso viene negato

Con la modalità "Avanzata" di Consent Mode (raccomandata), i tag Google si caricano comunque ma si comportano diversamente:

  • GA4 invia ping senza cookie — nessun identificatore utente, nessun cookie. Google usa il machine learning per modellare le conversioni da questi dati aggregati, dichiarando una precisione del 70-90%.
  • Google Ads perde le liste di remarketing e l'attribuzione diretta delle conversioni, ma la modellazione delle conversioni compensa parzialmente.
  • Senza Consent Mode, i servizi Google ricevono zero dati dagli utenti non consenzienti — perdi sia la misurazione che la modellazione.

Nella modalità "Base" (più semplice ma meno capace), i tag Google non si attivano affatto fino a che il consenso non viene concesso. Ottieni dati precisi per gli utenti consenzienti e nulla per tutti gli altri.

Se il tuo negozio PrestaShop utilizza pubblicità programmatica (Google AdSense, header bidding, qualsiasi rete pubblicitaria), hai bisogno della conformità IAB TCF. Il framework standardizza come il consenso viene comunicato ai vendor di ad tech.

TCF v2.2 (Standard attuale)

  • Richiede una Consent Management Platform (CMP) registrata presso IAB Europe
  • Genera stringhe TC (Transparency & Consent) che codificano le scelte dell'utente
  • Si integra con la Global Vendor List (GVL) — oltre 1.000 vendor registrati
  • Deve presentare informazioni a livello di vendor agli utenti su richiesta

TCF v2.3 (Obbligatorio entro il 28 febbraio 2026)

L'aggiornamento a v2.3 aggiunge un segmento obbligatorio "Disclosed Vendors" alla stringa TC, chiude le scappatoie sulle dichiarazioni di legittimo interesse e richiede un filtraggio più rigoroso dei vendor. Se la tua CMP non è stata aggiornata per supportare v2.3 entro la scadenza, gli ad exchange rifiuteranno le tue richieste di offerta, con conseguente perdita immediata di ricavi — non tra qualche mese, immediatamente.

Per la maggior parte dei negozi PrestaShop che non gestiscono annunci programmatici, il TCF è meno rilevante — Google Consent Mode v2 è la priorità. Ma se gestisci annunci, verifica che il tuo vendor CMP supporti TCF v2.3 prima della scadenza di febbraio 2026.

Voglio essere specifico su come appare un'implementazione di consenso ai cookie conforme su PrestaShop. Descrivo i requisiti; puoi raggiungerli con un modulo, un servizio CMP o codice personalizzato.

Requisito 1: Blocca gli script fino al consenso

La violazione più comune che vedo nei negozi PrestaShop: il banner di consenso viene visualizzato mentre GA4, Facebook Pixel e hotjar stanno già funzionando. Questo succede perché gli script vengono caricati nell'<head> tramite hookDisplayHeader in modo incondizionato.

La soluzione: ogni script non essenziale deve essere subordinato a un controllo del consenso. Ci sono due approcci:

Approccio A: Scambio del tipo di script

<!-- Render scripts as text/plain so the browser ignores them -->
<script type="text/plain" data-cookiecategory="analytics">
    // GA4 initialization code
    gtag('config', 'G-XXXXXXX');
</script>

<script type="text/plain" data-cookiecategory="marketing">
    // Facebook Pixel initialization
    fbq('init', '123456789');
</script>

<!-- Consent banner JS changes type to text/javascript when category is accepted -->

Approccio B: Basato su trigger GTM (raccomandato)

Carica tutti gli script di terze parti tramite GTM e configura il trigger di ogni tag perché si attivi solo quando la corrispondente categoria di consenso viene concessa. Questo è più pulito perché:

  • Gestisci tutti gli script in un unico posto
  • L'integrazione con Consent Mode è automatica per i tag Google
  • Non serve logica di scambio script nel tuo tema PrestaShop
  • Più facile da verificare e mantenere

Per i negozi PrestaShop, servono tipicamente quattro categorie:

CategoriaEsempiConsenso richiesto?
Strettamente necessariSessione (PrestaShop-xxx), carrello, token CSRF, cookie di consenso stessoNo (esente)
FunzionaliPreferenza lingua, prodotti visti di recente, wishlist
AnalyticsGA4 (_ga, _gid), Matomo, Hotjar
MarketingFacebook Pixel (_fbp), Google Ads (_gcl_au), remarketing

Requisito 3: Parità visiva

La multa a SHEIN ha citato specificamente questo: il pulsante "Accetta" era prominente mentre l'opzione "Rifiuta" era un sottile link testuale. Il tuo banner deve dare a entrambe le opzioni lo stesso peso visivo:

<!-- NON-COMPLIANT: Different button styles -->
<button class="btn btn-primary btn-lg">Accept All</button>
<a href="#" class="text-muted small">Reject</a>

<!-- COMPLIANT: Equal prominence -->
<button class="btn btn-primary">Accept All</button>
<button class="btn btn-outline-primary">Reject All</button>
<button class="btn btn-link">Customize</button>

Requisito 4: Archiviazione e prova del consenso

Devi registrare quando il consenso è stato dato, a cosa si è acconsentito e come (quale versione del tuo banner). Questo serve come prova di conformità durante un audit. Archivia questi dati lato server, non solo in un cookie:

-- Example consent log table for PrestaShop
CREATE TABLE ps_cookie_consent_log (
    id_consent INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    id_customer INT UNSIGNED DEFAULT NULL,
    visitor_hash VARCHAR(64) NOT NULL,
    ip_address VARCHAR(45) NOT NULL,
    consent_categories JSON NOT NULL,
    banner_version VARCHAR(20) NOT NULL,
    action ENUM('granted', 'denied', 'partial', 'withdrawn') NOT NULL,
    date_add DATETIME NOT NULL,
    INDEX idx_visitor (visitor_hash, date_add),
    INDEX idx_customer (id_customer)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Errori comuni che vedo nei negozi PrestaShop

PrestaShop 1.7.6+ include un modulo GDPR che gestisce le richieste di accesso ai dati, la cancellazione dei dati e le checkbox di consenso per i form. Non fornisce il consenso ai cookie. Non blocca gli script, non mostra un banner dei cookie e non si integra con Google Consent Mode. Hai bisogno di una soluzione separata per i cookie.

Conformità GDPR e gestione del consenso ai cookie per PrestaShop

Errore 2: Banner di consenso che non bloccano nulla

Ho testato banner di cookie su negozi PrestaShop dove cliccando "Rifiuta tutto" lo stato del banner cambiava in "rifiutato" ma ogni script di tracciamento continuava a funzionare. Il banner è cosmetico — uno scudo di responsabilità che non fornisce alcuna conformità reale. Testa la tua implementazione:

  1. Apri il tuo negozio in una finestra in incognito
  2. Apri Chrome DevTools > Applicazione > Cookie
  3. Clicca "Rifiuta tutto" sul tuo banner di consenso
  4. Cerca i cookie _ga, _gid, _fbp, _gcl_au — se esistono, il tuo banner è guasto
  5. Controlla la scheda Network per richieste a google-analytics.com, facebook.com, ecc.

Errore 3: Caricare script CMP pesanti che danneggiano le performance

Alcune piattaforme di gestione del consenso di terze parti caricano 200-500KB di JavaScript. Su un negozio PrestaShop che carica già 400KB di JS, questo spinge il tuo Total Blocking Time oltre le soglie accettabili. Il meccanismo di consenso pensato per proteggere gli utenti finisce per degradare la loro esperienza.

Cerca soluzioni leggere. Un banner di cookie conforme non deve essere un widget SaaS da 300KB. La funzionalità base — mostrare un banner, registrare le scelte, controllare gli script — può essere realizzata in meno di 20KB di JavaScript.

La maggior parte delle implementazioni di consenso blocca solo i cookie JavaScript lato client. Ma i moduli PrestaShop possono anche impostare cookie lato server tramite PHP. Se un modulo usa setcookie() o la classe Cookie di PrestaShop per impostare cookie non essenziali, il tuo banner di consenso lato client non può impedirlo.

Verifica i tuoi moduli installati per l'impostazione di cookie lato server. Nel codebase PrestaShop, cerca:

# Find modules setting cookies
grep -r "setcookie\|new Cookie\|Context::getContext()->cookie->" modules/ --include="*.php"

Errore 5: Nessun meccanismo per revocare il consenso

La multa ad American Express ha citato specificamente i cookie letti dopo la revoca del consenso. Il tuo negozio deve avere un modo persistente e accessibile per i visitatori di modificare le loro preferenze sui cookie — tipicamente un link "Impostazioni cookie" nel footer che riapre la finestra di consenso. Quando un utente revoca il consenso, tutti i cookie non essenziali per quella categoria devono essere eliminati immediatamente.

DPIA: quando ne hai bisogno

Una Valutazione d'Impatto sulla Protezione dei Dati è richiesta quando la tua implementazione di cookie/tracciamento coinvolge:

  • Profilazione su larga scala (audience di remarketing, targeting comportamentale)
  • Tracciamento cross-device
  • Trattamento di categorie speciali di dati (salute, opinioni politiche)
  • Monitoraggio sistematico di aree accessibili al pubblico

Per un tipico negozio PrestaShop che utilizza GA4 e Facebook Pixel, una DPIA completa probabilmente non è necessaria. Ma se stai facendo remarketing avanzato, annunci prodotto dinamici e molteplici strumenti di tracciamento di terze parti, documenta la tua valutazione. Lo strumento PIA della CNIL è gratuito e fornisce un template strutturato.

Tendenze nell'applicazione: cosa ci dicono il 2025-2026

Il pattern è chiaro. Ecco un riepilogo delle recenti azioni di enforcement specifiche per i cookie:

AziendaMulta (EUR)AutoritàDataViolazione principale
Google325.000.000CNIL (Francia)Set 2025Annunci in Gmail senza consenso, design del consenso manipolativo
SHEIN150.000.000CNIL (Francia)Set 2025Cookie impostati prima dell'interazione col banner, pulsante rifiuta non funzionante
Free Mobile27.000.000CNIL (Francia)Gen 2026Violazioni più ampie della protezione dati
Free15.000.000CNIL (Francia)Gen 2026Violazioni più ampie della protezione dati
American Express1.500.000CNIL (Francia)Nov 2025Cookie inseriti nonostante il rifiuto, continuati dopo la revoca

La CNIL è di gran lunga l'ente più attivo nell'applicazione, ma altre autorità di protezione dati stanno seguendo: la Svezia ha preso di mira ATG e Warner Music per banner manipolativi, e l'ICO del Regno Unito ha avviato revisioni sistematiche dei 1.000 principali siti web del Regno Unito per la conformità ai cookie.

La conclusione: la scansione automatizzata è la nuova normalità. I regolatori non hanno bisogno di visitare manualmente il tuo negozio — eseguono script che rilevano comportamenti cookie non conformi su larga scala. Un piccolo negozio PrestaShop con 10.000 visitatori mensili è scansionabile tanto quanto un rivenditore multinazionale.

La tua checklist di implementazione

Ecco l'ordine di priorità che raccomando per i negozi PrestaShop:

  1. Verifica i tuoi cookie — Apri i DevTools, elenca ogni cookie impostato sul tuo dominio, identifica quali sono essenziali e quali no.
  2. Implementa il blocco degli script — Nessuno script non essenziale si attiva fino a che non viene dato il consenso. Testa con i DevTools.
  3. Installa un banner di consenso — Pulsanti con uguale prominenza, categorie granulari, link persistente nel footer per cambiare le preferenze.
  4. Implementa Google Consent Mode v2 — Imposta tutti i segnali a denied per default, aggiorna al consenso. Testa con Google Tag Assistant.
  5. Configura il logging del consenso — Registrazione lato server degli eventi di consenso per scopi di audit.
  6. Documenta tutto — Pagina di cookie policy che elenca tutti i cookie, scopi, durate e terze parti.
  7. Testa trimestralmente — Gli aggiornamenti dei moduli possono introdurre nuovi cookie. Ri-verifica ogni volta che aggiungi un modulo o aggiorni il tuo tema.

Sfumature specifiche per paese: non tutti i membri UE applicano allo stesso modo

Mentre la Direttiva ePrivacy e il GDPR si applicano in tutta l'UE, l'applicazione varia significativamente per paese. Capire dove sono i tuoi clienti conta per come configuri il consenso:

Francia (CNIL)

L'ente di applicazione più aggressivo in assoluto. La CNIL esegue scansioni automatizzate, emette le multe più alte e ha esplicitamente dichiarato che i cookie wall sono illegali. Se vendi a clienti francesi, il tuo livello di conformità è il più alto. La CNIL richiede inoltre che le scelte di consenso vengano archiviate come prova e che i cookie di analytics (incluso GA4) richiedano un opt-in esplicito — nessun argomento di legittimo interesse.

Germania (DPA statali)

La Germania ha 16 autorità di protezione dati a livello di stato più il BfDI federale. La DPA bavarese è stata particolarmente attiva nell'applicazione dei cookie. La legge tedesca richiede anche una pagina "Impressum" (avviso legale) separata, e i banner dei cookie devono essere in tedesco per i negozi in lingua tedesca. L'interpretazione tedesca del "legittimo interesse" per gli analytics è più restrittiva della maggior parte degli altri stati membri.

Paesi Bassi (AP)

L'Autoriteit Persoonsgegevens olandese si è concentrata sui cookie wall e sul tracciamento senza consenso. Hanno chiarito che i cookie di A/B testing richiedono il consenso se tracciano il comportamento individuale dell'utente. Per i negozi PrestaShop che servono il mercato olandese, sappi che l'AP considera qualsiasi cookie che distingue tra utenti individuali come non essenziale, anche i cookie funzionali come "prodotti visti di recente" che creano un profilo di navigazione.

Italia (Garante)

Il Garante italiano ha pubblicato linee guida dettagliate sui cookie che richiedono un approccio di consenso a due livelli: un breve banner di primo livello con opzioni accetta/rifiuta/personalizza e una pagina di dettaglio di secondo livello accessibile dal banner. Il Garante ha multato aziende per l'uso del consenso basato sullo scroll e per banner cookie che non avevano un'opzione di rifiuto visibile al primo livello.

Regno Unito (ICO)

Dopo la Brexit, il Regno Unito segue il proprio framework di protezione dei dati (UK GDPR + PECR). L'ICO ha avviato revisioni sistematiche dei 1.000 principali siti web del Regno Unito e ha emesso avvisi di enforcement alle organizzazioni che impostano cookie di analytics e pubblicità senza consenso valido. L'approccio dell'ICO è meno incentrato sulle multe rispetto alla CNIL ma più focalizzato sugli ordini correttivi.

Cosa significa per i negozi PrestaShop multi-paese

Se il tuo negozio PrestaShop serve clienti in più paesi UE (e la maggior parte lo fa — le capacità multistore e multi-lingua di PrestaShop lo rendono comune), configura la tua implementazione di consenso per lo standard più restrittivo applicabile. In pratica, questo significa lo standard francese: consenso preventivo completo per tutti i cookie non essenziali, uguale prominenza dei pulsanti, nessun cookie wall, logging del consenso lato server e facile revoca. Soddisfare i requisiti della CNIL significa essere conformi ovunque nell'UE.

Per i negozi con una presenza nel Regno Unito, assicurati che la tua cookie policy faccia riferimento al PECR (Privacy and Electronic Communications Regulations) oltre al GDPR, e indichi l'ICO come autorità di vigilanza competente per i clienti del Regno Unito.

Testare la tua implementazione: un protocollo di verifica passo-passo

Dopo aver implementato la tua soluzione di consenso ai cookie, esegui questo protocollo di verifica prima di andare live. Uso esattamente questa checklist per ogni negozio PrestaShop che verifico:

  1. Test prima visita — Apri una finestra in incognito. Prima di interagire con il banner, controlla Applicazione > Cookie nei DevTools. Solo i cookie essenziali (sessione PrestaShop, CSRF) dovrebbero essere presenti. Se vedi _ga, _gid, _fbp o qualsiasi cookie di terze parti, il tuo blocco è rotto.
  2. Test rifiuta tutto — Clicca "Rifiuta tutto". Verifica che non compaiano cookie di analytics o marketing. Controlla la scheda Network per richieste a google-analytics.com, connect.facebook.net o qualsiasi piattaforma pubblicitaria. Non dovrebbero essercene.
  3. Test consenso selettivo — Accetta solo gli analytics. Verifica che compaiano i cookie analytics ma non quelli marketing. Poi accetta anche il marketing — verifica che ora compaiano i cookie marketing.
  4. Test revoca — Apri le impostazioni cookie dal link nel footer. Revoca il consenso analytics. Verifica che i cookie _ga e _gid vengano eliminati immediatamente (non solo al prossimo caricamento pagina).
  5. Test Consent Mode — Nel Tag Assistant di GTM o in Google Analytics DebugView, verifica che gli aggiornamenti dello stato del consenso corrispondano alle tue scelte sul banner. Quando gli analytics sono negati, GA4 dovrebbe mostrare "consent_denied" per analytics_storage.
  6. Test persistenza — Accetta tutti i cookie. Chiudi il browser. Riaprilo. Visita il negozio. Il banner di consenso NON dovrebbe riapparire — il tuo cookie di preferenza persiste correttamente.
  7. Test logging del consenso — Controlla la tua tabella di log del consenso lato server. Verifica che gli eventi di accettazione, rifiuto e revoca siano registrati con timestamp, identificatori visitatore e versione del banner.
  8. Test mobile — Ripeti i test 1-3 su un dispositivo mobile. Molti bug dei banner di consenso sono specifici del mobile (pulsanti troppo piccoli, banner che copre il contenuto, categorie non scrollabili).

La conformità ai cookie non è un lavoro glamour. Ma farlo bene protegge il tuo business da multe a sei cifre e costruisce fiducia con i clienti che si preoccupano sempre più di come vengono gestiti i loro dati. Il nostro modulo Cookies Revolution gestisce l'implementazione tecnica — blocco degli script, integrazione Consent Mode v2, categorie granulari e banner leggero — così puoi concentrarti sulla vendita.

Se non sei sicuro del tuo attuale stato di conformità, esegui il protocollo di verifica qui sopra. Se vedi cookie di tracciamento prima del consenso, hai un problema che va risolto oggi — non il prossimo trimestre.

David Miller sviluppa strumenti PrestaShop incentrati sulla privacy su mypresta.rocks. Questo articolo riflette la sua comprensione delle normative UE sui cookie ad aprile 2026 e non costituisce consulenza legale.

Tag: Sicurezza
Condividi questo articolo:
David Miller

David Miller

Oltre un decennio di esperienza pratica con PrestaShop. David sviluppa moduli e-commerce ad alte prestazioni focalizzati su SEO, ottimizzazione del checkout e gestione del negozio. Appassionato di...

Ti è piaciuto questo articolo?

Ricevi i nostri ultimi consigli, guide e aggiornamenti dei moduli nella tua casella di posta.

Commenti

Nessun commento ancora. Siate i primi!

Lascia un commento

Loading...
Back to top