我最近开始使用谷歌分析,一切似乎都在最初几天工作。然后几天前概述停止工作,但实时视图似乎很好。
我正在使用一些自定义代码通过HTTP发送测量协议请求,并且该代码自发布以来未发生变化。即使我可以看到实时发生的事件,Google Analytics也会报告“过去48小时内未收到任何数据”。
当我打电话给Google的支持热线时,他们似乎认为这是事件生成方式的问题。我不明白这是怎么回事,因为代码没有改变,但也许其他人有想法?
以下是发送事件的代码:
BOOL SendGoogleAnalytics(char* action, char* category)
{
if (!IsGoogleAnalyticsEnabled())
{
return FALSE;
}
CStringA strAction = CStringA(action);
CStringA strCategory = CStringA(category);
HttpRequest req;
Http http;
CStringA strClientID = "0";
req.UsePost();
req.put_Path("www.google-analytics.com");
req.AddHeader("HOST", m_GAHost);
req.AddHeader("Accept", "*/*");
req.put_ContentType("text/html");
req.AddParam("v", "1");
req.AddParam("t", "event");
req.AddParam("tid", "UA-xxxxxxxx-xx");
req.AddParam("cid", strClientID);
req.AddParam("ni", "1");
req.AddParam("an", "My App");
req.AddParam("av", x.x.x.x);
req.AddParam("ec", strCategory);
req.AddParam("ea", strAction);
req.AddParam("el", "dist code 1");
req.AddParam("ds", "this code");
return SendPost(m_GAHost, false, &req);
}
答案 0 :(得分:0)
事实证明,Google Analytics只会在给定的时间范围内接受来自每个客户ID的一定数量的点击。用每个用户的GUID字符串替换上面的strClientID解决了这个问题。