2011-11-13 46 views
8

我想在我的網站跟蹤用戶活動,如點擊或鼠標懸停和不同類型的事件.... 是否有任何解決方案,甚至可以跟蹤事件當用戶離線工作... 我可以將它們存儲在cookie等內容中,並在找到活動的Internet連接時將它們發送到服務器?與谷歌Analytics跟蹤離線事件

這可能嗎?

謝謝

回答

14

取決於您定位的瀏覽器類型。這些是否適用於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"]); 
+2

如果試圖解僱10餘次命中GA在短期內將下降,只有前10個將被髮送。這意味着,此代碼,如果你太長時間保持脫機狀態和查詢超過10次/瀏覽量,只有第一個100將真正去GA一旦你的在線 – Eduardo

+0

哦,良好的通話。我將在交錯的速度:) – Yahel

+1

還通過他們加入setInverval循環工作,需要注意的是谷歌Analytics(分析)跟蹤不僅僅是簡單的事件是很重要的:東西,如發生了一件大事以及其他會議時間相關的東西,當用戶重新聯機時,這些東西會消失或脫離環境。真正的解決方案是生成實際的圖像信標代碼,並在用戶重新聯機時嵌入這些圖像...我會看看我是否能夠提出解決方案。 –

3

另一個要考慮的是,這將得到記錄的時間是相對於收集本地設備上的數據的發送時間。不過好在現在有避免這種情況是使用測量協議和QT參數(排隊時間),它可以讓你發送事件/圖等的時代。在毫秒的問題的一種方式。我已經在實時查看器中嘗試了這一功能,並且在按預期記錄的時間顯示。

https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#qt

意識到這是一個老問題,但它已被這個週末快把我逼瘋。

0

並沒有爲我工作,所以我發現,該陣列的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 = ""; 
}); 
1

根據這article,脫機行爲是由谷歌離線支持。 你剛纔添加這些庫

npm install --save-dev sw-offline-google-analytics 
    ... 
    importScripts('path/to/offline-google-analytics-import.js'); 
    goog.offlineGoogleAnalytics.initialize(); 
相關問題