我还在学习Google跟踪代码管理器和增强型电子商务跟踪,但我有几个问题,其中一些可能非常基本:
所以,我需要将推送交易数据发送到dataLayer,但由于系统限制,我无法做到这一点。我只能在 BODY 标记的末尾添加特殊的Javascript代码,用于我的"结帐完成"页。
在线阅读,必须在GTM代码到位之前在 HEAD 中定义dataLayer。由于我不能这样做,我需要在 BODY 的末尾使用Javascript加载数据。
这是可能的,如果是这样的话怎么样?我想我可以使用这里提到的自定义Javascript变量来执行此操作:https://developers.google.com/tag-manager/enhanced-ecommerce#macro
是一个"宏"与变量"相同如上面的链接所解释的那样?它说"宏",但Google跟踪代码管理器允许我定义一个自定义"变量"这是"自定义Javascript"。只是检查这些是同一个。
如果我把它放在Google跟踪代码管理器中,这段代码实际上会在哪里运行?#34;第三方系统在脚本执行期间为我定义了一些变量,我不知道它在何时/何时(在结账感谢页的页面加载期间)它做到了,所以为了安全起见,我宁愿在 BODY 标记关闭之前,在页面末尾运行此脚本 - 如果我在HTML中使用普通Javascript手动执行此操作。在跟踪代码管理器中,我如何告诉Javascript在页面末尾运行"?
提前致谢!
答案 0 :(得分:2)
1 - 在BODY末尾的自定义Javascript中使用dataLayer.push()。在此包含事务数据的事件。
例如:
dataLayer.push( 'event' : 'custom.transaction', 'ecommerce': {} );
您可以在此处查看电子商务对象结构: https://developers.google.com/tag-manager/enhanced-ecommerce#purchases
在页面上包含Google跟踪代码管理器脚本之后使用dataLayer.push(),因此您无需在页面顶部定义它。只需将您可用的电子商务数据翻译成所需的结构即可。
然后,您需要在Google跟踪代码管理器中设置一个使用/匹配您的事件值/名称的自定义事件触发器。
然后创建使用此触发器的通用分析事件代码。设置您想要的类别,动作和标签。在更多设置下>电子商务,选中启用增强型电子商务,然后选中使用dataLayer。
此活动仅用于将Ecomemrce数据传递到Google Analytics。
2 - Macro与Variable相同。你是正确的自定义JavaScript变量是你所追求的。
3 - 代码位于Google跟踪代码管理器变量范围内,并在使用变量和/或使用Google跟踪代码管理器状态更改时执行。您无法在页面末尾运行此代码。此代码还需要从页面访问/抓取值。为确保数据可用,您只能在设置为在Window Loaded / DOM Ready上触发的标记上使用此变量,具体取决于页面数据何时准备就绪。
我建议使用dataLayer.push(),如果无法使用dataLayer.push(),则只使用自定义Javascript变量方法。