使用Google Analytics跟踪离线活动

poo*_*oya 9 javascript google-analytics google-analytics-api

我试图跟踪我的网站中的用户活动,例如点击或鼠标悬停以及不同类型的事件....是否有任何解决方案来跟踪事件,即使用户正在脱机工作......我可以将它们存储在像cookie这样的东西中并发送找到活动的互联网连接时,他们到服务器?

那可能吗?

谢谢

Yah*_*hel 15

取决于您要定位的浏览器类型.这些是HTML5离线webapps吗?

如果他们支持ononlineonoffline活动,你可以自己轻松地实现这一点.

一些可能可行的代码,使用脱机事件,本机JSON和HTML5本地存储:

if(!localStorage.getItem("offlineGA")){
  localStorage.setItem("offlineGA","[]");
}
var _ogaq = {
push : function(arr){
    if(navigator.onLine || !("onLine" in navigator)){ // if online or if browser doesn't support onLine/offLine detection.
        _gaq.push(arr);
    }
    else{
     var stored = JSON.parse(localStorage.getItem("offlineGA"));
     stored.push(arr);
     localStorage.setItem("offlineGA", JSON.stringify(stored));
    }
}
};

$(window).bind("online", function(){ // if you don't have jQuery, you can do window.ononline instead
   _gaq.push( JSON.parse(localStorage.getItem("offlineGA")) );
   localStorage.setItem("offlineGA","[]"); //empty it
});
Run Code Online (Sandbox Code Playgroud)

然后你只需_ogaq用作包装器_gaq.

即:

_ogaq.push(["_trackEvent","Category", "Action"]);
Run Code Online (Sandbox Code Playgroud)

  • 如果您尝试在短时间内向GA发射超过10次点击,它将被丢弃,并且只会发送前10个.这意味着对于此代码,如果您长时间离线并查询超过10个事件/综合浏览量,那么只有前100个实际上会在您上线后转到GA (2认同)