繁体   English   中英

Google跟踪代码管理器dataLayer推送未存储对象

[英]Google Tag manager dataLayer push not storing object

我已经阅读了几篇SO帖子以及docsapi 我的理解是,当您将事件对象.push()放入其中时, dataLayer全局对象的行为应类似于Array并增加大小。 根据这里的截图。

我的dataLayer对象不会像这样增长。 它存在于窗口中,我可以运行

dataLayer.push({'event': 'trackEvent'});

没有错误,只是它不会增加dataLayer的大小。

除了数组增长以外,我还能如何判断.push()是否正常工作?

当检测到事件时,浏览器是否应该执行xhr请求?

GTM脚本在发送给Google之前,是否会根据GTM设置(标签/触发器)执行客户端逻辑? 也就是说,事件没有推送,因为它们没有通过验证。

如果要在localhost上进行测试,这有关系吗?

我该如何解决?

Google Tag Assistant扩展 在此处输入图片说明

数据层是一个数组,所以是的,它的行为应类似于数组。 单个项目是对象。

它不应该执行xhr请求,因为GTM已捆绑并下载到您的页面中,所以不需要xhr。

GTM事件本身永远不会发送给Google(它们仅用于触发代码,然后标记可能会将数据发送给Google。它们不会自动映射到Google Analytics(分析)事件)。 它们未经验证,GTM只是修改push方法,以查看参数是否包含键“事件”(此时,GTM脚本的内部状态将使用新值进行更新)。

加载GTM后,数据层似乎发生了一些变化(您有start事件,但是没有gtm.dom或gtm.load),因此您可能要检查在GTM代码段后是否重新声明了数据层。 但是要实际调试问题,如果我们能够看到您如何嵌入GTM并设置数据层,这将有所帮助(如果有可能,我们可以浏览一下您的页面或显示相同问题的示例页面,那将是很有帮助)。

我的同事能够加载预览模式并验证将事件推送到dataLayer中。 显然,duckduckgo扩展程序阻止了预览模式任务栏的加载。

我将与DDG团队一起将其作为Bug打开。

对于将来的搜索者,您应该能够轻松启动gtm预览模式。 您会在屏幕截图中看到网络事件。 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM