Google 跟踪代码管理器中带有变量的自定义 HTML 代码
Custom HTML tag in Google Tag Manager with variables
我的 Google 标签管理器中有一个自定义 html 标签
<script>const d = 'sdfsf'; console.log(d);</script>
现在我希望 sdfsf
成为一个变量,从我的 HTML 传递给 GTM,我的 HTML 那里有 GTM 初始化代码段。无论如何都可以实现吗?
当然可以。使用 dataLayer 事件。您将一个新事件推送到 dataLayer 和某些变量。在 GTM 中,您为要从 GTM 访问的每个 属性 声明变量,并将该事件用作触发器。
这里,看一下:https://developers.google.com/tag-manager/devguide 解释得很好。
GTM 支持在 GTM 中使用变量。除了 Cthulchu 已经描述的“常规”dataLayer 方法:
window.dataLayer = window.dataLayer || [];
window.datalayer.push({
"event":"upDateD",
"d":"customValueForD"
})
在第一行确保数据层变量存在或已声明的情况下,有效载荷作为对象推送,“事件”键提醒 GTM 将其内部变量更新为“d”可用作GTM 中的变量。
然后你必须转到 GTM 中的“变量”部分,select“新”,select“dataLayer”变量类型,并为其命名 - 保持一致让我们使用“d”,然后输入“d”作为数据层键。
现在您可以通过将变量名称括在双大括号中来在 GTM 标签中使用该值:
<script>console.log({{d}});</script>
另一种方法是使用“Javascript”变量类型,将其设置为全局命名空间中存在的 JS 变量的名称。您可以使用与数据层变量相同的方式。
数据层主要作为自己的命名空间,封装变量名,避免命名冲突。如果您的变量已经存在并且在 GTM 之外使用,那么我认为节省几行并使用“Javascript”变量类型没有任何问题(只要确保您不会将其与“Custom Javascript" 类型,允许您定义匿名函数并使用 return 值。
我的 Google 标签管理器中有一个自定义 html 标签
<script>const d = 'sdfsf'; console.log(d);</script>
现在我希望 sdfsf
成为一个变量,从我的 HTML 传递给 GTM,我的 HTML 那里有 GTM 初始化代码段。无论如何都可以实现吗?
当然可以。使用 dataLayer 事件。您将一个新事件推送到 dataLayer 和某些变量。在 GTM 中,您为要从 GTM 访问的每个 属性 声明变量,并将该事件用作触发器。
这里,看一下:https://developers.google.com/tag-manager/devguide 解释得很好。
GTM 支持在 GTM 中使用变量。除了 Cthulchu 已经描述的“常规”dataLayer 方法:
window.dataLayer = window.dataLayer || [];
window.datalayer.push({
"event":"upDateD",
"d":"customValueForD"
})
在第一行确保数据层变量存在或已声明的情况下,有效载荷作为对象推送,“事件”键提醒 GTM 将其内部变量更新为“d”可用作GTM 中的变量。
然后你必须转到 GTM 中的“变量”部分,select“新”,select“dataLayer”变量类型,并为其命名 - 保持一致让我们使用“d”,然后输入“d”作为数据层键。
现在您可以通过将变量名称括在双大括号中来在 GTM 标签中使用该值:
<script>console.log({{d}});</script>
另一种方法是使用“Javascript”变量类型,将其设置为全局命名空间中存在的 JS 变量的名称。您可以使用与数据层变量相同的方式。
数据层主要作为自己的命名空间,封装变量名,避免命名冲突。如果您的变量已经存在并且在 GTM 之外使用,那么我认为节省几行并使用“Javascript”变量类型没有任何问题(只要确保您不会将其与“Custom Javascript" 类型,允许您定义匿名函数并使用 return 值。