Google Analytics中没有数据(GTM ecomerce设置)

时间:2016-10-31 12:30:57

标签: google-analytics google-tag-manager

我在为新项目组织正确的GTM调试时遇到问题。我试图使用以下方法从他们的文档设置基本标记:

  <script>
// Measure a view of product details. This example assumes the detail view occurs on pageload,
// and also tracks a standard pageview of the details page.
dataLayer.push({
 'event': 'gtm.load',
 'ecommerce': {
   'detail': {
     'actionField': {'list': 'Apparel Gallery'},    // 'detail' actions have an optional list property.
     'products': [{
       'name': 'Triblend Android T-Shirt',         // Name or ID is required.
       'id': '12345',
       'price': '15.25',
       'brand': 'Google',
       'category': 'Apparel',
       'variant': 'Gray'
      }]
    }
  }
});
console.log("Pushed");
 </script>

作为跟踪代码,并设置基本GTM代码,如示例所示:https://developers.google.com/tag-manager/enhanced-ecommerce#details

使用Window Loaded事件类型作为触发器。

gtm调试器显示事件已触发..但谷歌分析中没有任何内容。

我还在检查,如果使用萤火虫向GA发送了一些消息,并且看起来像是发送了这些消息:

Sent beacon:
v=1&_v=j47d&a=681300097&t=pageview&_s=1&dl=http%3A%2F%2F192.168.0.107%2F%3Fproduct%3Dtest-product&ul=en-us&de=UTF-8&dt=test%20product&sd=24-bit&sr=1366x768&vp=1351x415&je=0&fl=22.0%20r0&_u=SCCAAAALI~&jid=&cid=247695807.1477915334&tid=UA-73812011-1&gtm=GTM-TWQ9DJ&pal=Apparel%20Gallery&pa=detail&pr1nm=Triblend%20Android%20T-Shirt&pr1id=12345&pr1pr=15.25&pr1br=Google&pr1ca=Apparel&pr1va=Gray&z=280618779

1 个答案:

答案 0 :(得分:1)

这里有几个选项,具体取决于您对页面代码的控制程度。如果您具有完全控制权,并且如果您希望在页面加载时加载ecom数据,则在GTM容器之前使用该数据执行dataLayer声明:

dataLayer = [{
   'ecommerce': {
      'detail': {
        'actionField': {'list': 'Apparel Gallery'},    // 'detail' actions have an optional list property.
       'products': [{
         'name': 'Triblend Android T-Shirt',         // Name or ID is required.
          'id': '12345',
          'price': '15.25',
          'brand': 'Google',
          'category': 'Apparel',
          'variant': 'Gray'
       }]
     }
   }
}];

这样做可以让您使用网页浏览标记捕获页面加载数据。

您不应该使用事件推送来执行此操作,尤其是对于名为gtm.load的事件,因为这是在页面资源完全加载时被推送的内置事件,因此您可能没有看到数据与您的“页面加载”存在冲突,因为现在有两个gtm.load事件被推送。

如果您仍然喜欢某个活动,那么只需使用其他名称即可。 myEvent,然后创建一个事件标记以触发该事件。

最后,不要忘记让您的代码使用dataLayer来捕获电子信息信息。