如何在Google Tag Manager中测试数据层变量?

11
在谷歌标签管理器中,我已经设置了一些数据层变量。如何测试这些变量所接收到的数据是否符合我的预期?因此,我想要验证数据是否正在被收集到dataLayer对象中(可以使用Firebug等工具),但更重要的是,我想要知道GTM是否正在接收数据,宏和规则是否按照预期执行等。
因此,在网站上,我有以下代码:
dataLayer = [];

dataLayer.push({
    'city': 'city name',
    'state': 'state name',
    'subtotalCost': 'subtotal $',
    'salesTax': 'sales tax $'
});

然后在此之后,我有一个加载gtm.js的GTM代码。看起来这个实现是正确的,但是我想测试数据层变量的值是否按预期传递。我应该在哪里检查这个呢?


dataLayer = window.dataLayer || [];良好的实践备注 - Ante
2个回答

17

控制台是你的好朋友。我的建议是在 dataLayer.push 后输入 dataLayer 到控制台,然后点击数组中的最后一个对象,你将会看到你的数值。

例如,我将 dataLayer.push 放在了 onclick 事件上,并运行了 dataLayer ,我能够看到这个结果。虽然他们是静态数值,但你已经有了想法。

图片描述

更新:

Google Tag Manager 已经升级了他们的调试器,允许你看到传递到 GTM 的 NamesValues

图片描述


我感谢您的回答,但我想要验证数据是否按预期传递到GTM,并且规则等是否都设置正确。 - matthewpavkov
你已经创建了city、salesTax、state和subtotal的dataLayer变量宏吗?你是如何触发dataLayer.push的?是在onload还是onclick事件中?看起来好像没有事件。最终,你需要将这些值传递到标签(Google Analytics,Universal Analytics)中,然后转到第三方应用程序并查看正在传播的数据。 - Blexy
1
谢谢@Blexy。我一直在尝试找出如何调试/测试dataLayer。你的答案很有帮助。 - breezy
@Blexy,你知道datalayer数据是如何发送到Google的吗?我尝试使用每个datalayer.push检查网络选项卡来查看发送数据的请求,但我无法找到它。 - awm

7
有一个名为Google标签助手的Chrome扩展,可以帮助您检查标签是否被触发以及检查通过dataLayer传递的数据。
我之前已经在使用这个扩展,但是没有看到我的自定义数据层变量。但是,在Google标签助手中,如果您深入挖掘标签,就可以看到其他信息(自定义变量等)。请注意,您需要确保标签先被触发。

1
@Hugo 插件可能不能满足每个人的需求,但正如我所说,它确实可以显示数据。与其对我的回答进行负面评价,为什么不提供一个更好的答案呢? - matthewpavkov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接