He creado la siguiente variable javascript personalizada en Google Tag Manager:
function() { return {{Click Text}} || {{Click Element}}; } que utiliza las variables integradas Click Text y Click Element . Estoy usando esta variable como la etiqueta de una etiqueta, que se activa con cualquier clic.
Esto funciona perfectamente bien cuando las etiquetas se activan desde localhost y las etiquetas llegan correctamente a Google Analytics (estoy usando análisis universal). Sin embargo, para mi sitio web de producción, la etiqueta siempre aparece como (not set) en Google Analytics. ¿Qué causa esta discrepancia?
La razón por la que esto no funcionó para mí fue porque tenía una política de seguridad de contenido habilitada en mi sitio web de producción, y para que las variables javascript personalizadas funcionen con un CSP, necesitan script-src: 'unsafe-eval' en la política . Esto también fue difícil de depurar porque no se generó ningún error en la consola sobre el CSP que bloquea el script.
Para resolver esto, puede agregar lo anterior a la política o, alternativamente, usar plantillas de variables personalizadas para ejecutar javascript de una manera que no requiera una evaluación insegura. Desafortunadamente, esto no funciona para mi ejemplo usando {{Click Element}} , ya que no está permitido en la plantilla , pero funciona bien para otras situaciones en las que es posible que desee usar una variable de JavaScript personalizada.