gpt4 book ai didi

google-analytics - Google 跟踪代码管理器 (GTM) 在 ASP 中间歇性地不触发

转载 作者:行者123 更新时间:2023-12-03 16:10:45 37 4
gpt4 key购买 nike

Google Analytics/Conversions/Transactions 表明该标签仅在某些情况下有效 - 如果我执行任务并观察发生的情况和/或调试它总是有效,但是当公众/其他人这样做时,它有时有效,有时无效

该实现是一步一步的向导方法,租车预订。在流程结束时,我们将预订存储在数据库中,绘制感谢页面,触发 te GTM 以在 GA 中记录交易,并向用户发送确认电子邮件。

设置:
GTM
创建标签“预订值(value)交易” - 类型 = 通用分析,启用展示广告功能,跟踪类型 = 交易
添加了 2 条规则
规则名称 = "BookNow"- 条件 {{url}} 包含thankyou + {{event}} 包含 gtm.dom
规则名称 = "BookNow_Mobile"- 条件 {{url}} 包含 mobileBooking + {{event}} 包含 gtm.dom

ASP 页面
在开始时

<!-- Google Tag Manager - data layer def only -->
<script>
dataLayer = [{
'transactionId': '',
'transactionTotal': 0.00}];
transactionProducts = [{
'name': '',
'sku': '',
'price': 0.00,
'quantity': 0 }];
</script>
<!-- End Google Tag Manager - data layer def only -->

稍后在页面中各种 ASP 代码调用数据库函数等来存储数据和检索数据以进行显示并构建数据以填充 GTM 数据层
最终它会产生以下结果(设置了适当的值):
<script>dataLayer = [{ 'transactionId': '1234', 'transactionTotal': 1000.00}];
transactionProducts = [{'name': 'Some Product Name', 'sku': '5678', 'price': 1000.00, 'quantity': 1 }];
dataLayer.push({'transactionProducts':transactionProducts});</script>

在上面和结束之前(因为把它放在数据层定义下方的顶部看起来像一个问题)GTM 脚本的其余部分被插入
<!-- Google Tag Manager -->
<% 'at the bottom of the page because the gtm.DOM async might not be performing like we want %>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-MyGTM_ID" 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-MyGTM_ID');
</script>
<!-- End Google Tag Manager -->

我已经尝试了各种方法来解决这个问题,但我完全被难住了。
我怎样才能让它一直可靠地发射?

最佳答案

dataLayer.push() 只获取数据到dataLayer;它不会将数据发送给 Google。您需要某种触发的标签来携带 dataLayer 数据。

通常这是使用标准的页面查看跟踪器完成的,但是在页面查看跟踪器触发之前,您必须在 dataLayer 中拥有所有数据。在标准 GTM 实现中,页面浏览跟踪器会在 GTM 容器代码完成加载后立即触发。感谢页面中的加载顺序应如下所示:

  • 使用所有电子商务信息声明 dataLayer。不使用
    数据层.push()。您应该拥有所有必要的数据
    在页面之前在您的电子商务系统中填充 dataLayer
    负载。检索此数据并将其放入 dataLayer。
  • 加载您的 GTM 容器。这是 GTM 提供的标准代码。

  • 所有这些都应该在 <body> 之后立即完成。打开标签,而不是在 </body> 之前的页面代码底部关闭标签。

    如果您无法在 GTM 容器代码加载之前填充 dataLayer,那么您将不得不在 gtm.dom 上触发一个 GA 事件标签来携带交易数据。

    您对事务数据的不一致触发很可能是由于 GTM 实现不当引起的竞争条件。

    关于google-analytics - Google 跟踪代码管理器 (GTM) 在 ASP 中间歇性地不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26962538/

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