Google analytics &引用;dataLayer.push";或用“声明”;数据层=";用于分析电子商务跟踪GTM

Google analytics &引用;dataLayer.push";或用“声明”;数据层=";用于分析电子商务跟踪GTM,google-analytics,e-commerce,google-tag-manager,enhanced-ecommerce,Google Analytics,E Commerce,Google Tag Manager,Enhanced Ecommerce,以下哪一项更为理想 我有一个感谢页面,我需要将我所有的交易销售信息加载到此页面,然后通过Google Tag Manager将其发布到Google Analytics 我是否使用下面的代码声明数据层并在GTM代码之前发布它 dataLayer = [{ 'ecommerce': { 'purchase': { 'actionField': { 'id': '40008', 'revenue': '90.00', },

以下哪一项更为理想

我有一个感谢页面,我需要将我所有的交易销售信息加载到此页面,然后通过Google Tag Manager将其发布到Google Analytics

我是否使用下面的代码声明数据层并在GTM代码之前发布它

dataLayer = [{
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': '40008',
        'revenue': '90.00',
      },
      'products': [{
        'name': 'Clothes',
        'price': '9.00',
        'category': 'Shirt',
        'quantity': 10.00,
       }]
    }
  }
}];
dataLayer.push({
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': '40008',
        'revenue': '90.00',
      },
      'products': [{
        'name': 'Clothes',
        'price': '9.00',
        'category': 'Shirt',
        'quantity': 10.00,
       }]
    }
  }
});
或者我是否将数据推送到自动创建的数据层中,并在GTM代码之后发布

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

有什么区别?我将通过一个“DOM就绪”事件将数据从数据层带到Google。

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


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

你能澄清Dom就绪和Pageview之间的区别吗?如果我在页面加载之前声明数据层,我会使用哪一个呢?页面视图(从GTM的角度来看)在浏览器点击GTM代码时发生(通常GTM直接集成在开头的body标记之后),因此这是第一次触发标记的机会。只有在加载页面(同名DOM)的情况下,DOM就绪才会发生在完整的结构之后,因此加载过程要晚很多。Windows加载(当所有连接的资源(如图像和css/脚本文件)都已加载时)是最后一次加载。如果在GTM代码段上方声明数据层,那么将使用页面视图触发器(页面视图作为触发器类型)。