Google analytics Google analytics中未跟踪TagManager的数据层

Google analytics Google analytics中未跟踪TagManager的数据层,google-analytics,google-tag-manager,google-datalayer,Google Analytics,Google Tag Manager,Google Datalayer,我能够为tagmanager动态构建数据层。 但谷歌分析并没有对其进行跟踪 根据google提供的文档,我们不需要使用datalayer.push[],因为它是在tagmanager代码之前呈现的。 我的代码是: <script> dataLayer = [{ "transactionId": "4NOV2013_4830a18f-15fd-4cc5-a035-0e513d3f73bb", "transactionAffiliation":"Registration", "trans

我能够为tagmanager动态构建数据层。 但谷歌分析并没有对其进行跟踪

根据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 -->

数据层=[{
“交易ID”:“2013年11月4日\u 4830a18f-15fd-4cc5-a035-0E513D3F73B”,
“交易关系”:“注册”,
“transactionTotal”:0,
“交易产品”:[{
“sku”:“潜在客户”,
“名称”:“潜在客户”,
“价格”:0,
“数量”:1
}]
}];
(函数(w,d,s,l,i){w[l]=w[l]||【】;w[l]。推送({'gtm.start':
new Date().getTime(),事件:'gtm.js'});var f=d.getElementsByTagName[0],
j=d.createElement,dl=l!=“数据层”?“&l=”+l:“”;j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(窗口、文档、“脚本”、“数据层”、“GTM-DEMO”);

您缺少几个用于通用分析的电子商务语法。你有没有读过有关的文件

您现在所拥有的基本上只是GTM中保存的事务,因此有几种方法可以进行实际事务。如果GTM在数据层中看到特定事件,您可以在GTM中设置规则来触发事务,这与您尝试过的类似?如果是这样,那么您需要创建一个规则,一旦事务看到这些数据就触发它

或者,您可以在数据层本身所在的签出页面中发送整个事务

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

ga('require', 'ecommerce', 'ecommerce.js');
此外,您不使用
ga('ecommerce:send')发送交易本身

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

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

此命令必须在创建跟踪器对象之后和使用任何特定于电子商务的功能之前执行

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

  • 创建一个新标记并将其命名,例如,“跟踪事务”
  • 选择“通用分析”作为标记类型
  • 选择“交易”作为跟踪类型
  • 添加新规则并将其命名,例如,“转换页”
  • 输入包含“谢谢页面”的URL并添加另一个字段
  • 输入event=gtm.dom

  • 保存并发布,看看这是否解决了您的问题

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

    • 标签类型:Google/Universal Analytics
    • 跟踪类型:交易
    全部来自谷歌标签管理团队

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

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


    您使用的是什么音轨类型?你的规则是什么样子的?规则?它的abt跟踪交易。我们有规则设置,我们可以在谷歌分析GA调试器chrome扩展中确认。上面的代码看起来像是常规通用分析电子商务交易的代码。我们正在关注这些文件,请帮助我们进一步发展。我明白了。您是否设置了要触发的标记,以便在触发事件gtm.dom后跟踪事务?我们没有使用gtm push,而是直接传递变量。我认为我们在某些格式层面上有所欠缺。不确定仍在努力解决的问题是什么。如果这可能解决您的问题,请参阅我的附录。是否可能是可选的事务数据层变量(例如transactionTax)仍必须包含在数据层中,但仅包含空值?
    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');