我想对我的Firefox插件使用Google Analytics事件跟踪。我在popup.html中添加了这样的ga脚本。
<script src="http://www.google-analytics.com/ga.js"></script>
并补充说:
<script >
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
</script>
我使用以下代码推送事件:
_gaq.push(['_trackEvent', 'example', 'clickedit']);
我没有在firefox错误控制台中看到任何错误,并且分析页面中也没有该事件。
有什么想法吗? firefox不允许这样做吗?
由于
答案 0 :(得分:4)
我建议你看一下Universal Analytics中的新测量协议:
https://developers.google.com/analytics/devguides/collection/protocol/v1/
这允许您使用XHR POST直接发送GA事件。
这将与Firefox扩展共存得更好。
代码看起来像这样:
var xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
var url = "http://www.google-analytics.com/collect";
var params = "v=1";
params += "&tid=" + "GOOGLE ANALYTICS ID";
params += "&cid=" + UNIQUE IDENTIFIER
params += "&t=" + "event";
if (category) {
params += "&ec=" + category;
}
if (action) {
params += "&ea=" + action;
}
if (label) {
params += "&el=" + label;
}
if (value) {
params += "&ev=" + value;
}
params += "&z=" + (1000000000 + Math.floor(Math.random() * (2147483647 - 1000000000)));
xhr.open("POST", url, true);
xhr.channel.loadFlags |= Components.interfaces.nsIRequest.LOAD_BYPASS_CACHE;
xhr.send(params);
请注意,您必须在Google Analytics中创建新属性,以便将其指定为Universal Analytics。
答案 1 :(得分:2)
这是导致GA在面板模块中断的错误:https://bugzilla.mozilla.org/show_bug.cgi?id=785914
即使修复了这个问题,由于混淆的源和安全问题,Mozilla也不会允许包含ga.js。因此,如果您包含ga.js,则无法通过其addons.mozilla.org分发您的插件。
解决所有这些问题:
我在我的服务器上创建了一个iframe来代理分析请求。代码在github上:https://github.com/yelloroadie/google_analytics_proxy
我希望这对你有用。