¿Qué es la CSP y por qué nos afecta en analítica web? CSP, navegadores y tracking web

Posted by Lucía Marín on Abr 8, 2026

Content Security Policy: En busca de los datos perdidos
Content Security Policy: En busca de los datos perdidos

La Content Security Policy (CSP) es una política de seguridad web que controla qué scripts, recursos y conexiones pueden ejecutarse en una página. Su objetivo principal es proteger las webs de vulnerabilidades, como los ataques de Cross-Site Scripting (XSS), asegurando que solo los recursos confiables sean cargados y ejecutados. En el contexto de Google Tag Manager (GTM), la CSP puede bloquear la ejecución de scripts de seguimiento si no están explícitamente permitidos, lo que puede interrumpir la recopilación de datos y afectar la precisión del tracking.

CSP, Navegadores y Tracking: ¿Por qué ahora todo “deja de funcionar”? (Y no es culpa de GTM)

La CSP y el nuevo paradigma de seguridad en navegadores

En los últimos meses, muchos equipos de Analítica, SEO, CRO y optimización de conversiones han detectado un problema aparentemente inexplicable: implementaciones que funcionaban correctamente durante meses —o incluso años— dejan de enviar datos de un día para otro. Google Tag Manager está bien configurado, los eventos se disparan, pero los datos no llegan a las herramientas de análisis.

Si has visto errores en el Debug View de GTM o en la consola del navegador indicando bloqueos de recursos, es probable que ya hayas identificado el verdadero origen del problema: la Content Security Policy (CSP).

Este fenómeno no es aislado ni puntual. Es una tendencia estructural impulsada por los cambios que los navegadores han implementado —especialmente Chrome— que está alterando de forma significativa cómo debemos plantear el tracking, la atribución de conversiones y la optimización de datos.

El contexto: no ha cambiado GTM, han cambiado los navegadores

Es fundamental aclararlo desde el inicio: GTM no ha cambiado. Lo que ha cambiado es cómo los navegadores aplican la seguridad.

En versiones recientes de Chrome (120+), se han endurecido las políticas de seguridad como la CSP, lo que ha llevado a:

  • Mayor restricción sobre scripts inline
  • Bloqueo de eval()
  • Refuerzo de mecanismos como Trusted Types
  • Mayor visibilidad de errores en la consola del navegador

Antes, muchas implementaciones funcionaban «por tolerancia». Hoy, solo funciona lo que está correctamente definido dentro de las reglas de seguridad del navegador, lo que afecta directamente a la visibilidad de tus píxeles y scripts de seguimiento.

¿Qué es la CSP y por qué impacta directamente al tracking?

La Content Security Policy (CSP) es una cabecera HTTP que actúa como un control de acceso para la ejecución de código JavaScript y la carga de recursos externos en tu página. Funciona como un portero que decide qué scripts pueden ejecutarse y desde qué dominios.

El punto clave para el tracking y la optimización de conversiones es este:

  • GTM no ejecuta todo directamente, sino que carga scripts externos (Google Analytics, Meta Pixel, etc.)
  • Esos scripts necesitan permisos explícitos en la política CSP
  • Si no están definidos → el navegador los bloquea sin avisar al usuario

Aquí el diagrama de flujo que explica qué ocurre exactamente cuando un usuario carga tu página:

Explicación de por qué la CSP o Content Security Policy podría estar afectando a tu medición con GTM client side
Explicación de por qué la CSP o Content Security Policy podría estar afectando a tu medición con GTM client side

Esto explica el síntoma más frecuente que reportan los equipos: «los eventos se disparan en GTM, pero no llegan datos a las plataformas de análisis». El evento se ejecuta, pero la conexión con los destinos está bloqueada por la CSP.

Las tres capas del tracking moderno: lo que ya no controlas

El tracking web ya no depende solo de GTM. Depende de tres capas que, en gran medida, están fuera de tu control directo:

CPS y medición web: capas que escapan a nuestro control

La CSP actúa como el punto de control central de esas tres capas. Si no está correctamente configurada, cualquier cambio en el navegador del usuario o en un servicio externo puede romper el flujo de datos completo.

¿Por qué estamos viendo más problemas (y por qué seguirán aumentando)?

Este no es un problema puntual sino una transformación estructural. Hay tres razones que lo explican:

1. Endurecimiento de la seguridad en los navegadores

Los navegadores, especialmente Chrome, están priorizando la seguridad del usuario sobre la flexibilidad técnica. Esto implica:

  • Menos tolerancia a configuraciones incorrectas
  • Mayor cumplimiento de los estándares W3C
  • Bloqueo activo de scripts no permitidos (ya no hay «errores silenciosos»)

2. Complejidad creciente del ecosistema de tracking

Las páginas web actuales suelen integrar múltiples plataformas de análisis y publicidad, cada una con sus propios scripts y dominios: GTM, GA4, Google Ads, Meta Pixel, TikTok, herramientas de experimentación como VWO u Optimizely, CDPs, chatbots, etc. Cada servicio nuevo que añades requiere que su dominio esté autorizado en la CSP. La CSP ya no es algo estático: es un sistema vivo que debe crecer con tu stack.

3. Diferencias entre navegadores

Los navegadores no aplican la CSP de forma idéntica, lo que genera inconsistencias difíciles de diagnosticar:

Navegador Nivel de Restricción CSP Impacto Común Fuente
Chrome Muy alto Bloqueo de recursos no permitidos (scripts inline, eval(), etc.) La implementación de CSP ha sido reforzada desde Chrome 120+. Esto incluye la restricción en los scripts inline, el uso de unsafe-eval, y bloqueos agresivos de recursos que no están explícitamente permitidos.
Edge Alto Menos bloqueos, aunque se observan algunos problemas con ITP (Intelligent Tracking Prevention) Microsoft Edge ha adoptado políticas similares a las de Chrome, pero con algunos ajustes en cómo maneja la privacidad del usuario y los bloqueos de cookies. No aplica las restricciones de forma tan estricta como Chrome.
Safari Alto + Privacidad Restricciones más estrictas con ITP y bloqueos de scripts inline Safari ha implementado Intelligent Tracking Prevention (ITP), lo que provoca bloqueos en los scripts de tracking, y su política de seguridad incluye restricciones adicionales a los scripts inline y el uso de eval().
Firefox Alto Errores de ejecución más técnicos y menos visibles Firefox se aplica CSP de manera similar a Chrome, pero tiene un enfoque más técnico y menos visual en cuanto a los errores. La ejecución puede fallar sin que el usuario vea errores evidentes

Un mismo tracking puede funcionar correctamente en Chrome y fallar en Safari, generando inconsistencias en los datos que afectan directamente a la fiabilidad de tus pruebas A/B y experimentos de optimización.

 

¿Qué está bloqueando realmente la CSP?

En la práctica, hay tres tipos de conflictos principales que debes conocer:

1. Scripts externos

Los scripts cargados desde dominios externos —como GTM o GA4— deben estar explícitamente permitidos en la directiva script-src de tu CSP:

script-src https://www.googletagmanager.com https://www.google-analytics.com

Si el dominio no está incluido, el script no se ejecuta.

2. Scripts inline (muy comunes en GTM)

Son los Custom HTML Tags o cualquier código JS añadido directamente en el <head>. Para permitirlos tienes tres opciones con distintos niveles de seguridad:

  • unsafe-inline → fácil de implementar, pero debilita la seguridad de la CSP
  • nonce → recomendado; genera un token único por carga de página que autoriza el script
  • hash → técnicamente correcto, pero poco práctico cuando los scripts cambian con frecuencia

En la mayoría de implementaciones con GTM, la solución recomendada es nonce, que permite autorizar scripts específicos sin abrir la puerta a cualquier inline.

3. Evaluación dinámica (eval)

Relacionado con el uso de Variables JS personalizadas en GTM. Si la CSP no incluye unsafe-eval, esas variables devolverán undefined aunque el código sea sintácticamente correcto. Es un error muy difícil de diagnosticar porque no falla de forma evidente.

¿Cómo identificar y corregir problemas de CSP?

Los bloqueos por CSP son visibles en las herramientas de desarrollo del navegador:

  1. Abre la consola del navegador (F12)
  2. Ve a la pestaña «Consola» y busca errores con el prefijo Content Security Policy
  3. Identifica qué recursos están siendo bloqueados y desde qué directiva
  4. Ajusta la política CSP para incluir los dominios relevantes en script-src, img-src y connect-src

Apóyate en Inteligencia Artificial más técnica (ej. Claude) Esta es una excelente práctica actual. Cuando entres a la consola de desarrollador (F12) de tu navegador, verás una lluvia de errores rojos de CSP. Puedes exportar o copiar todos esos dominios bloqueados y usar un modelo como Claude con este prompt: «Actúa como experto en seguridad web y analítica. Aquí tienes los errores de CSP que me da la consola de mi web al visitar mi web y al cargar por Google Tag Manager mis píxeles de conversión . Necesito que me generes las directivas script-src, img-src y connect-src necesarias para pasárselas al equipo de IT. Organízalas por dominio de manera ordenada. Usa wildcards (*) si sobrepasas los caracteres permitidos por una CSP estándar.»

(Consejo Top: prueba tus webs también en la conversión, suele haber más servicios y bloqueos enfuncionamiento)

Para ver los bloqueos pincha en los iconos de error (aspa X), que muestran dos formas de ver los mensajes:

Aspa consola ChromeMensajes error consola ChromeResumen mensajes de errores de página de Content Security Policy en consola de Chrome

Probar los cambios sin tocar el servidor: Local Overrides

Antes de modificar la configuración del servidor, puedes probar cambios en la CSP directamente en el navegador usando la función de Local Overrides de Chrome DevTools:

  1. Abre DevTools (F12) → pestaña Red
  2. Localiza la cabecera Content-Security-Policy en la respuesta
  3. Anula su valor localmente para testear si los recursos se cargan correctamente
  4. Verifica los resultados en tiempo real

Esto te permite validar la solución antes de desplegarla, sin riesgo de romper nada en producción.

Reflexión final: el tracking ha entrado en una nueva fase

El tracking web ya no es solo una cuestión de herramientas y configuraciones. Está directamente relacionado con la arquitectura de seguridad de los navegadores y la forma en que las IAs y los motores de búsqueda evalúan la calidad técnica de un sitio.

En el contexto actual —donde los modelos de lenguaje y los rastreadores de IA indexan contenido basándose también en señales técnicas de fiabilidad— una web con errores de CSP que impiden la carga correcta de scripts puede ser interpretada como un entorno técnicamente inconsistente.

Esto no afecta solo a tus datos de analítica: afecta a la coherencia de las señales que emite tu sitio hacia cualquier sistema que lo evalúe, ya sea un buscador tradicional o un motor de IA. Es decir, si no configuramos correctamente estas políticas, afectamos tanto la precisión de nuestros datos como la eficacia de nuestras estrategias de experimentación, de CRO y, en última instancia, la visibilidad del sitio en entornos de búsqueda generativa.

 

Fuentes y recursos

Documentación oficial

Herramientas de diagnóstico y auditoría

  • CSP Evaluator — herramienta de Google para analizar la seguridad de una política CSP
  • Security Headers — auditoría completa de cabeceras HTTP de seguridad

Recursos técnicos complementarios

Sobre mí