Saltar al contenido principal

Guía de implementación del consentimiento de cookies: gestión del consentimiento conforme a la ley

Implemente un consentimiento de cookies que cumpla con GDPR, ePrivacy, CCPA y regulaciones globales. Cubre banners de consentimiento, categorización de cookies e integración de CMP.

E
ECOSIRE Research and Development Team
|16 de marzo de 202610 min de lectura1.8k Palabras|

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.

Parte de nuestra serie Cumplimiento normativo y regulación

Leer la guía completa

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

RequisitoUE (GDPR + ePrivacidad)Reino Unido (PECR + RGPD del Reino Unido)EE. UU. (CCPA/leyes estatales)Brasil (LGPD)Canadá (PIPEDA)
Consentimiento previo para cookies no esencialesSí (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 consentimientoSíSíNo requerido (pero recomendado)SíRecomendado
Opciones granulares (por categoría)SíSíNo requeridoSíRecomendado
Igual protagonismo para aceptar/rechazarSíSíN/ASíN/A
Se permite el muro de cookiesNo (en la mayoría de los estados)NoN/ANoN/A
Se requiere registro de consentimientoSíSíNoSíSí
Plazo de renovación del consentimientoMáximo 12 mesesMáximo 12 mesesN/ANo especificadoNo especificado
Se requiere política de cookiesSí (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?EjemplosEstado predeterminado
Estrictamente necesarioNoCookies de sesión, tokens CSRF, cookies de equilibrador de carga, autenticaciónSiempre encendido
Funcional / preferenciasSíPreferencia de idioma, preferencia de tema, carrito guardadoApagado (hasta consentimiento)
Análisis / rendimientoSíGoogle Analytics, Hotjar, Plausible (con cookies)Apagado (hasta consentimiento)
Marketing/publicidadSíGoogle Ads, Facebook Pixel, cookies de retargetingApagado (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 galletaCategoríaPropósitoDuraciónPrimera/tercera parte
ecosire_authEstrictamente necesarioAutenticaciónSesiónPrimera fiesta
ecosire_refreshEstrictamente necesarioActualización de token7 díasPrimera fiesta
NEXT_LOCALEEstrictamente necesarioPreferencia de idioma1 añoPrimera fiesta
_gaAnálisisID de visitante de Google Analytics2 añosTercero (Google)
_fbpComercializaciónSeguimiento de píxeles de Facebook90 díasTercero (Facebook)

Implementación técnica

Opción 1: Plataforma de gestión de consentimiento (CMP)

CMPNivel gratuitoCumple con el RGPDSocio de Google CMPIAB TCF 2.2
robot de galletasHasta 1 páginaSíSíSí
OneTrustNoSíSíSí
OsanoHasta 5.000 visitantesSíSíNo
TrimestralPlan básicoSíSíNo
Script de cookiesHasta 1 sitioSí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:

HerramientaGalletasSe necesita consentimiento del RGPDUbicación de datosPrecio
PlausibleNingunoNoUE$9/mes
brazaNingunoNoUE/EE.UU./Canadá$14/mes
umamiNingunoNoAutohospedadoGratis
Análisis sencillosNingunoNoUE$9/mes
Matomo (configuración sin cookies)OpcionalNo (sin cookies)AutohospedadoGratis

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.

E

Escrito por

ECOSIRE Team

Redacción técnica

El equipo de redacción técnica de ECOSIRE escribe sobre Odoo ERP, comercio electrónico con Shopify, agentes de IA, analítica con Power BI, automatización con GoHighLevel y buenas prácticas de software empresarial. Nuestras guías ayudan a las empresas a tomar decisiones tecnológicas informadas.

ECOSIRE

Haga crecer su negocio con ECOSIRE

Soluciones empresariales en ERP, comercio electrónico, inteligencia artificial, análisis y automatización.

Más de Cumplimiento normativo y regulación

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.