1

我有一个关于 gtm 的问题。

所以目前我创建了一个脚本,可以将我需要的所有数据创建到数据层中,这就是数据层的样子(来自页面源代码):

<script> 
dataLayer = [{"visitorLoginState":"Logged out","visitorType":"NOT LOGGED     IN","visitorLifetimeValue":0,"visitorExistingCustomer":"No"}];
</script>

但所有这些都是从我的商店生成的,但关键是能够通过 GTM 使用这些变量。

所以在 GTM UI 中我创建了一个自定义的 html 标签并添加了:

<script>
dataLayer.push({'event': 'visitorLoginState'});
</script>

我还创建了一个名为“visitorLoginState”的自定义宏-> 数据层变量,希望它在响应中显示“NO”而不是 visitorLoginState。但它只显示“visitorLoginState”

4

1 回答 1

0

我也是 GTM 的新手,并且已经掌握了这一切。

从我所见,您似乎错误地使用了宏和 dataLayer。

您正在运行一个脚本以向数据层添加另一行名为 event 的行,同时已经在数据层中声明了您想要的内容。因此,最初源中的输出将类似于:

visitorLoginState: Logged Out
visitortype: Not Logged In
ETC...

使用您在 GTM 中添加的脚本,它将转到:

visitorLoginState: Logged Out
visitortype: Not Logged In
event: visitorLoginState
ETC

您要做的实际上是创建一个名为 visitorLoginState 的宏,该宏具有数据层变量的类型,使用 visitorLoginState 的数据层变量名称(等等)。

从那里您可以在 GTM 中创建一个规则,该规则将根据数据层中返回的内容激活某些内容。

所以你的规则可能是:

visitorLoginState equals Logged out.

然后你可以将你的脚本放在 GTM 的标签部分中,它会说:

 <script>
 dataLayer.push({'event': 'No'});
 </script>
于 2013-07-10T07:59:15.103 回答