我的 Google 跟踪代码管理器中有一个自定义 html 代码
<script>const d = 'sdfsf'; console.log(d);</script>
现在我希望 sdfsf
成为一个变量,从我的 HTML 传递到 GTM,其中我有 GTM 初始化代码段。无论如何都可以实现吗?
最佳答案
GTM 支持在 GTM 中使用变量。除了 Cthulchu 已经描述的“常规”dataLayer 方法:
window.dataLayer = window.dataLayer || [];
window.datalayer.push({
"event":"upDateD",
"d":"customValueForD"
})
在第一行确保数据层变量存在或被声明的地方,有效载荷被作为一个对象推送,“event”键提醒 GTM 更新它的内部变量,“d”作为一个变量可用GTM。
然后您必须转到 GTM 中的“变量”部分,选择“新建”,选择“dataLayer”变量类型,并为其命名 - 为了保持一致,我们使用“d”,然后输入“d”作为数据层键。
现在您可以通过将变量名称括在双大括号中来在 GTM 标签中使用该值:
<script>console.log({{d}});</script>
另一种方法是使用“Javascript”变量类型,您将其设置为全局命名空间中存在的 JS 变量的名称。您可以像 dataLayer 变量一样使用。
数据层主要作为自己的命名空间,封装变量名,避免命名冲突。如果您的变量已经存在并且在 GTM 之外使用,那么我认为节省几行并使用“Javascript”变量类型没有任何问题(只要确保您不会将其与“Custom Javascript”类型混淆,后者允许您定义匿名函数并使用返回值)。
关于html - Google 跟踪代码管理器中带有变量的自定义 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68710011/