Cumplimiento de cookies en 2026: Las multas son reales, las normas son estrictas y la mayoría de tiendas PrestaShop lo están haciendo mal

En septiembre de 2025, la CNIL de Francia multó a Google con 325 millones de EUR por colocar cookies publicitarias en Gmail sin consentimiento. Ese mismo mes, SHEIN recibió una multa de 150 millones de EUR — las cookies se instalaban en los dispositivos de los visitantes en el momento en que abrían shein.com, antes de que nadie tocase el banner de consentimiento. En noviembre, American Express fue sancionada con 1,5 millones de EUR por seguir leyendo cookies después de que los usuarios retiraran su consentimiento.

Concepto de protección de datos y cumplimiento del RGPD para tiendas en línea

Estos no son riesgos teóricos. Son sanciones reales contra grandes corporaciones, y si crees que las autoridades de protección de datos solo se centran en los grandes, te equivocas. La CNIL emitió 83 sanciones solo en 2025, totalizando aproximadamente 486,8 millones de EUR, y las herramientas de escaneo automatizado hacen que sea trivial para los reguladores detectar banners de cookies no conformes en tiendas de cualquier tamaño.

He auditado implementaciones de cookies en docenas de tiendas PrestaShop. La mayoría viola al menos dos requisitos de cumplimiento — generalmente sin que el propietario de la tienda lo sepa. Este artículo cubre lo que realmente necesitas implementar, con detalles técnicos específicos para PrestaShop, Google Tag Manager y Google Consent Mode v2.

Antes de entrar en la implementación, seamos precisos sobre lo que exige la ley. La Directiva ePrivacy (no el RGPD — es una regulación separada) regula las cookies específicamente. El RGPD regula lo que haces con los datos que esas cookies recopilan. Juntos, crean estos requisitos:

  1. Consentimiento previo para cookies no esenciales — No se pueden establecer cookies de analítica, marketing o de terceros antes de que el usuario consienta activamente. Las cookies "esenciales" (sesión, carrito, preferencia de idioma) están exentas.
  2. Dado libremente — No puedes condicionar el acceso al sitio a la aceptación de cookies. Los muros de cookies ("acepta todo o vete") son ilegales en la mayoría de jurisdicciones de la UE.
  3. Específico y granular — Los usuarios deben poder aceptar o rechazar categorías de cookies de forma independiente. "Aceptar todo" como única opción viola la regulación.
  4. Informado — Explicación clara de lo que hace cada categoría de cookies, quién recibe los datos y los períodos de retención.
  5. Acción inequívoca — Desplazarse o seguir navegando no es consentimiento. Se requiere un clic deliberado en un botón específico.
  6. Retirada fácil — Cambiar o revocar el consentimiento debe ser tan fácil como darlo. Un enlace en el pie de página es el mínimo.
  7. Sin patrones oscuros — Los botones de rechazar y aceptar deben tener la misma prominencia visual. Ocultar la opción de rechazo en un menú secundario o usar un color/tamaño diferente viola los requisitos.

Desde marzo de 2024, Google exige Consent Mode v2 para cualquier sitio que use servicios de Google (Analytics, Ads, Tag Manager) con usuarios europeos. Sin él, pierdes el modelado de conversiones, las audiencias de remarketing y, eventualmente, los datos de medición por completo.

Cómo funciona

Consent Mode es una API JavaScript que comunica las elecciones de consentimiento de tu visitante a las etiquetas de Google. Utiliza cuatro señales de consentimiento:

SeñalControlaEstado por defecto
ad_storageCookies publicitarias (remarketing de Google Ads, seguimiento de conversiones)denied
analytics_storageCookies de analítica (medición de GA4)denied
ad_user_dataEnvío de datos de usuario a Google para publicidaddenied
ad_personalizationPublicidad personalizada basada en datos del usuariodenied

Implementación mediante Google Tag Manager

El flujo de implementación correcto tiene tres partes:

Parte 1: Establecer el estado de consentimiento por defecto (se ejecuta antes de cualquier etiqueta de Google)

<script>
// This MUST load before GTM
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'wait_for_update': 500  // Wait up to 500ms for CMP to load
});

// Enable URL passthrough for conversion modeling even without cookies
gtag('set', 'url_passthrough', true);

// Redact ad click IDs when ad_storage is denied
gtag('set', 'ads_data_redaction', true);
</script>

Parte 2: Cargar el contenedor GTM (después de establecer el consentimiento por defecto)

<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;
j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');
</script>

Parte 3: Actualizar el consentimiento cuando el usuario elige

<script>
// Called by your consent banner when user accepts specific categories
function updateConsent(preferences) {
    gtag('consent', 'update', {
        'ad_storage': preferences.marketing ? 'granted' : 'denied',
        'analytics_storage': preferences.analytics ? 'granted' : 'denied',
        'ad_user_data': preferences.marketing ? 'granted' : 'denied',
        'ad_personalization': preferences.marketing ? 'granted' : 'denied',
    });
}
</script>

Qué ocurre cuando se deniega el consentimiento

Con el modo "Avanzado" de Consent Mode (recomendado), las etiquetas de Google siguen cargándose pero se comportan de forma diferente:

  • GA4 envía pings sin cookies — sin identificadores de usuario, sin cookies. Google usa aprendizaje automático para modelar las conversiones a partir de estos datos agregados, afirmando una precisión del 70-90%.
  • Google Ads pierde las listas de remarketing y la atribución directa de conversiones, pero el modelado de conversiones compensa parcialmente.
  • Sin Consent Mode en absoluto, los servicios de Google no reciben datos de los usuarios que no consienten — pierdes tanto la medición como el modelado.

En el modo "Básico" (más simple pero menos capaz), las etiquetas de Google no se disparan en absoluto hasta que se otorga el consentimiento. Obtienes datos precisos de los usuarios que consienten y nada del resto.

Si tu tienda PrestaShop ejecuta publicidad programática (Google AdSense, header bidding, cualquier red publicitaria), necesitas cumplimiento con IAB TCF. El framework estandariza cómo se comunica el consentimiento a los proveedores de tecnología publicitaria.

TCF v2.2 (Estándar actual)

  • Requiere una Plataforma de Gestión de Consentimiento (CMP) registrada en IAB Europe
  • Genera cadenas TC (Transparency & Consent) que codifican las elecciones del usuario
  • Se integra con la Lista Global de Proveedores (GVL) — más de 1.000 proveedores registrados
  • Debe presentar información a nivel de proveedor a los usuarios cuando lo soliciten

TCF v2.3 (Obligatorio antes del 28 de febrero de 2026)

La actualización a v2.3 añade un segmento obligatorio de "Disclosed Vendors" a la cadena TC, cierra lagunas en torno a las reclamaciones de interés legítimo y requiere un filtrado de proveedores más estricto. Si tu CMP no se ha actualizado para soportar v2.3 antes de la fecha límite, los ad exchanges rechazarán tus solicitudes de puja, resultando en una pérdida inmediata de ingresos — no en unos meses, inmediatamente.

Para la mayoría de tiendas PrestaShop que no ejecutan publicidad programática, TCF es menos relevante — Google Consent Mode v2 es la prioridad. Pero si ejecutas anuncios, verifica que tu proveedor de CMP soporte TCF v2.3 antes de la fecha límite de febrero de 2026.

Implementación de cookies en PrestaShop: Lo que tu banner debe hacer

Voy a ser específico sobre cómo debe ser una implementación de consentimiento de cookies conforme en PrestaShop. Describiré los requisitos; puedes lograrlos con un módulo, un servicio CMP o código personalizado.

Requisito 1: Bloquear scripts hasta el consentimiento

La violación más común que veo en tiendas PrestaShop: el banner de consentimiento se muestra mientras GA4, Facebook Pixel y hotjar ya están ejecutándose. Esto ocurre porque los scripts se cargan en el <head> a través de hookDisplayHeader de forma incondicional.

La solución: cada script no esencial debe estar condicionado a una verificación de consentimiento. Hay dos enfoques:

Enfoque A: Intercambio de tipo de script

<!-- Render scripts as text/plain so the browser ignores them -->
<script type="text/plain" data-cookiecategory="analytics">
    // GA4 initialization code
    gtag('config', 'G-XXXXXXX');
</script>

<script type="text/plain" data-cookiecategory="marketing">
    // Facebook Pixel initialization
    fbq('init', '123456789');
</script>

<!-- Consent banner JS changes type to text/javascript when category is accepted -->

Enfoque B: Basado en triggers de GTM (recomendado)

Carga todos los scripts de terceros a través de GTM y configura el trigger de cada etiqueta para que se dispare solo cuando se otorgue la categoría de consentimiento correspondiente. Esto es más limpio porque:

  • Gestionas todos los scripts en un solo lugar
  • La integración con Consent Mode es automática para etiquetas de Google
  • No necesitas lógica de intercambio de scripts en tu tema de PrestaShop
  • Es más fácil de auditar y mantener

Requisito 2: Categorías de cookies

Para tiendas PrestaShop, normalmente necesitas cuatro categorías:

CategoríaEjemplos¿Consentimiento requerido?
Estrictamente necesariasSesión (PrestaShop-xxx), carrito, token CSRF, la propia cookie de consentimientoNo (exenta)
FuncionalesPreferencia de idioma, vistos recientemente, lista de deseos
AnalíticaGA4 (_ga, _gid), Matomo, Hotjar
MarketingFacebook Pixel (_fbp), Google Ads (_gcl_au), remarketing

Requisito 3: Paridad visual

La multa a SHEIN citó específicamente esto: el botón "Aceptar" estaba prominentemente estilizado mientras que la opción "Rechazar" era un sutil enlace de texto. Tu banner debe dar a ambas opciones el mismo peso visual:

<!-- NON-COMPLIANT: Different button styles -->
<button class="btn btn-primary btn-lg">Accept All</button>
<a href="#" class="text-muted small">Reject</a>

<!-- COMPLIANT: Equal prominence -->
<button class="btn btn-primary">Accept All</button>
<button class="btn btn-outline-primary">Reject All</button>
<button class="btn btn-link">Customize</button>

Requisito 4: Almacenamiento y prueba de consentimiento

Necesitas registrar cuándo se dio el consentimiento, a qué se consintió y cómo (qué versión de tu banner). Esto sirve como prueba de cumplimiento durante una auditoría. Almacena estos datos en el servidor, no solo en una cookie:

-- Example consent log table for PrestaShop
CREATE TABLE ps_cookie_consent_log (
    id_consent INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    id_customer INT UNSIGNED DEFAULT NULL,
    visitor_hash VARCHAR(64) NOT NULL,
    ip_address VARCHAR(45) NOT NULL,
    consent_categories JSON NOT NULL,
    banner_version VARCHAR(20) NOT NULL,
    action ENUM('granted', 'denied', 'partial', 'withdrawn') NOT NULL,
    date_add DATETIME NOT NULL,
    INDEX idx_visitor (visitor_hash, date_add),
    INDEX idx_customer (id_customer)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Errores comunes que veo en tiendas PrestaShop

Error 1: El módulo RGPD integrado de PrestaShop no es una solución de cookies

PrestaShop 1.7.6+ incluye un módulo RGPD que gestiona solicitudes de acceso a datos, eliminación de datos y casillas de consentimiento en formularios. No proporciona consentimiento de cookies. No bloquea scripts, no muestra un banner de cookies ni se integra con Google Consent Mode. Necesitas una solución separada para las cookies.

Cumplimiento del RGPD y gestión del consentimiento de cookies para PrestaShop

Error 2: Banners de consentimiento que realmente no bloquean nada

He probado banners de cookies en tiendas PrestaShop donde hacer clic en "Rechazar todo" cambia el estado del banner a "rechazado" pero todos los scripts de seguimiento continúan ejecutándose. El banner es cosmético — un escudo de responsabilidad que no proporciona cumplimiento real. Prueba tu implementación:

  1. Abre tu tienda en una ventana de incógnito
  2. Abre Chrome DevTools > Application > Cookies
  3. Haz clic en "Rechazar todo" en tu banner de consentimiento
  4. Comprueba si existen cookies _ga, _gid, _fbp, _gcl_au — si existen, tu banner está roto
  5. Comprueba la pestaña Network para solicitudes a google-analytics.com, facebook.com, etc.

Error 3: Cargar scripts pesados de CMP que perjudican el rendimiento

Algunas plataformas de gestión de consentimiento de terceros cargan 200-500KB de JavaScript. En una tienda PrestaShop que ya carga 400KB de JS, esto empuja tu Total Blocking Time más allá de los umbrales aceptables. El mecanismo de consentimiento destinado a proteger a los usuarios termina degradando su experiencia.

Busca soluciones ligeras. Un banner de cookies conforme no necesita ser un widget SaaS de 300KB. La funcionalidad básica — mostrar un banner, registrar elecciones, condicionar scripts — se puede lograr con menos de 20KB de JavaScript.

Error 4: Ignorar las cookies del lado del servidor

La mayoría de implementaciones de consentimiento solo bloquean cookies JavaScript del lado del cliente. Pero los módulos de PrestaShop también pueden establecer cookies del lado del servidor mediante PHP. Si un módulo usa setcookie() o la clase Cookie de PrestaShop para establecer cookies no esenciales, tu banner de consentimiento del lado del cliente no puede impedirlo.

Audita tus módulos instalados para detectar la configuración de cookies del lado del servidor. En el código de PrestaShop, busca:

# Find modules setting cookies
grep -r "setcookie\|new Cookie\|Context::getContext()->cookie->" modules/ --include="*.php"

Error 5: Sin mecanismo para retirar el consentimiento

La multa a American Express citó específicamente que las cookies se leían después de retirar el consentimiento. Tu tienda debe tener una forma persistente y accesible para que los visitantes cambien sus preferencias de cookies — típicamente un enlace "Configuración de cookies" en el pie de página que reabra el diálogo de consentimiento. Cuando un usuario retira el consentimiento, todas las cookies no esenciales de esa categoría deben eliminarse inmediatamente.

EIPD: Cuándo necesitas una

Una Evaluación de Impacto en Protección de Datos es necesaria cuando tu implementación de cookies/seguimiento implica:

  • Perfilado a gran escala (audiencias de remarketing, segmentación por comportamiento)
  • Seguimiento entre dispositivos
  • Tratamiento de categorías especiales de datos (salud, opiniones políticas)
  • Monitorización sistemática de áreas de acceso público

Para una tienda PrestaShop típica que ejecuta GA4 y Facebook Pixel, una EIPD completa probablemente no es necesaria. Pero si ejecutas remarketing avanzado, anuncios de producto dinámicos y múltiples herramientas de seguimiento de terceros, documenta tu evaluación. La herramienta PIA de la CNIL es gratuita y proporciona una plantilla estructurada.

Tendencias de aplicación: Lo que nos dice 2025-2026

El patrón es claro. Aquí tienes un resumen de las acciones recientes de aplicación específicas de cookies:

EmpresaMulta (EUR)AutoridadFechaViolación principal
Google325.000.000CNIL (Francia)Sep 2025Anuncios en Gmail sin consentimiento, diseño de consentimiento manipulador
SHEIN150.000.000CNIL (Francia)Sep 2025Cookies establecidas antes de interactuar con el banner, botón de rechazo no funcional
Free Mobile27.000.000CNIL (Francia)Ene 2026Violaciones más amplias de protección de datos
Free15.000.000CNIL (Francia)Ene 2026Violaciones más amplias de protección de datos
American Express1.500.000CNIL (Francia)Nov 2025Cookies colocadas pese al rechazo, continuación tras la retirada

La CNIL es con diferencia la autoridad más activa, pero otras APD están siguiendo el ejemplo: Suecia sancionó a ATG y Warner Music por banners manipuladores, y la ICO del Reino Unido lanzó revisiones sistemáticas de los 1.000 principales sitios web del Reino Unido en materia de cumplimiento de cookies.

La conclusión: el escaneo automatizado es la nueva normalidad. Los reguladores no necesitan visitar tu tienda manualmente — ejecutan scripts que detectan comportamientos de cookies no conformes a escala. Una pequeña tienda PrestaShop con 10.000 visitantes mensuales es igual de escaneable que un minorista multinacional.

Tu lista de comprobación de implementación

Este es el orden de prioridad que recomiendo para tiendas PrestaShop:

  1. Audita tus cookies — Abre DevTools, lista cada cookie establecida en tu dominio, identifica cuáles son esenciales y cuáles no.
  2. Implementa el bloqueo de scripts — Ningún script no esencial se ejecuta hasta que se otorgue el consentimiento. Prueba con DevTools.
  3. Despliega un banner de consentimiento — Igual prominencia en los botones, categorías granulares, enlace persistente en el pie para cambiar preferencias.
  4. Implementa Google Consent Mode v2 — Todas las señales por defecto en denied, actualizar con el consentimiento. Prueba con Google Tag Assistant.
  5. Configura el registro de consentimiento — Registro en el servidor de eventos de consentimiento para fines de auditoría.
  6. Documéntalo todo — Página de política de cookies listando todas las cookies, propósitos, duraciones y terceros.
  7. Prueba trimestralmente — Las actualizaciones de módulos pueden introducir nuevas cookies. Vuelve a auditar cada vez que añadas un módulo o actualices tu tema.

Matices por país: No todos los miembros de la UE aplican de la misma manera

Aunque la Directiva ePrivacy y el RGPD se aplican en toda la UE, la aplicación varía significativamente según el país. Entender dónde están tus clientes importa para cómo configuras el consentimiento:

Francia (CNIL)

La autoridad más agresiva con diferencia. La CNIL ejecuta escaneos automatizados, impone las multas más altas y ha declarado explícitamente que los muros de cookies son ilegales. Si vendes a clientes franceses, tu estándar de cumplimiento es el más alto. La CNIL también exige que las elecciones de consentimiento se almacenen como prueba y que las cookies de analítica (incluido GA4) requieran opt-in explícito — sin argumento de interés legítimo.

Alemania (APDs estatales)

Alemania tiene 16 autoridades de protección de datos a nivel estatal más el BfDI federal. La APD de Baviera ha sido particularmente activa en la aplicación de cookies. La ley alemana también exige una página separada de "Impressum" (aviso legal), y los banners de cookies deben estar en alemán para tiendas en lengua alemana. La interpretación alemana del "interés legítimo" para analítica es más estricta que la de la mayoría de otros estados miembros.

Países Bajos (AP)

La Autoriteit Persoonsgegevens neerlandesa se ha centrado en los muros de cookies y el seguimiento sin consentimiento. Han aclarado que las cookies de test A/B requieren consentimiento si rastrean el comportamiento individual del usuario. Para tiendas PrestaShop que sirven al mercado neerlandés, ten en cuenta que la AP considera como no esencial cualquier cookie que distinga entre usuarios individuales, incluso cookies funcionales como "productos vistos recientemente" que crean un perfil de navegación.

Italia (Garante)

El Garante italiano publicó directrices detalladas sobre cookies que requieren un enfoque de consentimiento de dos capas: un breve banner de primera capa con opciones de aceptar/rechazar/personalizar, y una segunda capa de detalle accesible desde el banner. El Garante ha multado a empresas por usar consentimiento basado en scroll y por banners de cookies que carecen de una opción de rechazo visible en la primera capa.

Reino Unido (ICO)

Tras el Brexit, el Reino Unido sigue su propio marco de protección de datos (UK GDPR + PECR). La ICO ha lanzado revisiones sistemáticas de los 1.000 principales sitios web del Reino Unido y ha emitido avisos de aplicación a organizaciones que establecen cookies de analítica y publicidad sin consentimiento válido. El enfoque de la ICO impone menos multas que la CNIL pero se centra más en órdenes correctivas.

Qué significa esto para tiendas PrestaShop multipaís

Si tu tienda PrestaShop sirve a clientes en múltiples países de la UE (y la mayoría lo hace — las capacidades de multitienda y multi-idioma de PrestaShop lo hacen habitual), configura tu implementación de consentimiento para el estándar más estricto aplicable. En la práctica, eso significa el estándar francés: consentimiento previo completo para todas las cookies no esenciales, igual prominencia de botones, sin muros de cookies, registro de consentimiento en servidor y retirada fácil. Cumplir con los requisitos de la CNIL significa que cumplirás en el resto de la UE.

Para tiendas con presencia en el Reino Unido, asegúrate de que tu política de cookies haga referencia a PECR (Privacy and Electronic Communications Regulations) junto con el RGPD, y menciona a la ICO como la autoridad supervisora relevante para los clientes del Reino Unido.

Verificación de tu implementación: Un protocolo de prueba paso a paso

Después de implementar tu solución de consentimiento de cookies, ejecuta este protocolo de verificación antes de ponerlo en producción. Uso exactamente esta lista para cada tienda PrestaShop que audito:

  1. Test de visita nueva — Abre una ventana de incógnito. Antes de interactuar con el banner, comprueba Application > Cookies en DevTools. Solo deberían estar presentes las cookies esenciales (sesión de PrestaShop, CSRF). Si ves _ga, _gid, _fbp o cualquier cookie de terceros, tu bloqueo está roto.
  2. Test de rechazar todo — Haz clic en "Rechazar todo". Verifica que no aparezcan cookies de analítica o marketing. Comprueba la pestaña Network para solicitudes a google-analytics.com, connect.facebook.net o cualquier plataforma publicitaria. No debería haber ninguna.
  3. Test de consentimiento selectivo — Acepta solo analítica. Verifica que aparecen cookies de analítica pero no las de marketing. Luego acepta también marketing — verifica que ahora aparecen las cookies de marketing.
  4. Test de retirada — Abre la configuración de cookies desde el enlace del pie de página. Revoca el consentimiento de analítica. Verifica que las cookies _ga y _gid se eliminan inmediatamente (no solo en la siguiente carga de página).
  5. Test de Consent Mode — En Tag Assistant de GTM o DebugView de Google Analytics, verifica que las actualizaciones del estado de consentimiento coinciden con tus elecciones del banner. Cuando se deniega analítica, GA4 debería mostrar "consent_denied" para analytics_storage.
  6. Test de persistencia — Acepta todas las cookies. Cierra el navegador. Vuelve a abrirlo. Visita la tienda. El banner de consentimiento NO debería reaparecer — tu cookie de preferencia está persistiendo correctamente.
  7. Test de registro de consentimiento — Comprueba tu tabla de registro de consentimiento en el servidor. Verifica que los eventos de aceptación, rechazo y retirada se registran con marcas de tiempo, identificadores de visitante y versión del banner.
  8. Test móvil — Repite los tests 1-3 en un dispositivo móvil. Muchos errores de banners de consentimiento son específicos del móvil (botones demasiado pequeños, banner cubriendo contenido, categorías no desplazables).

El cumplimiento de cookies no es un trabajo glamuroso. Pero hacerlo bien protege tu negocio de multas de seis cifras y genera confianza con clientes que cada vez se preocupan más por cómo se gestionan sus datos. Nuestro módulo Cookies Revolution gestiona la implementación técnica — bloqueo de scripts, integración con Consent Mode v2, categorías granulares y banner ligero — para que puedas centrarte en vender.

Si no estás seguro del estado actual de tu cumplimiento, ejecuta el protocolo de verificación anterior. Si ves cookies de seguimiento antes del consentimiento, tienes un problema que necesita solucionarse hoy — no el próximo trimestre.

David Miller desarrolla herramientas de privacidad para PrestaShop en mypresta.rocks. Este artículo refleja su comprensión de las regulaciones europeas de cookies a fecha de abril de 2026 y no constituye asesoramiento legal.

Etiquetas: Seguridad
Compartir esta publicación:
David Miller

David Miller

Más de una década de experiencia práctica con PrestaShop. David desarrolla módulos de comercio electrónico de alto rendimiento centrados en SEO, optimización del checkout y gestión de tiendas. Apasionado por el código limpio y los resultados medibles.

¿Te gustó este artículo?

Recibe nuestros últimos consejos, guías y actualizaciones de módulos en tu bandeja de entrada.

Comentarios

Aún no hay comentarios. ¡Sé el primero!

Sé el primero en hacer una pregunta o compartir una opinión útil.

Cargando...
Volver arriba