Cookies Revolution — Documentación
Cookies Revolution es un gestor de consentimiento de cookies por categorías para PrestaShop. Te ayuda a recopilar las preferencias de los visitantes, bloquear scripts de seguimiento opcionales hasta que haya consentimiento, conservar registros de consentimiento y enviar señales de Google Consent Mode v2.
Funcionalidades
- Consentimiento por categoría. Los visitantes pueden aceptar todas las cookies, rechazar las cookies opcionales o elegir el consentimiento categoría por categoría.
- Grupos de cookies predeterminados. El módulo instala las categorías necesarias, funcionales, analíticas y de marketing con nombres y descripciones visibles para el visitante.
- Reglas de bloqueo de scripts. Los scripts externos e inline que coinciden con las reglas se reescriben hasta que se acepte la categoría opcional vinculada.
- Protección dinámica de scripts. El JavaScript del front office vigila los scripts añadidos posteriormente y bloquea los scripts de seguimiento coincidentes antes del consentimiento.
- Google Consent Mode v2. El módulo emite señales predeterminadas denegadas de Consent Mode y las actualiza cuando el visitante guarda sus preferencias.
- Registro de consentimiento. Las preferencias guardadas pueden registrarse con hash del visitante, hash de IP, hash de user-agent, versión de consentimiento, origen y fecha.
- Exportación CSV. La pantalla del registro de consentimiento incluye una exportación CSV para registros de auditoría.
- Escáner de cookies. El escáner detecta cabeceras
Set-Cookiey asignaciones simples dedocument.cookie, y después te permite categorizar las cookies nuevas. - Política de cookies generada. El controlador de configuración puede crear o actualizar manualmente una página CMS de política de cookies a partir de tus categorías y cookies configuradas.
- Diseño personalizado del banner. Puedes editar la posición del banner, colores, texto, overlay, animación, botón flotante y CSS personalizado.
- Enlace en la cuenta de cliente. Se añade un enlace “Configuración de cookies” al área de cuenta del cliente para que los visitantes puedan cambiar sus preferencias más adelante.
Opciones de configuración
- Activar módulo. Activa o desactiva el banner del front office, el panel de preferencias, los assets, el enlace de cuenta y las funciones de consentimiento; valor predeterminado:
1. - Consentimiento predeterminado. Define el estado inicial antes de que el visitante elija:
deniedpara opt-in ograntedpara opt-out; valor predeterminado:denied. - Caducidad de cookies. Define durante cuánto tiempo se almacenan
mprcr_consentymprcr_versionen el navegador del visitante; valor predeterminado:365. - Nuevo consentimiento después de. Guarda un intervalo de días introducido en el Back Office; el nuevo consentimiento actual en el front-end se controla por cambios de versión de consentimiento, no por este valor de días transcurridos; valor predeterminado:
0. - Nuevo consentimiento al cambiar la lista de cookies. Muestra de nuevo el banner cuando cambian las categorías activas o las cookies activas y la versión guardada está desactualizada; valor predeterminado:
1. - Activar bloqueo de scripts. Activa la reescritura de scripts del lado servidor y las reglas de bloqueo del lado cliente; valor predeterminado:
1. - Activar GCM v2. Emite y actualiza señales de Google Consent Mode v2; valor predeterminado:
1. - wait_for_update. Define el valor
wait_for_updatede Google Consent Mode en milisegundos; valor predeterminado:500. - Activar registro de consentimiento. Envía las preferencias de consentimiento guardadas al front controller del módulo y las almacena en el registro de consentimiento; valor predeterminado:
1. - Retención de registros. Define el número de días usado por la acción de purga para registros de consentimiento antiguos; valor predeterminado:
365. - Actualizar página CMS automáticamente. Guarda el valor
CMS_AUTO_UPDATEdel formulario de configuración; el código actual no usa este valor para actualizar automáticamente la página CMS; valor predeterminado:1. - URL de política personalizada. Sustituye el enlace de la página CMS de política generada en el banner y el panel de preferencias; valor predeterminado: ``.
- Escaneo automático de cookies. Ejecuta un escáner en segundo plano desde cargas de páginas de administración cuando corresponde según el intervalo de escaneo; valor predeterminado:
1. - Intervalo de escaneo. Define el intervalo del escáner automático en horas; valor predeterminado:
24. - Versión de consentimiento. Hash interno de 8 caracteres generado a partir de categorías activas y cookies activas; valor predeterminado: ``.
- ID de página CMS generada. ID interno de la página CMS de política de cookies generada; valor predeterminado:
0. - Nombre de categoría. Etiqueta de categoría visible para el visitante en el panel de preferencias; categorías predeterminadas:
Strictly Necessary,Functional,Analytics & Performance,Marketing & Advertising. - Descripción de categoría. Explicación visible para el visitante debajo del nombre de cada categoría; valor predeterminado: se instala con las cuatro categorías predeterminadas.
- Nombre de sistema de categoría. Identificador interno usado en cookies de consentimiento y JavaScript, por ejemplo
analytics; valores predeterminados:necessary,functional,analytics,marketing. - Categoría obligatoria. Hace que una categoría esté siempre activa y no pueda ser cambiada por los visitantes; valor predeterminado:
necessaryes1, las categorías opcionales son0. - Categoría activa. Muestra u oculta la categoría en el panel de preferencias del visitante; valor predeterminado:
1. - Icono de categoría. Guarda un nombre de icono como
shield,settings,chartomegaphone; valor predeterminado: instalado por categoría predeterminada. - Mapeos de categoría GCM. Mapea cada categoría a señales de Google como
analytics_storage,ad_storage,ad_user_data,ad_personalization,functionality_storage,personalization_storageysecurity_storage; valor predeterminado: necesarias se mapea asecurity_storage, funcionales afunctionality_storage, analíticas aanalytics_storage, marketing a señales de publicidad y personalización. - Nombre de cookie. Nombre exacto de cookie o nombre con comodín mostrado en la lista de cookies, como
_gao_ga_*; valor predeterminado: se instalan cookies comunes de PrestaShop, Google, Facebook, DoubleClick y Bing. - Categoría de cookie. Asigna cada cookie registrada a una categoría; valor predeterminado: instalado desde la lista de cookies conocidas.
- Proveedor de cookie. Nombra el servicio que establece la cookie; valor predeterminado: nombres de proveedores instalados como
PrestaShop,Google Analytics,FacebookyMicrosoft Bing. - Finalidad de cookie. Texto multilingüe de finalidad mostrado en el panel de preferencias y en la página de política generada; valor predeterminado: instalado para cookies conocidas.
- Valor de duración. Vida útil numérica de la cookie mostrada a los visitantes; valor predeterminado: instalado desde datos de cookies conocidas cuando están disponibles.
- Unidad de duración. Unidad para la vida útil de la cookie:
session,minutes,hours,days,monthsoyears; valor predeterminado: instalado desde datos de cookies conocidas. - Es patrón regex. Trata el patrón de cookie como coincidencia regex; valor predeterminado:
1para comodines predeterminados como_ga_*, en caso contrario0. - Patrón de cookie (Regex). Regex usado para coincidir con cookies agrupadas como
^_ga_.*$; valor predeterminado: generado para comodines predeterminados. - Cookie activa. Incluye o excluye una cookie de la lista pública y de la versión de consentimiento; valor predeterminado:
1. - Categoría de regla de script. Asigna una regla de bloqueo a una categoría opcional; valor predeterminado: se instalan reglas analíticas, de marketing y funcionales.
- Tipo de regla. Elige
url_patternpara coincidencia consrcde script oscript_contentpara coincidencia con script inline; valor predeterminado: instalado por regla. - Patrón (Regex). Regex usado para coincidir con la URL del script o el contenido del script inline; valor predeterminado: los patrones instalados cubren Google Analytics, GTM, Clarity, Hotjar, Meta, TikTok, Bing, LinkedIn y widgets de chat comunes.
- Descripción de regla. Nota de Back Office para la regla de bloqueo; valor predeterminado: descripciones instaladas como
Google Tag ManageroFacebook SDK. - Regla activa. Activa o desactiva una regla de bloqueo individual; valor predeterminado:
1. - Posición del banner. Controla dónde aparece el banner; valor predeterminado:
bottom. - Diseño del banner. Valor de diseño guardado para el banner; valor predeterminado:
bar. - Diseño del panel de preferencias. Abre las preferencias como
modal,slide-rightoslide-left; valor predeterminado:modal. - Animación. Usa
slide,fadeonone; valor predeterminado:slide. - Posición del botón flotante. Coloca el botón de reapertura en
bottom-leftobottom-right; valor predeterminado:bottom-left. - Botón flotante activado. Renderiza el botón flotante “Configuración de cookies” después del consentimiento; valor predeterminado:
1. - Fondo del banner. Define el color de fondo del banner; valor predeterminado:
#232323. - Texto del banner. Define el color del texto del banner; valor predeterminado:
#f5f5f5. - Fondo del botón aceptar. Define el fondo del botón de aceptar; valor predeterminado:
#2196f3. - Texto del botón aceptar. Define el color del texto del botón de aceptar; valor predeterminado:
#ffffff. - Fondo del botón rechazar. Define el fondo del botón de rechazar; valor predeterminado:
transparent. - Texto del botón rechazar. Valor predeterminado en instalación sobre el fondo oscuro del banner del módulo:
#b0b0b0. - Fondo del botón personalizar. Define el fondo del botón de personalizar; valor predeterminado:
transparent. - Texto del botón personalizar. Valor predeterminado en instalación sobre el fondo oscuro del banner del módulo:
#b0b0b0. - Fondo de preferencias. Define el fondo del panel de preferencias; valor predeterminado:
#ffffff. - Texto de preferencias. Define el color del texto del panel de preferencias; valor predeterminado:
#333333. - Toggle activo. Define el color del interruptor activo; valor predeterminado:
#2196f3. - Toggle inactivo. Define el color del interruptor inactivo; valor predeterminado:
#cccccc. - Fondo del botón flotante. Define el fondo del botón flotante; valor predeterminado:
#2196f3. - Icono del botón flotante. Define el color del icono del botón flotante; valor predeterminado:
#ffffff. - Título del banner. Encabezado multilingüe del banner; valor predeterminado:
We respect your privacy. - Mensaje del banner. Párrafo multilingüe del banner; valor predeterminado:
We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. - Botón aceptar. Texto multilingüe del botón de aceptar todo; valor predeterminado:
Accept All. - Botón rechazar. Texto multilingüe del botón de rechazar todo; valor predeterminado:
Reject All. - Botón personalizar. Texto multilingüe del botón de preferencias; valor predeterminado:
Customize. - Título de preferencias. Título multilingüe del panel de preferencias; valor predeterminado:
Cookie Preferences. - Descripción de preferencias. Explicación multilingüe de preferencias; valor predeterminado:
Choose which cookies you want to allow. You can change these settings at any time. However, blocking some types of cookies may impact your experience of the site. - Botón guardar. Texto multilingüe del botón de guardar preferencias; valor predeterminado:
Save Preferences. - Aceptar todo (en preferencias). Texto multilingüe del botón de aceptar todo dentro de preferencias; valor predeterminado:
Accept All. - Etiqueta del botón flotante. Etiqueta y tooltip multilingües para el botón flotante; valor predeterminado:
Cookie Settings. - Texto del enlace de política. Etiqueta multilingüe del enlace de política; valor predeterminado:
Cookie Policy. - Tamaño del botón flotante (px). Define la anchura y altura del botón flotante; valor predeterminado:
48. - Radio de borde (px). Define las esquinas redondeadas del banner, panel y botones; valor predeterminado:
12. - Tamaño de fuente (px). Define el tamaño de fuente del banner y preferencias; valor predeterminado:
14. - Familia de fuente. Añade una font-family personalizada antes del fallback del sistema; valor predeterminado: ``.
- Color de borde de botones. Define el color de borde de los botones de rechazar y personalizar; valor predeterminado: ``.
- Mostrar overlay. Muestra un overlay de página detrás del banner o del panel de preferencias; valor predeterminado:
1. - Color del overlay. Define el color del overlay; valor predeterminado:
rgba(0,0,0,0.5). - Mostrar botón de cierre (X). Añade un botón de cierre al banner; valor predeterminado:
0. - Acción del botón de cierre. Controla qué ocurre cuando el visitante hace clic en el botón X:
rejectguarda el rechazo e impide que el banner reaparezca,acceptconcede todo el consentimiento, odismissoculta el banner sin guardar consentimiento para que reaparezca en la próxima visita; valor predeterminado:reject. - Muro de consentimiento. Difumina la página, centra el banner como modal y bloquea el desplazamiento hasta que el visitante acepte, rechace o personalice el consentimiento; valor predeterminado:
0. - CSS personalizado. Guarda CSS adicional impreso con el diseño del módulo; valor predeterminado: ``.
Ejemplos de personalización
Usa la pantalla de reglas de scripts para bloquear un script de seguimiento por URL hasta que se conceda el consentimiento de analíticas:
Category: analytics
Rule Type: url_pattern
Pattern (Regex): googletagmanager\.com/gtag/js
Description: Google gtag.js
Active: 1
Usa una regla de contenido de script cuando el código de seguimiento esté inline:
Category: marketing
Rule Type: script_content
Pattern (Regex): fbq\s*\(
Description: Inline Facebook Pixel
Active: 1
El módulo reescribe scripts externos coincidentes así hasta que se acepte la categoría:
<script type="text/plain"
data-cookiecategory="analytics"
data-original-src="https://www.googletagmanager.com/gtag/js?id=G-XXXX">
</script>
La cookie de consentimiento usa valores compactos de categoría, lo cual resulta útil cuando otro script personalizado necesita inspeccionar el estado del navegador:
mprcr_consent=necessary:1|functional:0|analytics:1|marketing:0
mprcr_version=1a2b3c4d
Usa la API pública de JavaScript en un tema o módulo personalizado para comprobar el estado actual del navegador y escuchar cambios de consentimiento guardados:
function loadAnalyticsCode() {
// Load analytics-dependent code here.
}
if (window.MPRCR && window.MPRCR.isGranted('analytics')) {
loadAnalyticsCode();
}
document.addEventListener('mprcr:consent', function (event) {
if (event.detail && event.detail.analytics) {
loadAnalyticsCode();
}
});
Abre el panel de preferencias desde tu propio enlace de footer:
<a href="#" onclick="event.preventDefault(); window.MPRCR && window.MPRCR.showPreferences();">
Cookie Settings
</a>
Hooks CSS útiles del front office para el campo CSS personalizado:
.mprcr-banner__inner {
max-width: 980px;
margin: 0 auto;
}
.mprcr-btn--accept {
font-weight: 700;
}
.mprcr-category__desc {
line-height: 1.6;
}
.mprcr-floating {
box-shadow: 0 4px 14px rgba(0,0,0,.2);
}
Una configuración típica de opt-in para la UE usa estos valores:
DEFAULT_CONSENT = denied
SCRIPT_BLOCKING = 1
GCM_ENABLED = 1
LOG_ENABLED = 1
RECONSENT_ON_CHANGE = 1
Instalación
- En el Back Office de PrestaShop, ve a Módulos → Gestor de módulos.
- Haz clic en Subir un módulo.
- Selecciona el archivo ZIP de Cookies Revolution.
- Haz clic en Instalar.
- Abre la página de configuración del módulo.
- Revisa las categorías predeterminadas, las cookies registradas y las reglas de bloqueo de scripts.
- Ejecuta el escáner de cookies y categoriza cualquier cookie pendiente.
- Revisa el texto del banner, el diseño, el registro de consentimiento y la página de política antes de pasar a producción.
Solo puede estar activo un módulo de consentimiento de cookies de mypresta.rocks a la vez. Si mprcookiebanner ya está activo, Cookies Revolution no se instalará hasta que el otro módulo de cookies se desactive o elimine.
Cómo funciona
Cuando llega un visitante, Cookies Revolution prepara un estado de consentimiento predeterminado. Si Google Consent Mode v2 está activado, el módulo imprime una señal de consentimiento denegado por defecto en la cabecera de la página, con security_storage concedido.
El banner se carga desde una plantilla inerte y se muestra después de que el visitante interactúe con la página. El visitante puede aceptar todo, rechazar categorías opcionales o abrir el panel de preferencias y elegir por categoría. Después de guardar una elección, el módulo almacena mprcr_consent y mprcr_version en el navegador, actualiza Google Consent Mode, activa los scripts recién permitidos y, opcionalmente, escribe una entrada en el registro de consentimiento.
Más adelante, el visitante puede volver a abrir las preferencias mediante el botón flotante de cookies, el enlace “Configuración de cookies” de la cuenta de cliente o un enlace personalizado usando window.MPRCR.showPreferences().
Límites reales
- Este módulo te ayuda a recopilar y almacenar preferencias de cookies, pero no constituye asesoramiento legal. El texto de tu política, tus elecciones de categorías y tu configuración de seguimiento deben seguir ajustándose a tus requisitos legales.
- El escáner detecta cookies de cabeceras
Set-Cookiey código simpledocument.cookie = "name=value"durante el escaneo. Las cookies creadas después de la interacción del usuario, después del consentimiento o dentro de código complejo de terceros pueden requerir revisión manual. - Los scripts que ya se ejecutaron antes de revocar el consentimiento no pueden “des-ejecutarse” mediante JavaScript. El módulo puede eliminar cookies registradas al revocar y evitar que scripts coincidentes futuros se ejecuten.
Re-consent afterse guarda desde el formulario de configuración, pero la comprobación actual de nuevo consentimiento en el front-end se basa en cambios de versión de consentimiento.- El contenido de la política CMS generada se basa en las categorías y cookies registradas en el módulo. Las acciones de creación y actualización son acciones manuales del Back Office; el interruptor guardado
CMS_AUTO_UPDATEno se usa en el código actual para mantener la página sincronizada. - Si usas una página legal personalizada, introdúcela en URL de política personalizada.
- La exportación del registro de consentimiento incluye una columna
country_code, pero el método actual de registro no la rellena.
Preguntas frecuentes
¿Cuál es la diferencia entre este módulo y Lightweight Cookie Banner?
Lightweight Cookie Banner sirve para un aviso más simple de aceptar/rechazar. Cookies Revolution añade preferencias por categoría, reglas de bloqueo de scripts, registro de consentimiento, escaneo de cookies, contenido de política generado y Google Consent Mode v2.
¿El bloqueo de scripts puede romper mi tienda?
Puede ocurrir si scripts esenciales de checkout, inicio de sesión, carrito, pago o seguridad se asignan a categorías opcionales de seguimiento. Mantén los scripts críticos para la tienda fuera de las reglas de bloqueo opcionales o dentro de una categoría obligatoria.
¿El módulo bloquea Google Analytics antes del consentimiento?
Sí, cuando el script de Google correspondiente coincide con una regla analítica activa y el bloqueo de scripts está activado. El módulo también envía valores predeterminados de Google Consent Mode antes del consentimiento.
¿Pueden los visitantes cambiar sus preferencias más adelante?
Sí. Pueden volver a abrir las preferencias mediante el botón flotante de cookies, el enlace de cuenta de cliente, un enlace personalizado o la API pública de JavaScript.
¿Puedo crear mis propias categorías?
Sí. Puedes añadir categorías, escribir nombres y descripciones multilingües, elegir si son obligatorias y mapearlas a señales de Google Consent Mode.
¿El módulo elimina cookies después de rechazar una categoría?
Cuando un visitante guarda preferencias y revoca una categoría concedida previamente, el script del front intenta eliminar las cookies registradas para esa categoría.
¿Puedo exportar registros de consentimiento?
Sí. La pantalla del registro de consentimiento incluye una exportación CSV con hash del visitante, hash de IP, datos de consentimiento, versión, origen, columna de código de país y fecha. El método actual de registro no rellena country_code.
¿Necesito recopilar el consentimiento de nuevo después de añadir cookies?
Sí, si el nuevo consentimiento al cambiar está activado. El módulo actualiza la versión de consentimiento cuando cambian las categorías activas o las cookies, y se pide a los visitantes recurrentes que confirmen de nuevo.
¿El escáner encuentra todas las cookies posibles?
No. Encuentra cabeceras Set-Cookie y asignaciones simples de document.cookie durante el escaneo. Algunas cookies de terceros solo aparecen después del consentimiento o después de la interacción del visitante, por lo que la revisión manual sigue siendo importante.
¿Puedo usar una página de política de cookies personalizada?
Sí. Introduce una URL de política personalizada en la configuración. Cuando este campo está rellenado, el banner y el panel de preferencias la usan en lugar de la página CMS generada.
Compatibilidad: PrestaShop 1.6 a 9.0 (última), PHP 7.1+. Seguimos dando soporte a próximas versiones de PrestaShop.