Parte de nuestra serie Compliance & Regulation
Leer la guía completaGuía de implementación del consentimiento de cookies: gestión del consentimiento conforme a la ley
Se han emitido más de 400 millones de euros en multas conforme al RGPD específicamente por violaciones del consentimiento de las cookies desde 2020. La CNIL francesa multó a Google con 150 millones de euros y a Facebook con 60 millones de euros por hacer que fuera más fácil aceptar cookies que rechazarlas. El consentimiento de cookies ya no es un ejercicio de casilla de verificación: es un área de la ley de privacidad que se aplica estrictamente con requisitos técnicos específicos.
Esta guía cubre los requisitos legales, la implementación técnica y la gestión continua del consentimiento de cookies para sitios web y aplicaciones web.
Conclusiones clave
- Según GDPR y ePrivacy, se debe obtener el consentimiento ANTES de configurar cookies no esenciales, no después
- El consentimiento debe ser tan fácil de retirar como de otorgar (rechazar con un solo clic, no enterrado en la configuración)
- Los muros de cookies ("aceptar o abandonar") son ilegales en la mayoría de los estados miembros de la UE
- Se requiere el modo de consentimiento de Google v2 para Google Analytics y Ads en el EEE desde marzo de 2024.
Requisitos legales por región
Comparación de requisitos de consentimiento de cookies
| Requisito | UE (GDPR + ePrivacidad) | Reino Unido (PECR + RGPD del Reino Unido) | EE. UU. (CCPA/leyes estatales) | Brasil (LGPD) | Canadá (PIPEDA) |
|---|---|---|---|---|---|
| Consentimiento previo para cookies no esenciales | Sí (optar por participar) | Sí (optar por participar) | No (modelo de exclusión voluntaria) | Sí (optar por participar) | Se permite el consentimiento implícito |
| Se requiere banner de consentimiento | Sí | Sí | No requerido (pero recomendado) | Sí | Recomendado |
| Opciones granulares (por categoría) | Sí | Sí | No requerido | Sí | Recomendado |
| Igual protagonismo para aceptar/rechazar | Sí | Sí | N/A | Sí | N/A |
| Se permite el muro de cookies | No (en la mayoría de los estados) | No | N/A | No | N/A |
| Se requiere registro de consentimiento | Sí | Sí | No | Sí | Sí |
| Plazo de renovación del consentimiento | Máximo 12 meses | Máximo 12 meses | N/A | No especificado | No especificado |
| Se requiere política de cookies | Sí (detallado) | Sí (detallado) | Sí (si se realiza seguimiento) | Sí | Sí |
¿Qué se considera una galleta?
La Directiva de privacidad electrónica cubre no solo las cookies HTTP sino todas las tecnologías que almacenan o acceden a información en el dispositivo del usuario:
- Cookies HTTP (propias y de terceros)
- Almacenamiento local y almacenamiento de sesión
- IndexedDB
- Toma de huellas digitales del dispositivo
- Seguimiento de píxeles/balizas web
- ETags utilizadas para el seguimiento
Categorización de cookies
Categorías estándar
| Categoría | ¿Se requiere consentimiento? | Ejemplos | Estado predeterminado |
|---|---|---|---|
| Estrictamente necesario | No | Cookies de sesión, tokens CSRF, cookies de equilibrador de carga, autenticación | Siempre encendido |
| Funcional / preferencias | Sí | Preferencia de idioma, preferencia de tema, carrito guardado | Apagado (hasta consentimiento) |
| Análisis / rendimiento | Sí | Google Analytics, Hotjar, Plausible (con cookies) | Apagado (hasta consentimiento) |
| Marketing/publicidad | Sí | Google Ads, Facebook Pixel, cookies de retargeting | Apagado (hasta consentimiento) |
Auditando sus cookies
Antes de implementar el consentimiento, audite cada cookie que establezca su sitio web:
// Browser console: list all cookies
document.cookie.split(';').forEach(c => console.log(c.trim()));
// Or use a scanning tool
// cookiebot.com/en/cookie-checker
// 2gdpr.com
Documente cada cookie:
| Nombre de la galleta | Categoría | Propósito | Duración | Primera/tercera parte |
|---|---|---|---|---|
| CÓDIGO0 | Estrictamente necesario | Autenticación | Sesión | Primera fiesta |
| CÓDIGO0 | Estrictamente necesario | Actualización de token | 7 días | Primera fiesta |
| CÓDIGO0 | Estrictamente necesario | Preferencia de idioma | 1 año | Primera fiesta |
| CÓDIGO0 | Análisis | ID de visitante de Google Analytics | 2 años | Tercero (Google) |
| CÓDIGO0 | Comercialización | Seguimiento de píxeles de Facebook | 90 días | Tercero (Facebook) |
Implementación técnica
Opción 1: Plataforma de gestión de consentimiento (CMP)
| CMP | Nivel gratuito | Cumple con el RGPD | Socio de Google CMP | IAB TCF 2.2 |
|---|---|---|---|---|
| robot de galletas | Hasta 1 página | Sí | Sí | Sí |
| OneTrust | No | Sí | Sí | Sí |
| Osano | Hasta 5.000 visitantes | Sí | Sí | No |
| Trimestral | Plan básico | Sí | Sí | No |
| Script de cookies | Hasta 1 sitio | Sí | Sí | No |
Opción 2: Implementación personalizada
Para equipos que quieren control total:
// lib/cookie-consent.ts
type ConsentCategory = 'necessary' | 'functional' | 'analytics' | 'marketing';
interface ConsentPreferences {
necessary: true; // Always true, cannot be changed
functional: boolean;
analytics: boolean;
marketing: boolean;
timestamp: string;
version: string;
}
const CONSENT_COOKIE = 'ecosire_consent';
const CONSENT_VERSION = '2.0';
const CONSENT_DURATION = 365; // days
export function getConsent(): ConsentPreferences | null {
const cookie = document.cookie
.split(';')
.find(c => c.trim().startsWith(`${CONSENT_COOKIE}=`));
if (!cookie) return null;
try {
const prefs = JSON.parse(decodeURIComponent(cookie.split('=')[1]));
// Invalidate if consent version changed
if (prefs.version !== CONSENT_VERSION) return null;
return prefs;
} catch {
return null;
}
}
export function setConsent(preferences: Omit<ConsentPreferences, 'necessary' | 'timestamp' | 'version'>) {
const consent: ConsentPreferences = {
necessary: true,
...preferences,
timestamp: new Date().toISOString(),
version: CONSENT_VERSION,
};
const expires = new Date(Date.now() + CONSENT_DURATION * 86400000).toUTCString();
document.cookie = `${CONSENT_COOKIE}=${encodeURIComponent(JSON.stringify(consent))}; expires=${expires}; path=/; SameSite=Lax`;
// Apply consent decisions
applyConsent(consent);
return consent;
}
function applyConsent(consent: ConsentPreferences) {
if (consent.analytics) {
// Initialize Google Analytics
loadScript('https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX');
}
if (consent.marketing) {
// Initialize marketing pixels
loadScript('https://connect.facebook.net/en_US/fbevents.js');
}
if (!consent.analytics) {
// Remove analytics cookies
deleteCookie('_ga');
deleteCookie('_gid');
}
if (!consent.marketing) {
// Remove marketing cookies
deleteCookie('_fbp');
deleteCookie('_fbc');
}
}
Modo de consentimiento de Google v2
Requerido para Google Analytics y Google Ads en el EEE desde marzo de 2024:
<!-- Set default consent state BEFORE loading Google tags -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Default: deny all until user consents
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied',
'functionality_storage': 'denied',
'personalization_storage': 'denied',
'security_storage': 'granted', // Always granted (necessary)
'wait_for_update': 500 // Wait for CMP
});
</script>
<!-- Load Google Tag Manager -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
Cuando el usuario presta su consentimiento:
// Update consent state when user interacts with banner
function updateGoogleConsent(preferences) {
gtag('consent', 'update', {
'ad_storage': preferences.marketing ? 'granted' : 'denied',
'ad_user_data': preferences.marketing ? 'granted' : 'denied',
'ad_personalization': preferences.marketing ? 'granted' : 'denied',
'analytics_storage': preferences.analytics ? 'granted' : 'denied',
'functionality_storage': preferences.functional ? 'granted' : 'denied',
'personalization_storage': preferences.functional ? 'granted' : 'denied',
});
}
Requisitos de diseño de banners de consentimiento
Requisitos legales de la UE
- [] El banner aparece ANTES de que se establezcan cookies no esenciales
- [] Los botones "Aceptar todo" y "Rechazar todo" tienen la misma prominencia visual
- [] Selección granular de categorías disponible (no solo todo o nada)
- [] No hay casillas marcadas previamente para categorías no esenciales
- [] Explicación en lenguaje claro y sencillo de cada categoría.
- Enlace a la política de cookies completa
- [] Retiro del consentimiento accesible en cualquier momento (por ejemplo, enlace al pie de página)
- Sin muro de cookies (debe poder utilizar el sitio sin su consentimiento)
- [] Consentimiento registrado con marca de tiempo y versión.
Requisitos de accesibilidad
- El banner se puede navegar con el teclado
- Compatible con lector de pantalla (etiquetas ARIA)
- Contraste de color suficiente
- No bloquea el contenido esencial de forma permanente
Alternativa de análisis sin cookies
Para sitios web que quieran evitar por completo los banners de consentimiento de cookies:
| Herramienta | Galletas | Se necesita consentimiento del RGPD | Ubicación de datos | Precio |
|---|---|---|---|---|
| Plausible | Ninguno | No | UE | $9/mes |
| braza | Ninguno | No | UE/EE.UU./Canadá | $14/mes |
| umami | Ninguno | No | Autohospedado | Gratis |
| Análisis sencillos | Ninguno | No | UE | $9/mes |
| Matomo (configuración sin cookies) | Opcional | No (sin cookies) | Autohospedado | Gratis |
El uso de análisis sin cookies elimina la necesidad de consentimiento analítico, lo que simplifica su banner de consentimiento para que solo cubra las cookies de marketing (si se utilizan).
Preguntas frecuentes
¿Necesitamos un banner de cookies si solo utilizamos las cookies necesarias?
No. Si solo utiliza cookies estrictamente necesarias (autenticación, CSRF, equilibrio de carga), no se requiere consentimiento ni banner. Sin embargo, aún debes revelar estas cookies en tu política de privacidad. En el momento en que agrega análisis (Google Analytics) o cualquier seguimiento de terceros, un banner de consentimiento se vuelve legalmente obligatorio en la UE.
¿Es legal utilizar una "suscripción suave" (seguir navegando = dar consentimiento)?
No, no según el RGPD. El Comité Europeo de Protección de Datos ha declarado explícitamente que la navegación continua, el desplazamiento o acciones pasivas similares no constituyen un consentimiento válido. El consentimiento debe ser una acción afirmativa clara: hacer clic en un botón que diga "Aceptar" o similar. La aceptación suave se consideró no conforme en Planet49 (TJUE, 2019).
¿Cómo manejamos el consentimiento para aplicaciones de una sola página?
Para SPA, verifique el estado de consentimiento al cargar la página inicial y en cada cambio de ruta. Si no se ha dado el consentimiento, no inicialice los scripts de seguimiento. Almacene las preferencias de consentimiento en una cookie de origen (que a su vez es estrictamente necesaria para recordar el consentimiento). Cuando el usuario dé su consentimiento, inicialice los scripts de seguimiento sin necesidad de recargar la página.
¿Necesitamos consentimiento de cookies para nuestro sitio web Odoo?
Si su sitio web Odoo atiende a visitantes de la UE y utiliza análisis, píxeles de marketing o cookies funcionales más allá de lo estrictamente necesario, sí. Odoo tiene un aviso de cookies básico pero no cumple con los estándares GDPR. Implemente un CMP adecuado como Cookiebot o cree una solución personalizada. ECOSIRE proporciona servicios del sitio web de Odoo que incluyen el consentimiento de cookies que cumple con GDPR.
¿Qué viene después?
El consentimiento de las cookies es el aspecto más visible del cumplimiento de la privacidad web. Combínelo con privacidad por diseño para la arquitectura de su aplicación, gobernanza de datos para su programa de datos completo y regulaciones de ciberseguridad para un cumplimiento más amplio.
Comuníquese con ECOSIRE para la implementación del consentimiento de cookies y consultoría sobre cumplimiento de privacidad.
Publicado por ECOSIRE: ayuda a las empresas a implementar el cumplimiento de la privacidad en el que confían los usuarios.
Escrito por
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Haga crecer su negocio con ECOSIRE
Soluciones empresariales en ERP, comercio electrónico, inteligencia artificial, análisis y automatización.
Artículos relacionados
ERP para la industria química: seguridad, cumplimiento y procesamiento por lotes
Cómo los sistemas ERP gestionan los documentos SDS, el cumplimiento de REACH y GHS, el procesamiento por lotes, el control de calidad, el envío de materiales peligrosos y la gestión de fórmulas para empresas químicas.
ERP para comercio de importación/exportación: multidivisa, logística y cumplimiento
Cómo manejan los sistemas ERP cartas de crédito, documentación aduanera, incoterms, pérdidas y ganancias multidivisa, seguimiento de contenedores y cálculo de derechos para empresas comerciales.
Informes de sostenibilidad y ESG con ERP: Guía de cumplimiento 2026
Navegue por el cumplimiento de informes ESG en 2026 con sistemas ERP. Cubre CSRD, GRI, SASB, emisiones de alcance 1/2/3, seguimiento de carbono y sostenibilidad de Odoo.
Más de Compliance & Regulation
Ciberseguridad para el comercio electrónico: proteja su negocio en 2026
Guía completa de ciberseguridad de comercio electrónico para 2026. PCI DSS 4.0, configuración WAF, protección contra bots, prevención de fraude en pagos, encabezados de seguridad y respuesta a incidentes.
ERP para la industria química: seguridad, cumplimiento y procesamiento por lotes
Cómo los sistemas ERP gestionan los documentos SDS, el cumplimiento de REACH y GHS, el procesamiento por lotes, el control de calidad, el envío de materiales peligrosos y la gestión de fórmulas para empresas químicas.
ERP para comercio de importación/exportación: multidivisa, logística y cumplimiento
Cómo manejan los sistemas ERP cartas de crédito, documentación aduanera, incoterms, pérdidas y ganancias multidivisa, seguimiento de contenedores y cálculo de derechos para empresas comerciales.
Informes de sostenibilidad y ESG con ERP: Guía de cumplimiento 2026
Navegue por el cumplimiento de informes ESG en 2026 con sistemas ERP. Cubre CSRD, GRI, SASB, emisiones de alcance 1/2/3, seguimiento de carbono y sostenibilidad de Odoo.
Lista de verificación de preparación para la auditoría: Cómo preparar sus libros
Lista de verificación completa para la preparación de auditorías que cubre la preparación de los estados financieros, la documentación de respaldo, la documentación de controles internos, las listas de PBC de los auditores y los hallazgos comunes de las auditorías.
Guía australiana del GST para empresas de comercio electrónico
Guía completa del GST australiano para empresas de comercio electrónico que cubre el registro ATO, el umbral de $75 000, las importaciones de bajo valor, la presentación de BAS y el GST para servicios digitales.