1

其中哪一个更优化?

我有一个感谢页面,我需要将我所有的交易销售信息加载到这个页面中,然后通过谷歌标签管理器将其发布到谷歌分析。

我是否使用下面的代码声明 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。

4

1 回答 1

1

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

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

于 2016-03-02T21:19:48.517 回答