【问题标题】:Google Tag Manager - (enhanced) e-commerce - how to load Javascript after <body> tag谷歌标签管理器 - (增强)电子商务 - 如何在 <body> 标签之后加载 Javascript
【发布时间】:2017-01-27 23:22:30
【问题描述】:

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

  1. 我们正在使用第三方系统上的网站 - 我的 HEAD 标记内的模板中已经有 Google 跟踪代码管理器,与 Universal (Google) Analytics 一起使用。但是,我们只想将电子商务交易(购买)数据导入 Analytics - 所以基本的电子商务跟踪就可以了,但我宁愿使用 Enhanced E-commerce 跟踪,因为它是更新 - 尽管我的直接需求只是跟踪购买。

所以,我需要将推送交易数据发送到dataLayer,但由于系统限制,我不能这样做。我只能在“结帐完成”页面的 BODY 标记末尾添加特殊的 Javascript 代码。

在线阅读,必须在HEAD中定义dataLayer,然后才能使用GTM代码。因为我不能这样做,所以我需要在 BODY 的末尾使用 Javascript 加载数据。

这可能吗,如果可以,怎么办?我想我可以使用这里提到的自定义 Javascript 变量来做到这一点:https://developers.google.com/tag-manager/enhanced-ecommerce#macro

  1. “宏”是否与上述链接中解释的“变量”相同?它说“宏”,但谷歌标签管理器允许我定义一个自定义“变量”,即“自定义 Javascript”。只需检查它们是否相同。

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

提前致谢!

【问题讨论】:

    标签: google-analytics google-tag-manager


    【解决方案1】:

    1 - 在 BODY 末尾的自定义 Javascript 中使用 dataLayer.push()。在交易数据中包含一个事件。

    例如:

        dataLayer.push( 'event' : 'custom.transaction', 'ecommerce': {} );
    

    您可以在此处查看电子商务对象结构: https://developers.google.com/tag-manager/enhanced-ecommerce#purchases

    dataLayer.push() 是在页面包含 Google Tag Manager 脚本后使用的,因此您无需在页面头部定义它。只需将您可用的电子商务数据转换为所需的结构。

    然后,您需要在 Google 跟踪代码管理器中设置使用/匹配您的事件值/名称的自定义事件触发器。

    然后创建一个使用此触发器的 Universal Analytics 事件代码。为类别、操作和标签设置您想要的任何内容。在更多设置 > 电子商务下,选中启用增强型电子商务,然后选中使用 dataLayer。

    此事件仅用于将电子商务数据传递到 Google Analytics(分析)。

    2 - 宏与变量相同。你是正确的自定义 JavaScript 变量就是你所追求的。

    3 - 代码位于 Google 跟踪代码管理器变量范围内,并在使用变量和/或 Google 跟踪代码管理器状态更改时执行。您不能使此代码在页面末尾运行。此代码还需要从页面访问/抓取值。为确保数据可用,您只能在设置为在 Window Loaded / DOM Ready 时触发的标记上使用此变量,具体取决于页面数据何时准备就绪。

    我建议使用 dataLayer.push() 并且仅在无法使用 dataLayer.push() 时使用自定义 Javascript 变量方法。

    【讨论】:

    • 非常感谢,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多