Política de Seguridad del Contenido (CSP) es un estándar de seguridad web ampliamente compatible que tiene como objetivo evitar ciertos tipos de ataques basados en la inyección, ya que les brinda a los desarrolladores control sobre los recursos que cargan sus aplicaciones. Usa esta guía para comprender cómo implementar Google Tag Manager en sitios que usan una CSP.
Habilita la etiqueta de contenedor para usar la CSP
Para usar Google Tag Manager en una página con una CSP, esta debe permitir la ejecución del código de contenedor de Tag Manager. Este código se compila como código JavaScript intercalado que inyecta la secuencia de comandos gtm.js. Existen varias formas de hacerlo, como el uso de un nonce o un hash. El método recomendado es usar un
nonce, que debe ser un valor aleatorio e imposible de adivinar que el servidor genera
de forma individual para cada respuesta. Proporciona el valor nonce en la directiva script-src de la Política de Seguridad del Contenido:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com www.google.com
Luego, usa la versión con reconocimiento de nonce del código de contenedor de Tag Manager intercalado. Configura el atributo nonce en el elemento de secuencia de comandos intercalado con este mismo valor:
<!-- Google Tag Manager -->
<script nonce='{SERVER-GENERATED-NONCE}'>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
Luego, Tag Manager propagará el nonce a cualquier secuencia de comandos que agregue a la página.
Existen otros enfoques para habilitar la ejecución de una secuencia de comandos intercalada, como proporcionar el hash de la secuencia de comandos intercalada en la CSP.
Si los enfoques recomendados de nonce o hash no son factibles, es posible
habilitar la secuencia de comandos intercalada de Tag Manager agregando la 'unsafe-inline'
directiva a la sección script-src de la CSP.
Se necesitan las siguientes directivas en la CSP para usar este enfoque:
| Directiva | Contenido |
|---|---|
| script-src | 'unsafe-inline' https://www.googletagmanager.com |
| img-src | www.googletagmanager.com |
| connect-src | www.googletagmanager.com www.google.com |
Variables de JavaScript personalizadas
Debido a la forma en que se implementan las variables de JavaScript personalizadas, se
evaluarán como undefined en presencia de una CSP, a menos que se proporcione la
'unsafe-eval' directiva en la sección script-src de la CSP.
| Directiva | Contenido |
|---|---|
| script-src | 'unsafe-eval' |
Modo de vista previa
Para usar el modo de vista previa de Google Tag Manager, la CSP debe incluir las siguientes directivas:
| Directiva | Contenido |
|---|---|
| script-src | https://googletagmanager.com https://tagmanager.google.com |
| style-src | https://googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com |
| img-src | https://googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com |
| font-src | https://fonts.gstatic.com data: |
Google Analytics 4
Para usar la etiqueta de Google Analytics 4, la CSP debe incluir las siguientes directivas. Los extremos marcados con 1 son específicamente para las Funciones publicitarias, pero te recomendamos que los incluyas durante la configuración inicial para que no sea necesario actualizar la CSP si vinculas Google Ads más adelante.
| Directiva | Contenido |
|---|---|
| script-src | https://*.googletagmanager.com |
| img-src | https://*.google-analytics.com https://*.googletagmanager.com https://*.g.doubleclick.net 1 https://*.google.com 1 https://*.google.<TLD> 1 |
| connect-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net 1 https://*.google.com 1 https://*.google.<TLD> 1 https://pagead2.googlesyndication.com 1 |
| frame-src | https://www.googletagmanager.com 1 |
1 Extremos publicitarios: Estos dominios solo son necesarios de forma activa para las implementaciones de GA4 que están vinculadas a Google Ads o que utilizan Funciones publicitarias.
Google Ads
Para usar una etiqueta de conversión, de remarketing o de vinculación de conversiones de Google Ads, la CSP debe incluir las siguientes directivas:
| Directiva | Contenido |
|---|---|
| script-src | https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com https://pagead2.googlesyndication.com https://googleads.g.doubleclick.net |
| img-src | https://www.googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com https://pagead2.googlesyndication.com https://www.googleadservices.com https://google.com https://www.google.<TLD> |
| frame-src | https://www.googletagmanager.com |
| connect-src | https://pagead2.googlesyndication.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://ad.doubleclick.net https://www.google.com https://google.com https://www.google.<TLD> |
Beacon de datos de usuario de Google Ads
Para usar los beacons de datos de usuario de Google Ads cuando se ejecutan en contextos seguros, la CSP debe incluir las siguientes directivas:
| Directiva | Contenido |
|---|---|
| script-src | https://www.googletagmanager.com |
| frame-src | https://www.googletagmanager.com |
| connect-src | https://google.com https://www.google.com |
El beacon de datos de usuario de Google Ads no se ejecuta en contextos no seguros, por lo que la configuración de CSP en esos casos no es aplicable.
Floodlight
Los usuarios de Floodlight pueden habilitar las CSP con las siguientes configuraciones. Reemplaza los valores
<FLOODLIGHT-CONFIG-ID> por un ID de anunciante de Floodlight específico o por * para permitir cualquier ID de anunciante:
Para todos los usuarios:
| Directiva | Contenido |
|---|---|
| img-src | https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com https://www.googletagmanager.com |
| frame-src | https://www.googletagmanager.com |
| connect-src | https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com https://ad.doubleclick.net |
Para los beacons de "secuencias de comandos personalizadas":
| Directiva | Contenido |
|---|---|
| frame-src | https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net |
Para las etiquetas de imagen:
| Directiva | Contenido |
|---|---|
| img-src | https://ad.doubleclick.net https://ade.googlesyndication.com |
Merchant Center
Para enviar datos a Merchant Center, la CSP debe incluir las siguientes directivas:
| Directiva | Contenido |
|---|---|
| script-src | https://*.googletagmanager.com |
| img-src | https://*.merchant-center-analytics.goog |
| connect-src | https://*.merchant-center-analytics.goog |
Service worker
Para usar el service worker para la coincidencia mejorada, los beacons de datos de usuario y las conversiones de Google Ads, la CSP debe incluir las siguientes directivas:
| Directiva | Contenido |
|---|---|
| frame-src | https://www.googletagmanager.com |
Soluciona problemas con Tag Assistant
Para solucionar problemas de la Política de Seguridad del Contenido (CSP), usa Tag Assistant. Tag Assistant mostrará la lista de recursos que bloquea tu Política de Seguridad del Contenido.
Abre Tag Assistant y, luego, ingresa la URL de tu sitio web. Se abrirá una nueva pestaña con tu sitio web.
Si la Política de Seguridad del Contenido de tu página bloquea un recurso, se mostrará un problema de CSP en la sección Problemas de la página de Tag Assistant.

Selecciona Ver problema junto al problema de CSP para ver la lista de todos los recursos bloqueados en tu página.

Agrega todos los recursos bloqueados a tu Política de Seguridad del Contenido.