【问题标题】:"dataLayer.push" or declare with "dataLayer =" for Analytics Ecommerce Tracking GTM“dataLayer.push”或使用“dataLayer =”声明用于分析电子商务跟踪 GTM
【发布时间】:2016-03-02 20:44:06
【问题描述】:

其中哪个更优化?

我有一个感谢页面,我需要将我的所有交易销售信息加载到此页面中,然后通过 Google 跟踪代码管理器将其发布到 Google Analytics。

我是否使用下面的代码声明 dataLayer 并将其发布在我的 GTM 代码之前?

dataLayer = [{
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': '40008',
        'revenue': '90.00',
      },
      'products': [{
        'name': 'Clothes',
        'price': '9.00',
        'category': 'Shirt',
        'quantity': 10.00,
       }]
    }
  }
}];

还是将数据推送到自动创建的 dataLayer 中并在我的 GTM 代码之后发布?

dataLayer.push({
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': '40008',
        'revenue': '90.00',
      },
      'products': [{
        'name': 'Clothes',
        'price': '9.00',
        'category': 'Shirt',
        'quantity': 10.00,
       }]
    }
  }
});

有什么区别?我将通过“DOM Ready”事件将数据从 dataLayer 获取到 Google。

【问题讨论】:

    标签: google-analytics e-commerce google-tag-manager enhanced-ecommerce


    【解决方案1】:

    您在 GTM 标记上方声明 dataLayer 以获得需要在页面加载时立即可用的信息。您将 dataLayer.push 用于添加在 GTM 标记之后的信息。

    坦率地说,我认为它在大多数用例中并没有太大的区别,但是如果您想确保在页面加载时数据可用,您应该声明一个 dataLayer。 DOM 就绪意味着源代码中的任何推送事件都已经发生,因此它可能对您没有任何影响。

    【讨论】:

    • 您能否阐明 Dom Ready 和 Pageview 之间的区别?如果我在页面加载之前声明 dataLayer,我想使用哪一个?
    • 页面浏览(从 GTM 的角度来看)在浏览器点击 GTM 代码时立即发生(通常 GTM 直接集成在开始的正文标签之后),因此这是第一次触发标签的机会.如果页面被加载(同名 DOM),则 DOM 就绪仅在完整结构之后发生,因此在加载过程中要晚很多。 Windows 加载(当所有连接的资产,如图像和 css/脚本文件已加载时)是最后加载的。如果您在 GTM sn-p 上方声明 dataLayer,那么您将使用页面视图触发器(以页面视图作为触发器类型)。
    猜你喜欢
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 2011-08-01
    相关资源
    最近更新 更多