I tried to track user activity in my site such as click or mouse over and different kind of events.... Is there any solution to track events even when users are working offline... Can I store them in something like cookie and send them to the server when find active internet connection?
Is that possible?
Thank you
Depends on what browser types you're targeting. Are these for HTML5 offline webapps?
If they support ononline
and onoffline
events, you can implement this yourself fairly trivially.
Some potentially workable code, using offline events, native JSON and HTML5 Local Storage:
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
});
Then you would just use _ogaq
as a wrapper for _gaq
.
ie:
_ogaq.push(["_trackEvent","Category", "Action"]);