Cookie Manager Tarteaucitron — Guía completa
Instalación, configuración de servicios, escáner automático, Consent Mode v2 y registro de consentimiento del módulo Cookie Manager Tarteaucitron para PrestaShop 8 y 9.
Presentación
Cookie Manager Tarteaucitron es un módulo de gestión del consentimiento de cookies para PrestaShop 8.0+ y 9.x. Combina el motor de código abierto tarteaucitron.js, que bloquea realmente los servicios antes del consentimiento, con una interfaz moderna: tarjeta flotante animada, interruptores por categoría y pastilla de reapertura. Incluye Google Consent Mode v2, un escáner de rastreadores con activación en un clic y un registro de consentimiento exportable.
Desde la versión 1.2.0 los archivos de tarteaucitron se sirven desde tu propio dominio: ninguna petición se envía a un CDN externo antes de que el visitante haya consentido.
Instalación
- Ve a Módulos → Administrador de módulos → Subir un módulo.
- Sube el archivo
datafirefly_tarteaucitron.zip. - Pulsa Instalar y después Configurar.
La pantalla de configuración es accesible de dos formas, ambas muestran la misma página: el botón Configurar del administrador de módulos, o la entrada de menú Cookie Manager añadida en la instalación.
Tras cualquier actualización, vacía la caché de PrestaShop desde Parámetros avanzados → Rendimiento. El script de actualización también limpia el OPcache de PHP cuando puede.
Actualizar desde una versión anterior
Sobrescribe /modules/datafirefly_tarteaucitron/ o instala el nuevo ZIP desde el back-office. El script de actualización se ejecuta solo y se encarga de la tabla de registro si falta, de las nuevas claves de configuración, del renombrado de las posiciones del banner (bottom pasa a bottom-left, middle y popup pasan a center) y de la entrada de menú si no existe.
Si usabas la posición middle o popup, el banner se convierte en una modal centrada con fondo oscurecido. El comportamiento es correcto, pero el aspecto cambia visiblemente: compruébalo antes de publicar.
Ajustes generales
- Módulo activado: interruptor principal del banner en el front-office.
- Idioma del banner: en automático sigue el idioma PrestaShop de la página. También puedes forzar uno de los 36 idiomas incluidos.
- Posición del banner: abajo a la izquierda o a la derecha, arriba a la izquierda o a la derecha, o centrada como modal.
- Archivos de tarteaucitron: alojamiento local, recomendado, o CDN jsDelivr. Ver la sección dedicada.
- Caducidad del consentimiento: 365 días por defecto. Se recomienda no superar los 13 meses, es decir 395 días.
- Nombre de la cookie:
tarteaucitronpor defecto. Cambiarlo reinicia los consentimientos ya recogidos, porque la cookie anterior deja de leerse. - Dominio de la cookie: vacío para el dominio actual, o con un punto delante para compartir el consentimiento entre subdominios.
- Pastilla de reapertura: muestra una pastilla Cookies tras el consentimiento. Ver la sección sobre la retirada.
- Cerrar equivale a rechazar: añade una cruz que rechaza todas las cookies no esenciales. Desactivada, el banner exige una elección explícita.
La pestaña Textos y enlaces personaliza el título, el mensaje y las etiquetas de los botones; un campo vacío usa el texto propio del módulo en el idioma del banner. La pestaña Diseño controla los colores y el radio de las esquinas, con vista previa en directo y un control de contraste WCAG entre el color de los botones y el de su texto.
Desde dónde se sirven los archivos de tarteaucitron
Un banner de cookies que carga sus propios archivos desde un CDN entrega la dirección IP del visitante a un tercero antes de que haya elegido nada. Por eso el módulo incorpora tarteaucitron.js 1.30.0 y sus 36 archivos de idioma en views/vendor/tarteaucitron/, servidos desde tu dominio.
La opción CDN jsDelivr sigue disponible en la pestaña General. No es la recomendada: entrega la dirección IP del visitante a jsDelivr en cuanto carga la página, antes de cualquier consentimiento.
Activar los servicios
La pestaña Servicios lista las 11 integraciones listas para usar. Para cada una, activa el interruptor e introduce el identificador solicitado:
- Google Analytics 4: Measurement ID, formato G-XXXXXXXX
- Google Tag Manager: Container ID, formato GTM-XXXXXX
- Google Ads: Conversion ID
- Meta Pixel: Pixel ID numérico
- Hotjar: Site ID numérico
- LinkedIn Insight: Partner ID
- TikTok Pixel: Pixel ID
- Microsoft Clarity: Project ID
- Intercom: App ID
- YouTube: sin identificador, activa el bloqueo de los vídeos incrustados antes del consentimiento
- Stripe: sin identificador, ver la sección dedicada
Un servicio activado sin identificador no se carga en el front-office. El módulo lo marca en rojo en la tabla y avisa al guardar, pero revisa tus identificadores después de usar la activación automática del escáner.
El campo de identificador se bloquea cuando el servicio está desactivado. El valor guardado se conserva: al reactivar el servicio vuelve a aparecer.
Escáner y detección automática
- Pulsa Escanear el sitio ahora en la pestaña Detección automática. El módulo lee las cookies presentes en tu dominio y descarga el HTML de tu front-office para analizar las etiquetas de script de terceros.
- Aparecen dos tablas: las cookies detectadas con su servicio probable y su categoría, y los scripts de terceros identificados con su estado actual en el módulo.
- Pulsa Activar los servicios detectados y guarda.
- Pasa a la pestaña Servicios para introducir los identificadores de los servicios recién activados.
El escáner reconoce Google Analytics, Google Tag Manager, Google Ads, Meta Pixel, Hotjar, LinkedIn, TikTok, Microsoft Clarity, Intercom, Brevo, Stripe y YouTube, además de las cookies funcionales de PrestaShop.
Navega primero por tu front-office en el mismo navegador y lanza después el escaneo: las cookies depositadas por tus rastreadores serán visibles y la detección será más completa. Si el back-office y el front están en dominios distintos, solo funciona el análisis de scripts.
Estadísticas y test A/B
Desde la versión 1.3.0, la pestaña Estadísticas y A/B mide lo que el banner consigue realmente. El módulo cuenta las impresiones, no solo las respuestas, y eso es lo que hace calculable la tasa de aceptación.
- Indicadores: impresiones, tasa de respuesta, tasa de «aceptar todo», tasa de rechazo, proporción de elecciones personalizadas, opt-in por categoría, reparto ordenador / móvil y evolución diaria, en 7, 30, 90 o 365 días, o sobre todo el historial.
- Privacidad: los contadores se agregan por día, variante y tipo de dispositivo en la tabla
dftac_banner_stats. Ningún dato personal, ningún identificador de visitante, ninguna cookie. Una impresión solo se cuenta una vez por visita, mediante un marcador local de sesión. - Robots: un filtro de user-agent en el servidor descarta los buscadores y las herramientas de auditoría, y la impresión solo se contabiliza al primer gesto del visitante (puntero, tecla, desplazamiento o respuesta). Sin ese filtro, los robots que ejecutan JavaScript inflan el denominador sin responder nunca y hunden la tasa.
- Exportación y reinicio: exportación CSV de los contadores y botón de reinicio, ambos independientes del registro RGPD.
Lanzar un test A/B
- Active el test y fije la proporción de tráfico enviada a la variante B. El 50 % da el resultado legible más rápido.
- Rellene solo los campos que quiera probar: título, mensaje, etiquetas de los tres botones, posición. Los campos vacíos heredan la variante A.
- Déjelo correr. El sorteo permanece estable durante toda la visita.
- Lea el veredicto: el módulo compara ambas tasas con un test z de dos proporciones y solo anuncia un ganador por encima de 100 impresiones por variante y con una diferencia significativa al 95 %.
- Copie el texto ganador en la variante A y apague el test.
El ajuste que más mueve la tasa de aceptación es la posición: compare la modal centrada con la tarjeta en esquina antes de afinar los textos.
Google Consent Mode v2
Obligatorio desde marzo de 2024 para los anunciantes europeos, Consent Mode v2 permite a Google modelar las conversiones incluso cuando se rechaza el consentimiento. El módulo emite las siete señales requeridas (ad_storage, ad_user_data, ad_personalization, analytics_storage, functionality_storage, personalization_storage, security_storage) como default en el <head>, antes de cualquier etiqueta, y las actualiza en cuanto el visitante responde. Cada estado por defecto es configurable, con denied recomendado en el EEE.
Particularidad: el estado por defecto se deduce de la cookie de consentimiento existente cuando la hay. Quien ya aceptó obtiene granted desde el primer frame, sin ventana denied transitoria que recorte tus conversiones de Google Ads en cada recarga. La misma tabla de correspondencia servicio-señal se usa en el servidor y en el navegador, de modo que el estado por defecto y la actualización siempre coinciden.
wait_for_update fija el tiempo que Google espera al banner antes de enviar datos. 500 ms es el valor recomendado.
Stripe y las cookies estrictamente necesarias
Las cookies de Stripe (__stripe_mid, __stripe_sid) son necesarias para prevenir el fraude en el pago y se acogen a la exención prevista para los rastreadores estrictamente necesarios: bloquearlas rompería el proceso de compra. Cuando el servicio Stripe está activado se carga sin pedir consentimiento y aparece en el panel de preferencias bajo Esenciales y pago con la etiqueta Siempre activo. El visitante queda informado y ningún pago se bloquea.
Retirar el consentimiento
El RGPD exige que retirar el consentimiento sea tan sencillo como darlo. Hay tres vías, combinables:
- la pastilla flotante mostrada tras la elección, activable en la pestaña General;
- un enlace en el pie de página:
<a href="#tarteaucitron">Gestionar mis cookies</a>; - una llamada JavaScript:
dftacOpenPreferences(), desde cualquier elemento de tu plantilla.
Si desactivas la pastilla, implementa una de las otras dos. Sin ella el visitante ya no puede volver sobre su elección.
Servicios personalizados
La pestaña Servicios personalizados añade cualquier script de terceros ausente de la lista: una clave única en minúsculas, un nombre visible, una categoría (analytic, ads, social, video, support, api u other), el JS ejecutado solo tras el consentimiento, los nombres de las cookies que deposita y una URL de política de privacidad. Aparecen en el banner bajo su propia categoría con su propio interruptor, y su categoría determina la señal de Consent Mode asociada.
El código introducido aquí se ejecuta tal cual en el front-office. Pega solo código cuyo origen controles.
Registro de consentimiento
El artículo 7 del RGPD obliga a poder demostrar que el consentimiento se dio. La pestaña Registro RGPD muestra los registros página a página, cada uno con fecha y hora, el identificador de visitante anónimo, las categorías aceptadas y el detalle servicio por servicio.
- La dirección IP nunca se almacena en claro: solo una huella HMAC-SHA256 salada con una clave propia de la tienda. Un SHA-256 sin salar sería recuperable por fuerza bruta sobre el espacio IPv4.
- El identificador de visitante procede de una cookie técnica dedicada y no contiene datos personales.
- Una deduplicación en el servidor ignora un segundo envío idéntico del mismo visitante en menos de 5 segundos, lo que neutraliza los dobles clics.
- El envío del consentimiento usa
keepalive: llega aunque el visitante cambie de página inmediatamente después de elegir. - Una purga automática elimina las entradas más allá del periodo de conservación que fijes. Se ejecuta al abrir la página de configuración, como mucho una vez al día.
- Exportar a CSV genera un archivo con fecha, en UTF-8 con BOM para que se abra correctamente en Excel.
- El registro se conserva si desinstalas el módulo, preservando tu pista de auditoría.
- El registro puede desactivarse si no deseas conservar esta prueba.
Multitienda
Cada tienda tiene su propia configuración: servicios activados, textos, colores, posición y ajustes de Consent Mode. El aviso en la parte superior de la pantalla de configuración recuerda qué tienda estás editando.
Resolución de problemas
- El banner no aparece: comprueba que el módulo está activado en la pestaña General, vacía la caché de PrestaShop y asegúrate de que no hay otro módulo de consentimiento activo en paralelo.
- Las elecciones no se recuerdan: borra la cookie de consentimiento antigua en tu navegador antes de volver a probar, y comprueba que el nombre de la cookie no ha cambiado desde el último consentimiento.
- Un servicio no se carga tras aceptar: comprueba que su identificador está introducido. Un identificador vacío en un servicio activado se marca en rojo en la tabla.
- El escaneo no detecta nada: navega primero por el front-office en el mismo navegador y vuelve a lanzarlo.
- Nada en el registro: comprueba que el registro está activado en la pestaña Registro RGPD y consiente de nuevo desde el front en una ventana privada.
- Un cambio del módulo no surte efecto: vacía la caché de PrestaShop y, si tu alojamiento usa OPcache, recarga PHP. El script de actualización limpia el OPcache automáticamente cuando puede.
¿Necesitas ayuda? Contacta con el soporte de DataFireFly desde tu cuenta de cliente, respuesta en 24 h laborables.