[英]Tracking offline event with Google Analytics
我試圖跟蹤我的網站中的用戶活動,例如點擊或鼠標懸停以及不同類型的事件....是否有任何解決方案來跟蹤事件,即使用戶正在脫機工作......我可以將它們存儲在像cookie這樣的東西中並發送找到活動的互聯網連接時,他們到服務器?
那可能嗎?
謝謝
取決於您要定位的瀏覽器類型。 這些是HTML5離線webapps嗎?
如果他們支持ononline
和onoffline
事件 ,你可以相當平凡地自己實現。
一些可能可行的代碼,使用脫機事件,本機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
});
然后你只需使用_ogaq
作為_gaq
的包裝器。
即:
_ogaq.push(["_trackEvent","Category", "Action"]);
另一件需要考慮的事情是,記錄的時間是數據發送的時間,而不是設備本地收集的時間。 幸運的是,現在有一種方法可以避免使用測量協議和qt參數(隊列時間)這一問題,它允許您以毫秒為單位發送事件/視圖等的年齡。 我已經在實時查看器中嘗試了這一點,它確實顯示在按預期記錄的時間。
https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#qt
意識到這是一個古老的問題,但它本周末一直讓我瘋狂。
您可能會發現這也很有用。 ononline / offline並不像人們想象的那么可靠。
http://www.google.com/support/forum/p/Google%20Analytics/thread?tid=67e8cf894a003c64&hl=en
根據這篇文章 ,谷歌離線支持離線行為。 你只需要添加這些庫
npm install --save-dev sw-offline-google-analytics
...
importScripts('path/to/offline-google-analytics-import.js');
goog.offlineGoogleAnalytics.initialize();
沒有為我工作,所以我發現,陣列的GA推送無法正常工作。 所以我循環播放了數組,將每個條目推送到Google Analytics。 現在它就像一個魅力......
$(window).bind("online", function(){ // if you don't have jQuery, you can do window.ononline instead
var json = JSON.parse(localStorage.getItem("offlineGA"));
for(var i = 0; i < json.length; i++) {
_ogaq.push([json[i][0],json[i][1], json[i][2]]);
}
localStorage.setItem("offlineGA","[]"); //empty it
var json = "";
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.