[英]Google tag manager - is it possible to push into dataLayer via GTM tag?
[英]Google Tag manager dataLayer push not storing object
我已经阅读了几篇SO帖子以及docs和api 。 我的理解是,当您将事件对象.push()
放入其中时, dataLayer
全局对象的行为应类似于Array并增加大小。 根据这里的截图。
我的dataLayer对象不会像这样增长。 它存在于窗口中,我可以运行
dataLayer.push({'event': 'trackEvent'});
没有错误,只是它不会增加dataLayer的大小。
除了数组增长以外,我还能如何判断.push()
是否正常工作?
当检测到事件时,浏览器是否应该执行xhr请求?
GTM脚本在发送给Google之前,是否会根据GTM设置(标签/触发器)执行客户端逻辑? 也就是说,事件没有推送,因为它们没有通过验证。
如果要在localhost上进行测试,这有关系吗?
我该如何解决?
数据层是一个数组,所以是的,它的行为应类似于数组。 单个项目是对象。
它不应该执行xhr请求,因为GTM已捆绑并下载到您的页面中,所以不需要xhr。
GTM事件本身永远不会发送给Google(它们仅用于触发代码,然后标记可能会将数据发送给Google。它们不会自动映射到Google Analytics(分析)事件)。 它们未经验证,GTM只是修改push方法,以查看参数是否包含键“事件”(此时,GTM脚本的内部状态将使用新值进行更新)。
加载GTM后,数据层似乎发生了一些变化(您有start事件,但是没有gtm.dom或gtm.load),因此您可能要检查在GTM代码段后是否重新声明了数据层。 但是要实际调试问题,如果我们能够看到您如何嵌入GTM并设置数据层,这将有所帮助(如果有可能,我们可以浏览一下您的页面或显示相同问题的示例页面,那将是很有帮助)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.