Google跟踪代码管理器 - (增强型)电子商务 - 如何在代码

时间:2017-01-27 23:22:31

标签: google-analytics google-tag-manager

我还在学习Google跟踪代码管理器和增强型电子商务跟踪,但我有几个问题,其中一些可能非常基本:

  1. 我们在第三方系统上使用网站 - 我已经在 HEAD 标记的模板中使用Google跟踪代码管理器,与Universal(Google)Analytics一起使用。但是,我们希望将电子商务交易(购买)数据放入Google Analytics中 - 因此基本的电子商务跟踪会很好,但我宁愿使用增强型电子商务跟踪它更新 - 即使我的直接要求只是跟踪购买。
  2. 所以,我需要将推送交易数据发送到dataLayer,但由于系统限制,我无法做到这一点。我只能在 BODY 标记的末尾添加特殊的Javascript代码,用于我的"结帐完成"页。

    在线阅读,必须在GTM代码到位之前在 HEAD 中定义dataLayer。由于我不能这样做,我需要在 BODY 的末尾使用Javascript加载数据。

    这是可能的,如果是这样的话怎么样?我想我可以使用这里提到的自定义Javascript变量来执行此操作:https://developers.google.com/tag-manager/enhanced-ecommerce#macro

    1. 是一个"宏"与变量"相同如上面的链接所解释的那样?它说"宏",但Google跟踪代码管理器允许我定义一个自定义"变量"这是"自定义Javascript"。只是检查这些是同一个。

    2. 如果我把它放在Google跟踪代码管理器中,这段代码实际上会在哪里运行?#34;第三方系统在脚本执行期间为我定义了一些变量,我不知道它在何时/何时(在结账感谢页的页面加载期间)它做到了,所以为了安全起见,我宁愿在 BODY 标记关闭之前,在页面末尾运行此脚本 - 如果我在HTML中使用普通Javascript手动执行此操作。在跟踪代码管理器中,我如何告诉Javascript在页面末尾运行"?

    3. 提前致谢!

1 个答案:

答案 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变量方法。