Google Analytics中不会跟踪TagManager的DataLayer

时间:2013-12-16 15:08:55

标签: google-analytics google-tag-manager google-datalayer

我能够为tagmanager动态构建数据层。 但是Google Analytics中没有跟踪它。

根据google提供的文档,我们无需使用datalayer.push [],因为它在tagmanager代码之前呈现。 我的代码是:

<script>
dataLayer = [{
"transactionId": "4NOV2013_4830a18f-15fd-4cc5-a035-0e513d3f73bb",
"transactionAffiliation":"Registration",
"transactionTotal": 0,
"transactionProducts": [{
"sku": "Lead",
"name":"Lead",
"price": 0,
"quantity": 1
}]
    }];

</script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-DEMO"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-DEMO');</script>
<!-- End Google Tag Manager -->

2 个答案:

答案 0 :(得分:0)

Sridhar,您似乎列出了所有必需的参数,因此一旦正确设置了电子商务标签,这应该可行。确保为电子商务交易添加新标签:

  • 代码类型:Google / Universal Analytics
  • 跟踪类型:交易

来自Google跟踪代码管理器小组的完整official documentation

另外,请确保使用正确版本的GTM容器代码段。我可以看到您已使用 GTM-DEMO 替换了其中一个容器ID,但另一个仍然可见(html?id = GTM-KMSLVD )。

仔细检查容器是否正常工作,然后使用预览/调试功能查看标签是否与Chrome中的GA Debug一起显示(请参阅附图)。如果有任何错误(如参数类型),GA Debug将在浏览器控制台中列出所有错误消息。

enter image description here

答案 1 :(得分:-1)

您缺少几种电子商务语法,可以在Universal Analytics中使用。您是否阅读了https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce上的文档?

您现在拥有的只是GTM中保存的事务,因此有几种方法可以进行实际的事务处理。您可以在GTM中设置规则,以便在它看到dataLayer中的特定事件时触发事务,这看起来像您尝试过的那样?如果是这样,那么您需要创建一个规则,以便在看到此数据后触发该事务。

或者,您可以在结帐页面中发送整个交易,其中放置了dataLayer。

为了实现这一点,我所看到的是缺少的,就是对电子商务javascript库的调用。

ga('require', 'ecommerce', 'ecommerce.js');

此外,您不使用ga('ecommerce:send');发送交易。

使用ecommerce.js库时,Google文档中的一些关键组件是:

  

要加载电子商务插件,请使用以下命令:

ga('require', 'ecommerce', 'ecommerce.js');
  

在您创建跟踪器对象之后以及使用任何电子商务特定功能之前,必须执行此命令。

ga('ecommerce:addTransaction', {
  'id': '1234',                     // Transaction ID. Required.
  'affiliation': 'Acme Clothing',   // Affiliation or store name.
  'revenue': '11.99',               // Grand Total.
  'shipping': '5',                  // Shipping.
  'tax': '1.29'                     // Tax.
});

ga('ecommerce:addItem', {
  'id': '1234',                     // Transaction ID. Required.
  'name': 'Fluffy Pink Bunnies',    // Product name. Required.
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // Category or variation.
  'price': '11.99',                 // Unit price.
  'quantity': '1'                   // Quantity.
});

ga('ecommerce:send');

更新:在提问者发表评论后,我想将此添加到我的答案中。需要做的是设置要在GTM中跟踪的事务本身。为此,请按照以下步骤操作:

  1. 创建一个新标签并为其命名,例如“Track transaction”。
  2. 选择“Universal Analytics”作为代码类型
  3. 选择“交易”作为曲目类型
  4. 添加新规则并为其命名,例如“转化页”
  5. 输入网址包含“感谢页面”并添加其他字段
  6. 输入事件等于gtm.dom
  7. 保存并发布,看看这是否解决了您的问题。