我所尝试的是,
[使用POST]
jQuery.support.cors = true;
$.ajax({
url : "https://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456",
type : 'POST',
cache : false,
dataType : 'json',
success:function(data) {
alert("Success: " + JSON.stringify(data));
},
error: function(data) {
alert("Failure: " + JSON.stringify(data));
}
});
或[与GET]
jQuery.support.cors = true;
$.ajax({
url : "https://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456",
dataType : 'json',
success:function(data) {
alert("Success: " + JSON.stringify(data));
},
error: function(data) {
alert("Failure: " + JSON.stringify(data));
}
});
点击按钮我添加了此代码。
我正在获得状态200但是,在谷歌分析报告[实时数据]中它显示没有活跃用户。如果我检查前几天的报告,它会显示一些用户会话数。
答案 0 :(得分:3)
测量协议处理事件的方式似乎存在错误。我在此创建了一个问题:Issue 848: Events not showing up on Real-time reports
您不发送应用程序变量,数据将不会显示在实时报告中。一旦您发送请求,它们会再次弹出,但如果您发送另一个没有它的事件,则会松开它们。此时不是文档需要应用程序变量。此外,您的请求的调试将返回有效的命中数据。
Map
解决方案/解决方法:
将以下项添加到您的请求中以解决问题。此时再次没有记录它们是必需的。但是我的测试显示,当您发送这些内容时,所有内容都会在实时报告中再次正确显示。
https://www.google-analytics.com/debug/collect?v=1&tid=UA-xxxxx-1&cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4&t=event&ec=UX&ea=click&z=123456
{
"hitParsingResult": [ {
"valid": true,
"parserMessage": [ ],
"hit": "/debug/collect?v=1\u0026tid=UA-xxxxx-1\u0026cid=e8efa9cb-7b9e-479e-b07b-1528547dcdb4\u0026t=event\u0026ec=UX\u0026ea=click\u0026z=123456"
} ],
"parserMessage": [ {
"messageType": "INFO",
"description": "Found 1 hit in the request."
} ]
}
答案 1 :(得分:0)
我认为这不是技术问题,而是数据兼容性问题。 您使用的CID似乎不适合cid的GA结构,即 [10位] [点] [10位] ,即 1234567890.1234567890 尝试强制使用其他ID来检查我的解决方案。
答案 2 :(得分:0)
你有什么可能的问题:
如何手动查找ClientID:查找" _ga" cookie为您的网站,它应该看起来像" GA1.2.1068584379.1447331221"。此Cookie中的ClientID为 1068584379.1447331221 。
如何在JS-srcipt中获取此参数:
ga(function(tracker) {
var clientId = tracker.get('clientId');
});
请记住,ClientID标识每个唯一用户(浏览器),并将测量协议发送的用户数据与客户端(GA js库)收集的用户数据联系起来。因此,在GA报告中查看数据(由Measurement Protocol发送)比使用" real"对于过去访问过网站的用户的ClientID。