Skip to main content

Bloqueo automático de scripts: cómo funciona el bloqueo previo al consentimiento

El bloqueo automático de scripts (también llamado bloqueo previo al consentimiento o auto-bloqueo) impide que los scripts no esenciales se ejecuten hasta que el usuario haya otorgado su consentimiento. Se trata de un requisito legal establecido en el artículo 5(3) de la Directiva ePrivacy: no se pueden colocar cookies ni tecnologías de seguimiento en el dispositivo de un usuario sin su consentimiento previo e informado, salvo que sean estrictamente necesarias para el servicio que el usuario ha solicitado.

Sin el bloqueo automático, un sitio web que carga Google Analytics, Facebook Pixel o cualquier script de marketing de terceros establecerá cookies y recopilará datos antes de que el usuario haya tenido la oportunidad de tomar una decisión sobre su consentimiento. Esto constituye una infracción de cumplimiento, se muestre o no un banner de consentimiento.

Por qué el etiquetado manual de scripts no es suficiente

El enfoque tradicional para la carga de scripts basada en el consentimiento exige que los desarrolladores etiqueten manualmente cada script del sitio. Cada script debe modificarse para evitar que se cargue de forma predeterminada y activarse condicionalmente cuando el usuario da su consentimiento a la categoría correspondiente. Esto normalmente implica cambiar type="text/javascript" por type="text/plain" y añadir un atributo de datos que indique la categoría de consentimiento.

Este enfoque presenta problemas graves:

  • Cada nuevo script añadido al sitio debe etiquetarse manualmente. Si un equipo de marketing añade un nuevo píxel de seguimiento a través de un gestor de etiquetas, este se activará sin consentimiento a menos que alguien recuerde configurar la regla de bloqueo.
  • Los scripts de terceros suelen cargar scripts adicionales de forma dinámica. Bloquear el script principal no bloquea necesariamente los scripts secundarios que este habría cargado.
  • Los scripts en línea integrados en el HTML de la página no pueden interceptarse con facilidad.
  • El enfoque es frágil. Un solo script que se pase por alto significa una recopilación de datos no conforme.

Cómo funciona el bloqueo automático

Una plataforma de gestión del consentimiento con bloqueo automático adopta un enfoque diferente. En lugar de exigir que los desarrolladores etiqueten scripts individuales, la CMP intercepta toda la carga de scripts a nivel del navegador y bloquea todo aquello que no sea estrictamente necesario.

El proceso funciona de la siguiente manera:

  1. La CMP se carga como el primer script en la sección <head> de la página, antes que cualquier otro script.
  2. Intercepta los mecanismos de carga de scripts del navegador, incluidos document.createElement('script'), la ejecución de scripts en línea y los scripts inyectados de forma dinámica.
  3. Cada script se coteja con una base de datos de clasificación. Los scripts procedentes de dominios conocidos de analítica, publicidad y redes sociales se identifican y categorizan.
  4. Los scripts clasificados como no esenciales se mantienen en una cola. No se ejecutan, no establecen cookies y no realizan solicitudes de red.
  5. Cuando el usuario otorga su consentimiento para una categoría concreta, los scripts en cola de esa categoría se liberan y se les permite ejecutarse con normalidad.
  6. Si el usuario rechaza una categoría, los scripts de esa categoría permanecen bloqueados durante toda la sesión.

Qué se bloquea

El bloqueo automático suele clasificar los scripts en cuatro categorías alineadas con las categorías estándar de consentimiento de cookies:

Categoría Ejemplos Bloqueado antes del consentimiento
Estrictamente necesarias Procesadores de pago, autenticación, gestión de sesiones, la propia CMP No (siempre permitidos)
Analítica Google Analytics, Hotjar, Matomo, Plausible
Marketing Google Ads, Facebook Pixel, LinkedIn Insight, TikTok Pixel
Preferencias Preferencias de idioma, personalización de la interfaz, herramientas de test A/B

El problema del momento de carga

Para que el bloqueo automático funcione correctamente, la CMP debe ser el primerísimo script que se carga en la página. Si algún script no esencial se carga antes que la CMP, se ejecutará sin consentimiento. Por eso la etiqueta del script de la CMP no debe utilizar los atributos defer ni async, y debe aparecer antes que cualquier otro script en la sección <head>.

Esta es la misma arquitectura que utilizan todas las CMP conformes: Cookiebot, OneTrust, CookieYes y Passiro requieren la carga síncrona como primer script en el encabezado del documento.

Interacción con Google Consent Mode

El bloqueo automático de scripts funciona junto con Google Consent Mode v2. Mientras que Consent Mode ajusta el comportamiento de las propias etiquetas de Google cuando se deniega el consentimiento (pasando a una medición sin cookies), el bloqueo automático impide por completo que se ejecute cualquier script no esencial.

Ambos mecanismos son complementarios: Consent Mode gestiona las etiquetas de Google de forma elegante (permitiendo conversiones modeladas), mientras que el auto-bloqueo se encarga de todo lo demás (píxeles de terceros, widgets sociales, scripts publicitarios de proveedores ajenos a Google).

El bloqueo automático y Passiro

Passiro incluye el bloqueo automático de scripts en su widget de consentimiento gratuito. Cuando el script de Passiro se carga, identifica y bloquea los scripts no esenciales antes de que puedan ejecutarse. No se requiere ningún etiquetado manual de scripts.

La base de datos de clasificación se construye sobre la lista de bloqueo comunitaria EasyPrivacy (GPL-3.0), que cubre ~4.900 dominios de rastreadores, analítica y publicidad y se actualiza a diario. Esto es considerablemente más amplio que las listas propietarias seleccionadas que utilizan la mayoría de las CMP comerciales: Cookiebot, OneTrust y otras suelen basarse en bases de datos un orden de magnitud más pequeñas.

Combinado con IAB TCF v2.3 y Google Consent Mode v2, el bloqueo automático garantiza que no se recopilen datos antes de otorgar el consentimiento, cumpliendo los requisitos del artículo 5(3) de la Directiva ePrivacy y del artículo 6 del GDPR.

¿Cumple tu sitio web con la normativa de cookies?

Escanea tu sitio web gratis y encuentra todas las cookies en minutos.

Escanea tus cookies gratis