Google Tag Manager自定义javascript变量在生产中的Google Analytics中设置不正确



我在Google Tag Manager中创建了以下自定义javascript变量:

function() {
return {{Click Text}} || {{Click Element}};
}

其使用内置变量CCD_ 1和CCD_。我使用这个变量作为标签,任何点击都会触发它。

当标签从localhost触发并且标签正确到达Google Analytics(我使用的是通用分析(时,这非常有效。然而,对于我的制作网站,标签在谷歌分析中总是显示为(not set)。造成这种差异的原因是什么?

这对我来说不起作用的原因是我在生产网站上启用了内容安全策略,为了让自定义javascript变量与CSP一起工作,他们需要在策略中使用script-src: 'unsafe-eval'。这也很难调试,因为控制台中没有出现关于CSP阻止脚本的错误。

要解决此问题,您可以将上述内容添加到策略中,也可以使用自定义变量模板以不需要不安全eval的方式运行javascript。不幸的是,这不适用于我使用{{Click Element}}的示例,因为它在模板中是不允许的,但它适用于您可能想要使用自定义javascript变量的其他情况。

最新更新