gpt4 book ai didi

google-analytics - 页面上容器容器代码后的 GTM 电子商务

转载 作者:行者123 更新时间:2023-12-03 16:02:46 26 4
gpt4 key购买 nike

我想使用 GTM 来跟踪电子商务交易。这是针对客户端环境的测试,其中代码可能位于 GTM 代码片段 之后的 ,这就是为什么使用 Dom Ready 作为事务标签的触发器不可靠的原因。

这是我的测试代码:

<body>
<!-- Google Tag Manager -->
<script>window.dataLayer = window.dataLayer || [];</script>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-M4RNT2"
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-XXXXXX');</script>
<!-- End Google Tag Manager -->
<div class="container">
<script>
window.dataLayer = window.dataLayer || []
dataLayer.push({
'transactionId': '32698',
'transactionAffiliation': 'Acme Clothing',
'transactionTotal': 38.26,
'transactionTax': 1.29,
'transactionShipping': 5,
'transactionProducts': [{
'sku': 'DD44',
'name': 'T-Shirt',
'category': 'Apparel',
'price': 11.99,
'quantity': 1
},{
'sku': 'AA1243544',
'name': 'Socks',
'category': 'Apparel',
'price': 9.99,
'quantity': 2
}]
});
</script>
</body>

如您所见,电子商务代码直接取自 Google 文档 here

我确保我正在触发的网页浏览标签有效,并且我可以在实时 View 中看到自己。

问题是无论我做什么来触发交易标签,谷歌分析中都不会显示电子商务交易。

这是我尝试过的:
  • 在交易产品之后使用 'event': 'eCommerce' 或在交易代码推送后的单独脚本标签中使用该事件作为触发器
  • 我在 GTM 中创建了一个 dataLayer 变量,它引用 transactionId 并将其默认为 false,然后使用事件 gtm.dom 作为触发器,过滤器为 transactionId does not equal false

  • 令人沮丧的部分是我打开了 GTM 预览窗口,它看起来完全可以正常工作。
  • 在上面的尝试 1 中,它显示了一系列页面浏览、消息、电子商务 DOM 就绪、页面加载,其中消息后的 dataLayer 正确填充了交易数据以及电子商务事件触发的电子商务标签(即数据肯定在 dataLayer 中。
  • 在尝试 2 中,Message 之后的 dataLayer 填充了交易数据,并且在 DOM Ready 事件上触发了电子商务标签。

  • 这已经持续了好几天,所以它不是“数据尚未显示在 GA 中但 ”的情况。我使用了正确的 UA 标签,因为这两个标签都引用了 sasme onstant GTM 变量,而且我实时看到自己的网页浏览标签使用了正确的 UA,因此交易标签也是如此。是的,电子商务显然是在 View 设置中启用的。

    最佳答案

    简单地将交易数据推送到数据层不会触发跟踪工作。您需要一个诸如综合浏览量之类的操作来获取交易数据并将其发送。

    如果您无法在 GTM 代码段之前添加数据层,我的建议如下:

  • 将您的代码转换为增强型电子商务格式(如下提供)
  • 添加一个自定义事件,在本例中它被命名为 trackTrans .
  • 在 GTM 中添加一个事件标签,标签类似于 Send Transaction .您可以为事件类别/操作/标签指定您想要的任何值。
  • 在事件标签中转到 more settings > Ecommerce Features , 启用 Enable Enhanced Ecommerce FeatureUse data layer
  • 将触发器设置为 Custom Event并指定 trackTrans对于值
  • 在您的 View 设置中确保启用增强型电子商务跟踪
    dataLayer.push({
    'ecommerce': {
    'purchase': {
    'actionField': {
    'id': 'T12345', // Transaction ID. Required for purchases and refunds.
    'affiliation': 'Online Store',
    'revenue': '35.43', // Total transaction value (incl. tax and shipping)
    'tax':'4.90',
    'shipping': '5.99',
    'coupon': 'SUMMER_SALE'
    },
    'products': [{ // List of productFieldObjects.
    'name': 'Triblend Android T-Shirt', // Name or ID is required.
    'id': '12345',
    'price': '15.25',
    'brand': 'Google',
    'category': 'Apparel',
    'variant': 'Gray',
    'quantity': 1,
    'coupon': ''
    }]
    }
    },
    'event' : 'trackTrans'
    });

  • 根据我上面的描述,页面将加载,然后触发一个事件并发送电子商务交易数据。

    关于google-analytics - 页面上容器容器代码后的 GTM 电子商务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37597960/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com