对于Google Analytics电子商务跟踪GTM,“dataLayer.push”或声明为“dataLayer =”

时间:2016-03-02 20:44:06

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

哪一个更优化?

我有一个感谢页面,我需要将所有交易促销信息加载到此页面,然后通过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。

1 个答案:

答案 0 :(得分:1)

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

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