Advanced Cookie & Consent Manager
Guía completa de configuración, modelo de consentimiento, integración con Google, opt-out EE. UU., informes de conformidad y pruebas operativas.
1. Resumen
El plugin local_advancedcookiebanner gestiona el consentimiento de cookies/trackers, bloquea categorías opcionales antes del consentimiento, registra decisiones y soporta escenarios de privacidad (incluido opt-out EE. UU.).
2. Instalación
- Coloque el plugin en
/local/advancedcookiebanner. - Ejecute la actualización desde
/admin. - Ejecute Purge all caches.
3. Configuración
Ruta: Site administration -> Plugins -> Local plugins -> Advanced Cookie Banner
| Área | Opciones | Descripción |
|---|---|---|
| Core | enabled, consentversion, consentexpirydays, logretentiondays | Habilitación, versionado y ciclo de vida de evidencias de consentimiento. |
| Regulaciones | jurisdictionprofile, showdonotsellshare, respectdnt, respectgpc | Perfil de jurisdicción y señales de privacidad del navegador. |
| UI | bannerposition, showfloatingbutton, floatingbuttonposition, hidefloatingafteraccept | Posición del banner/botón; hidefloatingafteraccept habilita la acción Close permanently en el encabezado del modal. |
| Secciones del modal | showcategoriessection, showpolicydetailssection, toggles de categorías | Control de visibilidad de secciones del modal. |
enablega4, enablegtm, gtmconsentmode | Control de carga de Google y señalización de consentimiento. |
4. Modelo de consentimiento
Estados: accepted_all, rejected_all, custom, withdrawn, us_optout.
Categorías: necessary, preferences, analytics, marketing, externalmedia.
Scripts personalizados
<script type="text/plain" data-cookie-category="analytics" data-src="https://example.com/script.js"></script>
Embeds
<iframe data-cookie-category="externalmedia" src="https://www.youtube.com/embed/..."></iframe>
5. GA4 / GTM
- GA4/GTM solo se inician tras el consentimiento
analytics. - Con
gtmconsentmode=1, las actualizaciones de consentimiento se envían a Google. - Sin consentimiento analytics = sin peticiones a Google Analytics/Tag Manager.
6. „No vender/compartir”
Al hacer clic se guarda us_optout y se aplica marketing=false.
7. Informe de conformidad
Informe: /local/advancedcookiebanner/report.php
- lista de verificación de configuración,
- tarjetas de estadísticas de evidencias de consentimiento,
- matriz de preparación por framework.
- Página de informe Cookie Scanner:
/local/advancedcookiebanner/scannerreport.php. - Las tablas del escáner soportan búsqueda y filtrado por columnas; URLs largas se ajustan de forma responsiva.
8. Endpoints y datos
/local/advancedcookiebanner/consent.php- endpoint de escritura de decisiones./local/advancedcookiebanner/client_privacy.php- exportar/eliminar paraclientidanónimo con token HMAC.- Tabla:
local_acbanner_consent. - Tabla:
local_acbanner_scan_run(metadatos de ejecución del escáner). - Tabla:
local_acbanner_scan_finding(hallazgos detectados por el escáner). /local/advancedcookiebanner/scanner.php- endpoint AJAX del escáner manual.
9. Cobertura normativa
La cobertura indica soporte técnico a los controles. La conformidad legal final depende del despliegue real, configuración y validación legal de su organización.
10. Pruebas
- Incógnito: verificar primera capa y simetría Accept/Reject.
- Prueba de categorías: preferences/analytics/marketing/externalmedia.
- Prueba de retirada de consentimiento y limpieza de cookies.
- Prueba de opt-out EE. UU. y estado
us_optout. - Red: sin peticiones a Google antes del consentimiento analytics.
- Prueba de humo del escáner: ejecutar
Run scanen la página de informe del escáner. - Prueba de página objetivo: ejecutar
Scan selected pagey verificar retorno + hallazgos.
Prueba de reset de estado (QA)
Para probar desde cero sin cerrar el navegador, limpie el estado local de consentimiento:
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: en modo incógnito, las decisiones suelen recordarse en la misma sesión de ventana privada. Tras cerrar todas las ventanas privadas, el estado debería resetearse.
11. Solución de problemas
- Assets antiguos:
Purge all caches+ hard refresh. - Sin acceso al informe: verificar capability
local/advancedcookiebanner:managelogs. - El script se inicia sin consentimiento: verificar
type="text/plain"ydata-cookie-category.