簡體   English   中英

使用Google Analytics跟蹤離線活動

[英]Tracking offline event with Google Analytics

我試圖跟蹤我的網站中的用戶活動,例如點擊或鼠標懸停以及不同類型的事件....是否有任何解決方案來跟蹤事件,即使用戶正在脫機工作......我可以將它們存儲在像cookie這樣的東西中並發送找到活動的互聯網連接時,他們到服務器?

那可能嗎?

謝謝

取決於您要定位的瀏覽器類型。 這些是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
});

然后你只需使用_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM