Según la legislación europea de privacidad, no puedes establecer cookies de seguimiento, cookies de analítica ni cookies de marketing en el navegador de un visitante sin su consentimiento explícito e informado. Esto no es opcional, y las infracciones conllevan multas elevadas. La buena noticia es que configurar una solución adecuada de consentimiento de cookies en WordPress lleva unos 30 minutos una vez entiendes los requisitos. Esta guía cubre la base legal, la implementación técnica y los errores comunes que pueden meterte en problemas.
Lo que realmente exigen el RGPD y la Directiva ePrivacy
Dos normas de la UE rigen cómo los sitios web gestionan las cookies. El RGPD (Reglamento General de Protección de Datos) establece las reglas para el tratamiento de datos personales, mientras que la Directiva ePrivacy (a menudo llamada "Directiva de Cookies") aborda específicamente el almacenamiento de información en el dispositivo del usuario. Juntas, crean un marco claro:
- Artículo 6 RGPD (Base Legal): Necesitas una base legal para tratar datos personales. Para las cookies que rastrean a los usuarios, la base relevante es el consentimiento bajo el artículo 6(1)(a). El interés legítimo (artículo 6(1)(f)) no se aplica a las cookies no esenciales según la mayoría de las autoridades europeas de protección de datos.
- Artículo 7 RGPD (Condiciones del Consentimiento): El consentimiento debe ser dado libremente, ser específico, informado e inequívoco. Debe ser una aceptación activa (sin casillas premarcadas). Retirar el consentimiento debe ser tan fácil como darlo.
- Directiva ePrivacy (Artículo 5(3)): Almacenar o acceder a información en el dispositivo de un usuario (incluyendo cookies, localStorage y tecnologías similares) requiere consentimiento previo, salvo que la cookie sea estrictamente necesaria para el servicio que el usuario solicitó explícitamente.
En la práctica, esto significa: nada de analítica, nada de píxeles de marketing, nada de incrustaciones de redes sociales, nada de vídeos incrustados de terceros y nada de cookies publicitarias hasta que el usuario haga clic en "Aceptar". Las cookies estrictamente necesarias (como las cookies de sesión para un carrito de la compra o las cookies de autenticación) no requieren consentimiento.
Entender las categorías de cookies
Una implementación adecuada del consentimiento clasifica las cookies en grupos para que los usuarios puedan tomar decisiones granulares. Estas son las categorías estándar:
- Estrictamente necesarias (esenciales): Cookies necesarias para la funcionalidad básica del sitio. Algunos ejemplos son las cookies de sesión (p. ej. la cookie de inicio de sesión de WordPress
wordpress_logged_in_*), las cookies del carrito de WooCommerce, los tokens CSRF y la propia cookie de preferencias de consentimiento. No requieren consentimiento y el usuario no puede rechazarlas. - Funcionales (preferencias): Cookies que recuerdan preferencias del usuario como la selección de idioma, la preferencia de tema o la región. No son estrictamente necesarias pero mejoran la experiencia de usuario. Requieren consentimiento.
- Analítica (estadísticas): Cookies establecidas por herramientas como Google Analytics, Matomo o Plausible que miden cómo los visitantes usan tu sitio. Incluso las cookies de analítica "anónimas" suelen requerir consentimiento en la UE, salvo que utilices una herramienta centrada en la privacidad que no establezca cookies en absoluto (como Plausible o Fathom en modo sin cookies).
- Marketing (publicidad): Cookies de redes publicitarias, plataformas de retargeting y píxeles de redes sociales (Facebook Pixel, Google Ads, LinkedIn Insight Tag). Estas siempre requieren consentimiento.
Configurar Complianz (recomendado para la mayoría de sitios)
- Instala Complianz - GDPR/CCPA Cookie Consent desde el directorio de plugins de WordPress.
- Ejecuta el asistente de configuración. Complianz pregunta sobre la ubicación de tu negocio, las regiones a las que prestas servicio y qué servicios de terceros utilizas. Responde con sinceridad, ya que el asistente genera tu política de cookies y la configuración del consentimiento basándose en estas respuestas.
- El plugin escanea automáticamente tu sitio para detectar cookies. Revisa los resultados del escaneo y categoriza cualquier cookie que no haya podido identificar automáticamente.
- Configura el diseño del banner de consentimiento en Complianz > Banner de consentimiento. Elige entre un banner arriba o abajo, un popup centrado o un panel lateral. Asegúrate de que el botón "Rechazar todo" sea igual de prominente que el botón "Aceptar todo" (esto es un requisito legal).
- Activa el bloqueo de scripts. Complianz puede bloquear automáticamente scripts conocidos (Google Analytics, Facebook Pixel, incrustaciones de YouTube) hasta que el usuario dé su consentimiento. Ve a Integraciones y verifica que tus servicios de terceros aparezcan listados.
- Para scripts personalizados que Complianz no reconozca, envuélvelos con el placeholder de Complianz. Cambia el tipo de script de
text/javascriptatext/plainy añade un atributodata-category. - Comprueba abriendo tu sitio en una ventana de incógnito. Antes de aceptar las cookies, verifica que no se cargan scripts de analítica ni de marketing (revisa la pestaña Network en las DevTools del navegador). Después de aceptar, verifica que los scripts se cargan correctamente.
Configurar Real Cookie Banner (mejor para la región DACH)
Real Cookie Banner es un plugin de desarrollo alemán que adopta un enfoque basado en servicios en lugar de basado en cookies. En vez de categorizar cookies individuales, configuras cada servicio (Google Analytics, YouTube, Google Maps, etc.) y el plugin se encarga del resto. Este enfoque encaja bien con la interpretación alemana del RGPD.
- Instala Real Cookie Banner desde el directorio de plugins de WordPress.
- Ejecuta el asistente de configuración. El plugin incluye una amplia base de datos de plantillas de servicios preconfiguradas, por lo que no necesitas introducir manualmente nombres de cookies o periodos de retención para servicios habituales.
- Para cada servicio detectado, el plugin proporciona descripciones revisadas legalmente, detalles de tratamiento de datos e información de cookies. Revísalas y ajústalas si es necesario.
- Configura el diseño del banner de consentimiento. Real Cookie Banner ofrece amplias opciones de personalización para colores, estilos de botones y textos.
- El plugin genera un bloqueador de contenido para contenido incrustado (vídeos de YouTube, Google Maps, incrustaciones de redes sociales). Los visitantes ven un placeholder con una solicitud de consentimiento en lugar del contenido incrustado.
Configurar CookieYes
- Instala CookieYes | GDPR Cookie Consent desde el directorio de plugins de WordPress o regístrate en cookieyes.com.
- Ejecuta el escaneo automático de cookies. CookieYes identifica las cookies de tu sitio y las categoriza.
- Personaliza la apariencia del banner, los colores de los botones y el texto en el panel de CookieYes.
- Configura el bloqueo de scripts para cada categoría de cookies. CookieYes admite bloqueo de scripts tanto automático como manual.
- CookieYes también ofrece un generador de política de cookies que puedes incrustar en tu página de política de privacidad.
Integración de Google Consent Mode v2
Si utilizas servicios de Google (Analytics, Ads, Tag Manager), debes implementar Google Consent Mode v2. Desde marzo de 2024, Google requiere Consent Mode para sitios que muestran anuncios a usuarios del EEE. Sin él, Google Ads no recopilará datos de usuarios del Espacio Económico Europeo.
Consent Mode v2 introduce dos nuevos parámetros además de los originales:
- ad_user_data: Controla si los datos de usuario pueden enviarse a Google con fines publicitarios.
- ad_personalization: Controla si se permite la publicidad personalizada (remarketing).
- analytics_storage: Controla si se pueden establecer cookies de analítica.
- ad_storage: Controla si se pueden establecer cookies publicitarias.
Los tres plugins recomendados (Complianz, Real Cookie Banner, CookieYes) admiten Google Consent Mode v2 de serie. Asegúrate de habilitarlo en los ajustes del plugin. Cuando un usuario no ha dado su consentimiento, Consent Mode envía "pings sin cookies" a Google que proporcionan datos agregados y modelados sin identificar a usuarios individuales.
TCF 2.2 y el framework IAB
El Transparency and Consent Framework (TCF) versión 2.2, gestionado por el Interactive Advertising Bureau (IAB), es un protocolo estandarizado para comunicar el consentimiento del usuario a los proveedores de publicidad. Si ejecutas publicidad programática en tu sitio (Google AdSense, header bidding, redes publicitarias), tu solución de consentimiento debería admitir TCF 2.2. Esto garantiza que las redes publicitarias reciban señales de consentimiento en un formato estandarizado que puedan procesar.
No todos los plugins de consentimiento gratuitos admiten TCF 2.2. Complianz incluye soporte de TCF en su versión premium. CookieYes también ofrece TCF 2.2 en sus planes de pago. Si dependes de los ingresos publicitarios, merece la pena la inversión.
Manejar Google Analytics y Tag Manager con consentimiento
La configuración más común consiste en cargar Google Tag Manager (GTM) con Consent Mode v2 como estado por defecto y luego actualizar el consentimiento cuando el usuario interactúa con tu banner. Este es el patrón:
<!-- Cargar GTM con estado de consentimiento por defecto (denegado) -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'analytics_storage': 'denied',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500
});
</script>Tu plugin de consentimiento llama entonces a gtag('consent', 'update', {...}) cuando el usuario acepta. Si utilizas uno de los plugins de WordPress recomendados, esto se gestiona automáticamente. No necesitas escribir este código manualmente.
Auditar manualmente las cookies de tu sitio
Antes de configurar una solución de consentimiento, conviene saber exactamente qué cookies establece tu sitio. Así es como auditarlas:
- Abre tu sitio en una ventana de incógnito del navegador.
- Abre las DevTools (F12) y ve a la pestaña Application (Chrome) o Storage (Firefox).
- En Cookies, haz clic en tu dominio. Anota cada nombre de cookie, su dominio, caducidad y si es HttpOnly o Secure.
- Navega por varias páginas, incluyendo páginas con contenido incrustado (vídeos de YouTube, Google Maps, feeds de redes sociales). Cada interacción puede establecer cookies adicionales.
- Comprueba también localStorage y sessionStorage, ya que también están cubiertos por la Directiva ePrivacy.
- Usa la pestaña Network de tu navegador para identificar qué peticiones establecen cookies (busca cabeceras de respuesta Set-Cookie).
InspectWP puede ayudar con esta auditoría. Ejecuta un análisis y comprueba la sección de cookies, que lista todas las cookies detectadas durante el rastreo.
Errores comunes de consentimiento de cookies que llevan a multas
Las autoridades europeas de protección de datos han impuesto multas significativas por infracciones relativas a las cookies. Estos son los errores más comunes que debes evitar:
- Casillas de consentimiento premarcadas: El TJUE (Tribunal de Justicia de la Unión Europea) dictaminó en el caso Planet49 (2019) que las casillas premarcadas no constituyen un consentimiento válido. Cada categoría no esencial debe ser de aceptación voluntaria.
- Muros de cookies: Bloquear el acceso a tu sitio salvo que los usuarios acepten todas las cookies se considera coacción e invalida el consentimiento. Los usuarios deben poder acceder a tu contenido aunque rechacen todas las cookies no esenciales.
- Botones de rechazo confusos: Hacer que el botón "Rechazar" sea pequeño, gris u oculto detrás de un enlace "Gestionar preferencias" mientras el botón "Aceptar todo" es grande y colorido es un patrón oscuro. La CNIL francesa multó a Google con 150 millones de euros en parte por esto. Ambos botones deben tener la misma visibilidad.
- Imposibilidad de retirar el consentimiento: Los usuarios deben poder cambiar sus preferencias de cookies en cualquier momento. Incluye un enlace o icono persistente (a menudo un pequeño escudo o icono de cookie en una esquina) que vuelva a abrir el diálogo de consentimiento.
- Establecer cookies antes del consentimiento: Si tu script de analítica se ejecuta antes incluso de mostrar el banner de consentimiento, estás infringiendo la ley sin importar lo bonito que sea tu banner. Usa las DevTools de tu navegador para verificar los tiempos.
- Ignorar el consentimiento para contenido incrustado: Las incrustaciones de YouTube, los iframes de Google Maps y los widgets de redes sociales establecen cookies. Debes bloquearlos hasta que se dé el consentimiento, normalmente reemplazando la incrustación por un placeholder.
Probar tu implementación de consentimiento de cookies
Después de configurar tu solución de consentimiento, pruébala a fondo:
- Abre tu sitio en modo incógnito. El banner de consentimiento debería aparecer inmediatamente.
- Antes de interactuar con el banner, comprueba las cookies en las DevTools. Solo deberías ver cookies estrictamente necesarias.
- Haz clic en "Rechazar todo". No deberían establecerse cookies de analítica ni de marketing. Navega por varias páginas para confirmarlo.
- Borra las cookies y recarga. Haz clic en "Aceptar todo". Verifica que los scripts de analítica y marketing ahora se cargan correctamente.
- Borra las cookies de nuevo. Haz clic en "Gestionar preferencias" y acepta solo la analítica. Verifica que las cookies de marketing no se establecen pero las de analítica sí.
- Después de aceptar, busca la opción para retirar el consentimiento. Haz clic y verifica que las cookies no esenciales se eliminan.
Verifica tu configuración de cookies con InspectWP
Ejecuta un análisis con InspectWP para ver una lista completa de las cookies que establece tu sitio durante una carga de página. La sección de RGPD marca las cookies de terceros y los recursos externos que pueden requerir consentimiento. Si ves cookies de Google Analytics, cookies de Facebook u otras cookies de seguimiento en el informe de InspectWP, verifica que tu solución de consentimiento las esté bloqueando correctamente antes de que se dé el consentimiento. Recuerda que InspectWP rastrea tu sitio sin dar consentimiento de cookies, por lo que cualquier cookie de seguimiento que aparezca en el informe indica un posible problema de cumplimiento.