Advanced Cookie & Consent Manager
Guida completa a configurazione, modello di consenso, integrazione Google, opt-out USA, report di conformità e test operativi.
1. Panoramica
Il plugin local_advancedcookiebanner gestisce i consensi cookie/tracker, blocca le categorie opzionali prima del consenso, registra le decisioni e supporta scenari privacy (incluso opt-out USA).
2. Installazione
- Posiziona il plugin in
/local/advancedcookiebanner. - Esegui upgrade da
/admin. - Esegui Purge all caches.
3. Impostazioni
Percorso: Site administration -> Plugins -> Local plugins -> Advanced Cookie Banner
| Area | Opzioni | Descrizione |
|---|---|---|
| Core | enabled, consentversion, consentexpirydays, logretentiondays | Abilitazione, versionamento e ciclo vita delle evidenze di consenso. |
| Normative | jurisdictionprofile, showdonotsellshare, respectdnt, respectgpc | Profilo giurisdizione e segnali privacy del browser. |
| UI | bannerposition, showfloatingbutton, floatingbuttonposition, hidefloatingafteraccept | Posizionamento banner/pulsante; hidefloatingafteraccept abilita azione Close permanently nell'header modal. |
| Sezioni modal | showcategoriessection, showpolicydetailssection, toggle categorie | Controllo visibilità delle sezioni modal. |
enablega4, enablegtm, gtmconsentmode | Controllo caricamento Google e segnali consenso. | |
| Embed personalizzati | customembedproviders, externalmediabypassproviders | customembedproviders migliora riconoscimento/naming provider; externalmediabypassproviders abilita bypass del blocco externalmedia per provider selezionati (esempio: YouTube bloccato, Panopto consentito). |
4. Modello di consenso
Stati: accepted_all, rejected_all, custom, withdrawn, us_optout.
Categorie: necessary, preferences, analytics, marketing, externalmedia.
Script custom
<script type="text/plain" data-cookie-category="analytics" data-src="https://example.com/script.js"></script>
Embed
<iframe data-cookie-category="externalmedia" src="https://www.youtube.com/embed/..."></iframe>
Provider custom e bypass
Usa customembedproviders per migliorare il rilevamento provider (nome nel placeholder e azione “Always allow this provider”). Usa externalmediabypassproviders quando un provider deve restare sbloccato anche senza consenso externalmedia.
customembedproviders: Panopto|panopto.com,panopto.eu externalmediabypassproviders: Panopto
5. GA4 / GTM
- GA4/GTM partono solo dopo consenso
analytics. - Con
gtmconsentmode=1, gli update del consenso vengono inviati a Google. - Senza consenso analytics = nessuna richiesta verso Google Analytics/Tag Manager.
6. „Non vendere/non condividere”
Il click salva us_optout e forza marketing=false.
7. Report di conformità
Report: /local/advancedcookiebanner/report.php
- checklist configurazione,
- card statistiche evidenze consenso,
- matrice di readiness per framework.
- Pagina report Cookie Scanner:
/local/advancedcookiebanner/scannerreport.php. - Le tabelle scanner supportano ricerca e filtri per colonna; URL lunghi con wrapping responsive.
8. Endpoint e dati
/local/advancedcookiebanner/consent.php- endpoint scrittura decisioni./local/advancedcookiebanner/client_privacy.php- export/delete perclientidanonimo con token HMAC.- Tabella:
local_acbanner_consent. - Tabella:
local_acbanner_scan_run(metadati run scanner). - Tabella:
local_acbanner_scan_finding(finding scanner rilevati). /local/advancedcookiebanner/scanner.php- endpoint AJAX scanner manuale.
9. Copertura normativa
La copertura indica supporto tecnico ai controlli. La conformità legale finale dipende comunque dal deployment reale, configurazione e validazione legale dell'organizzazione.
10. Test
- Incognito: verifica primo layer e simmetria Accept/Reject.
- Test categorie: preferences/analytics/marketing/externalmedia.
- Test ritiro consenso e cleanup cookie.
- Test US opt-out e stato
us_optout. - Network: nessuna richiesta Google prima del consenso analytics.
- Scanner smoke test: esegui
Run scansulla pagina scanner report. - Test pagina target: esegui
Scan selected pagee verifica ritorno + findings.
Test reset stato (QA)
Per testare da zero senza chiudere il browser, pulisci lo stato locale consenso:
localStorage.removeItem("local_advancedcookiebanner_consent");
localStorage.removeItem("local_advancedcookiebanner_clientid");
localStorage.removeItem("local_advancedcookiebanner_clienttoken");
document.cookie = "acb_consent_state=; Max-Age=0; path=/";
document.cookie = "acb_consent_version=; Max-Age=0; path=/";
document.cookie = "acb_clientid=; Max-Age=0; path=/";
document.cookie = "acb_consent_payload=; Max-Age=0; path=/";
location.reload();
Nota: in incognito, le decisioni restano in genere nella stessa sessione privata. Dopo la chiusura di tutte le finestre private, lo stato dovrebbe azzerarsi.
11. Troubleshooting
- Asset vecchi:
Purge all caches+ hard refresh. - Nessun accesso report: verifica capability
local/advancedcookiebanner:managelogs. - Script parte senza consenso: verifica
type="text/plain"edata-cookie-category.