La Política de Seguridad del Contenido (CSP) es una política de estándar de seguridad para prevenir ciertos tipos de ataques basados en inyecciones ya que brindan a los desarrolladores control sobre los recursos que cargan sus aplicaciones. Utiliza esta guía para comprender cómo implementar Google Tag Manager en sitios que usar un CSP.
Habilitar la etiqueta del contenedor para usar CSP
Para utilizar Google Tag Manager en una página con un CSP, el CSP debe permitir las
la ejecución del código del contenedor de Tag Manager. Este código se compila intercalado
Código JavaScript que inserta la secuencia de comandos gtm.js
Hay varias formas de hacer
esto, como el uso de un nonce o un hash. El método recomendado es usar una
nonce, que debe ser un valor aleatorio indescifrable que genera el servidor
individualmente para cada respuesta. Proporciona el valor del nonce en la columna
Directiva de la política script-src
:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com
A continuación, utiliza la versión con reconocimiento de nonce del código del contenedor intercalado de Tag Manager. Configura el atributo nonce en el elemento de la secuencia de comandos intercalada 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 integrada, como como proporcionar el hash de la secuencia de comandos intercalada en la CSP.
Si no es posible aplicar los enfoques recomendados de nonce o hash, es posible
Para habilitar la secuencia de comandos intercalada de Tag Manager, agrega 'unsafe-inline'
.
directiva a la sección script-src
del CSP.
Las siguientes directivas son necesarias en el CSP para usar este enfoque:
script-src: 'unsafe-inline' https://www.googletagmanager.com
img-src: www.googletagmanager.com
connect-src www.googletagmanager.com
Variables personalizadas de JavaScript
Debido a la forma en que se implementan las variables personalizadas de JavaScript,
evaluará el resultado como undefined
en presencia de un CSP, a menos que 'unsafe-eval'
se proporciona en la sección script-src
de la CSP.
script-src: 'unsafe-eval'
Modo de vista previa
Para utilizar el Modo de vista previa de Google Tag Manager, el CSP debe incluir las siguientes directivas:
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 (Google Analytics)
Para usar la etiqueta de Google Analytics 4 (Google Analytics), el CSP debe incluir el siguientes directivas:
script-src: https://*.googletagmanager.com
img-src: https://*.google-analytics.com https://*.googletagmanager.com
connect-src: https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com
Para las implementaciones de Google Analytics 4 (Google Analytics) con indicadores de Google, el La CSP debe incluir las siguientes directivas:
script-src: https://*.googletagmanager.com
img-src: https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com
https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD>
connect-src: https://*.google-analytics.com https://*.analytics.google.com
https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD>
frame-src: https://td.doubleclick.net
Universal Analytics (Google Analytics)
Para usar la etiqueta de Universal Analytics (Google Analytics), el CSP debe incluir lo siguiente: siguientes directivas:
script-src: https://www.google-analytics.com https://ssl.google-analytics.com
img-src: https://www.google-analytics.com
connect-src: https://www.google-analytics.com
Conversiones de Google Ads
Para utilizar una etiqueta de conversión de Google Ads, el CSP debe incluir lo siguiente: directivas:
Para conexiones seguras:
script-src: https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
img-src: https://googleads.g.doubleclick.net https://www.google.com https://google.com
frame-src: https://www.googletagmanager.com https://td.doubleclick.net
Para conexiones no seguras:
script-src: www.googleadservices.com www.google.com www.googletagmanager.com
img-src: googleads.g.doubleclick.net www.google.com google.com
Remarketing de Google Ads
Para utilizar una etiqueta de remarketing de Google Ads, la CSP debe incluir lo siguiente: directivas.
Para conexiones seguras:
script-src: https://www.googleadservices.com https://googleads.g.doubleclick.net https://www.google.com
img-src: https://www.google.com https://google.com
frame-src: https://bid.g.doubleclick.net https://td.doubleclick.net
Para conexiones no seguras:
script-src: www.googleadservices.com googleads.g.doubleclick.net www.google.com
img-src: www.google.com google.com
frame-src: bid.g.doubleclick.net td.doubleclick.net
Pixel contador de datos del usuario de Google Ads
Para utilizar los píxeles contadores de datos del usuario de Google Ads en contextos seguros, el CSP debe incluir las siguientes directivas:
script-src: https://www.googletagmanager.com
frame-src: https://www.googletagmanager.com
El píxel contador de datos del usuario de Google Ads no se ejecuta en contextos no seguros, por lo que la CSP configuración de red en esos casos no es aplicable.
Floodlight
Los usuarios de Floodlight pueden habilitar los CSP con los siguientes parámetros de configuración. Reemplazar
<FLOODLIGHT-CONFIG-ID>
con un valor
ID del anunciante de Floodlight o *
para permitir cualquier ID de anunciante:
Para todos los usuarios:
img-src: https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
frame-src: https://td.doubleclick.net
Para "secuencias de comandos personalizadas" píxeles contadores en Tag Manager:
frame-src: https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
En el caso de las etiquetas de imágenes:
img-src: https://ad.doubleclick.net
Para el modo de consentimiento:
img-src: https://ade.googlesyndication.com