【问题标题】:DataLayer for TagManager is not tracked in Google analyticsGoogle 分析中未跟踪 TagManager 的 DataLayer
【发布时间】:2013-12-16 15:08:55
【问题描述】:

我能够为 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 -->

【问题讨论】:

  • 您使用的是什么轨道类型?你的规则是什么样的?
  • 规则?它是在跟踪交易。

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


【解决方案1】:

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

  • 标签类型:Google/Universal Analytics
  • 跟踪类型:交易

来自 Google 跟踪代码管理器团队的完整 official documentation

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

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

【讨论】:

    【解决方案2】:

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

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

    或者,您可以在放置 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. 创建一个新标签并将其命名,例如“跟踪交易”。
    2. 选择“Universal Analytics”作为标签类型
    3. 选择“交易”作为跟踪类型
    4. 添加新规则并命名,例如“转化页”
    5. 输入的 URL 包含“thank-you-page”并添加另一个字段
    6. 输入事件等于gtm.dom

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

    【讨论】:

    • 我们有可以在谷歌分析 GA 调试器 chrome 扩展中确认的规则设置。上面的代码看起来像常规的通用分析电子商务交易。我们正在关注此文档support.google.com/tagmanager/answer/3002596?hl=en 请帮助我们进一步发展。
    • 我明白了。在 gtm.dom 事件触发后,您是否设置了触发标记以跟踪事务?
    • 我们没有使用 gtm push 我们直接传递变量。我认为我们在某些格式级别上丢失了。不确定是什么问题仍在尝试解决。
    • 如果可以解决您的问题,请参阅我的附录。
    • 可能是事务数据层变量是可选的,例如transactionTax 仍必须包含在 dataLayer 中,但只能包含空值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2019-01-07
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    相关资源
    最近更新 更多