我希望对通过Google跟踪代码管理器部署的Universal Analytics的事件触发问题提供任何帮助。
特别是,我尝试在同一页面上发送两种事件:a < strong>结帐购买事件(增强型电子商务)和 onclick通用自定义事件。
在我的页面的相关代码下面,按照onload执行的顺序:
<script>
<!--Initialize dataLayer-->
dataLayer = [{'userId' : ...}];
<!--End dataLayer-->
<!--Tag Manager-->
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':.....})(window,document,'script','dataLayer','GTM-...');
<!--End Tag Manager-->
dataLayer.push({
'event': 'checkout',
'ecommerce': {
'purchase': {
'actionField': {
'id': ...
'revenue': '1.00',
'tax': ...
},
'products': [{
'name': 'Product1',
'price': '1.00',
'category': 'Category 1',
'variant': 'Variant1',
'quantity': 1
}]
}
},
'eventCallback': function() {
console.log("Purchase pushed!");
}
});
</script>
<button onclick="dataLayer.push({'event': 'eventTest'});">CLICK ME</button>
如您所见,在页面加载时正确推送了购买事件。
我正确地说“因为在浏览器控制台中检查dataLayer对象”,显示添加的购买子对象。
在上瘾,最后你会找到一个简单的按钮,在其onclick处理程序上推送另一个通用的“eventTest”。甚至这个事件对象也被添加到dataLayer“队列”中
您需要考虑的是,以下是有关Google的页面加载“200状态”请求:
- gtm.js?id = GTM -... [www.googletagmanager.com]
- analytics.js [www.google-analytics.com]
- 收集?v = 1&amp; _v = j35&amp; a = 211135512&amp; t = pageview ... [www.google-analytics.com]
简而言之,一切似乎都没问题。
显然,当这些推送完成后,没有触发上瘾请求,但这是预期的。
我的问题是:何时,以及基于什么,dataLayer“队列”数据被发送?
几天后,Google Analytics面板中没有报告任何事件数据。该Google Analytics标记基于Google跟踪代码管理器中的“所有网页”触发规则,以及具有高级电子商务功能和dataLayer选项的“电子商务元素”都是活动的。
为了使这些事件被收集,我应该设置其他任何标签管理器的选项或规则吗? ?这些事件是否应该先在Tag Manager的控制台中“注册”?
为长期而感谢道歉并非常感谢。
更新
我设法收集了这些事件数据,但我遇到了发送事件“标签”的问题。
我的意思是即使在Universal Analytics实时面板中也会定期记录事件,但是“ undefined “。
检查分析的请求显示”ec“和”ea“参数的”未定义“值,包括电子商务对象”addToCart / removeFromCart“dataLayer.push,以及通用onclick“eventTest”一个。
这些可能有什么问题?
非常感谢。
答案 0 :(得分:2)
GTM如何观察dataLayer is answered here。
Google Analytics代码模板会在页面加载时自动评估ecommcerce数据,因此会记录您的交易。
对于按钮中的自定义事件,您需要创建触发器,键入“event”,条件“event equals eventTest”,然后创建为事件跟踪配置的Google Analytics标记。
谷歌在两个产品中使用相同的术语来完全不同的东西时,谷歌真的搞砸了。
GTM事件不会跟踪Google Analytics中的任何内容,它是GTM中的“保留”变量名称,必须存在并填充到fire标记中。在页面加载,DOM就绪,点击并提交由GTM自动填充。
但GTM事件不会跟踪Google Analytics的任何内容。为此,您需要创建一个单独的Google事件跟踪代码,该代码又由GTM事件触发(为了完成混淆,可能会由javascript事件触发)。
答案 1 :(得分:2)
在这种情况下,您应向Google Analytics发送一次点击以发送增强型电子商务数据,并发送其他点击以发送Google Analytics事件数据。
这意味着您应该在您的网页上触发3个Google Analytics代码:一个用于网页浏览跟踪(网页浏览类型),其中包含“所有网页”触发器,一个用于增强电子商务跟踪(事件类型),其中包含“事件等于结帐”触发器和一个事件跟踪(事件类型)与“事件等于eventTest”触发器。