Integrazioni e CMP di terze parti
Come integrare Iubenda, CookieYes, Cookiebot o Google Consent Mode senza dare per scontato che funzionino, e come gestire font, mappe e video esterni.
La maggior parte dei progetti non costruisce il banner da zero: usa una Consent Management Platform (CMP). È una scelta sensata, ma installarla non equivale a essere conformi.
Le soluzioni più diffuse
| Soluzione | Punti di forza | Da verificare |
|---|---|---|
| Iubenda | Informative generate, molto diffusa in Italia | Che il blocco automatico copra davvero tutti gli script |
| CookieYes | Scansione periodica, economica | Categorizzazione automatica spesso imprecisa |
| Cookiebot (Usercentrics) | Scansione e blocco automatico solidi | Costo su siti grandi |
| Google Consent Mode v2 | Necessario per i prodotti Google | Non è una CMP: va abbinato a una CMP certificata |
Su Consent Mode v2 conviene essere precisi: non blocca nulla di per sé. Regola come i tag Google si comportano in base a segnali di consenso che qualcun altro deve raccogliere. Da solo non rende conforme il sito.
Cosa resta a carico tuo
La CMP gestisce raccolta e memorizzazione del consenso. Restano comunque tue queste responsabilità:
- verificare il blocco preventivo (vedi sotto): è il punto in cui le CMP falliscono più spesso;
- categorizzare correttamente i cookie: la scansione automatica sbaglia, soprattutto sui cookie di prima parte;
- mantenere aggiornata la cookie policy quando aggiungi un servizio;
- rendere raggiungibile la revoca da ogni pagina;
- verificare l’accessibilità del banner: molte CMP producono banner non navigabili da tastiera o con contrasti insufficienti. L’obbligo di accessibilità vale anche per il banner.
La verifica che conta
Vale la pena ripeterlo perché è il punto critico:
- sessione pulita, nessun consenso dato;
- strumenti per sviluppatori → Rete e Archiviazione;
- nessun cookie non tecnico, nessuno script di analytics o marketing deve comparire;
- solo dopo “Accetta” devono attivarsi.
Da controllare anche dopo un rifiuto: alcune configurazioni bloccano correttamente al primo caricamento ma caricano gli script alla navigazione successiva.
Font, mappe e video: i casi dimenticati
Non sono cookie, ma sono trasmissioni di dati a terzi che avvengono al caricamento della pagina.
Font. La soluzione più semplice è ospitarli localmente, così il problema non si pone:
<!-- Invece di caricarli da un CDN esterno -->
<style>
@font-face {
font-family: "Inter";
src: url("/fonts/inter.woff2") format("woff2");
font-display: swap;
}
</style>
Mappe e video. Sostituisci l’embed con un segnaposto che carica l’iframe solo su richiesta:
<div class="segnaposto-video">
<p>Questo video è ospitato da YouTube. Caricandolo accetti i cookie di terze parti.</p>
<button type="button" onclick="caricaVideo(this)">Carica il video</button>
</div>
function caricaVideo(bottone) {
const iframe = document.createElement("iframe");
iframe.src = "https://www.youtube-nocookie.com/embed/ID_VIDEO";
iframe.title = "Titolo del video"; // richiesto per l'accessibilità
iframe.allowFullscreen = true;
bottone.closest(".segnaposto-video").replaceWith(iframe);
}
Nota youtube-nocookie.com: riduce il tracciamento ma non lo elimina, quindi non esonera dal consenso.
Cosa verificare
- Nessun cookie non tecnico e nessuno script di terze parti prima del consenso.
- Il comportamento è corretto anche dopo un rifiuto e alla pagina successiva.
- La cookie policy elenca i cookie realmente presenti (verificati, non copiati da un modello).
- La revoca è raggiungibile da ogni pagina.
- Il banner è navigabile da tastiera e ha contrasti sufficienti.
- Font, mappe e video esterni sono gestiti o sostituiti.