我想在我的網站跟蹤用戶活動,如點擊或鼠標懸停和不同類型的事件.... 是否有任何解決方案,甚至可以跟蹤事件當用戶離線工作... 我可以將它們存儲在cookie等內容中,並在找到活動的Internet連接時將它們發送到服務器?與谷歌Analytics跟蹤離線事件
這可能嗎?
謝謝
我想在我的網站跟蹤用戶活動,如點擊或鼠標懸停和不同類型的事件.... 是否有任何解決方案,甚至可以跟蹤事件當用戶離線工作... 我可以將它們存儲在cookie等內容中,並在找到活動的Internet連接時將它們發送到服務器?與谷歌Analytics跟蹤離線事件
這可能嗎?
謝謝
取決於您定位的瀏覽器類型。這些是否適用於HTML5離線web應用程序?
如果他們support ononline
and onoffline
events,你可以很平凡的自己實現。
一些潛在可行的代碼,使用線下活動,本地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"]);
你可能會覺得這有幫助。在線/離線並不像人們想象的那樣可靠。
http://www.google.com/support/forum/p/Google%20Analytics/thread?tid=67e8cf894a003c64&hl=en
另一個要考慮的是,這將得到記錄的時間是相對於收集本地設備上的數據的發送時間。不過好在現在有避免這種情況是使用測量協議和QT參數(排隊時間),它可以讓你發送事件/圖等的時代。在毫秒的問題的一種方式。我已經在實時查看器中嘗試了這一功能,並且在按預期記錄的時間顯示。
https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#qt
意識到這是一個老問題,但它已被這個週末快把我逼瘋。
並沒有爲我工作,所以我發現,該陣列的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 = "";
});
根據這article,脫機行爲是由谷歌離線支持。 你剛纔添加這些庫
npm install --save-dev sw-offline-google-analytics
...
importScripts('path/to/offline-google-analytics-import.js');
goog.offlineGoogleAnalytics.initialize();
如果試圖解僱10餘次命中GA在短期內將下降,只有前10個將被髮送。這意味着,此代碼,如果你太長時間保持脫機狀態和查詢超過10次/瀏覽量,只有第一個100將真正去GA一旦你的在線 – Eduardo
哦,良好的通話。我將在交錯的速度:) – Yahel
還通過他們加入setInverval循環工作,需要注意的是谷歌Analytics(分析)跟蹤不僅僅是簡單的事件是很重要的:東西,如發生了一件大事以及其他會議時間相關的東西,當用戶重新聯機時,這些東西會消失或脫離環境。真正的解決方案是生成實際的圖像信標代碼,並在用戶重新聯機時嵌入這些圖像...我會看看我是否能夠提出解決方案。 –