クリックやマウスオーバー、さまざまな種類のイベントなどのユーザーのアクティビティを追跡しようとしました... ユーザーがオフラインで作業しているときでもイベントを追跡するソリューションはありますか? クッキーのようなものにそれらを保存し、アクティブなインターネット接続が見つかったらサーバーに送信できますか?Google Analyticsでオフラインイベントをトラッキングする
これは可能ですか?
は
クリックやマウスオーバー、さまざまな種類のイベントなどのユーザーのアクティビティを追跡しようとしました... ユーザーがオフラインで作業しているときでもイベントを追跡するソリューションはありますか? クッキーのようなものにそれらを保存し、アクティブなインターネット接続が見つかったらサーバーに送信できますか?Google Analyticsでオフラインイベントをトラッキングする
これは可能ですか?
は
はあなたがターゲットとしているどのようなブラウザの種類に依存していただきありがとうございます。 HTML5オフラインWebアプリケーション用ですか?
support ononline
and onoffline
eventsの場合は、これをかなり簡単に実装できます。
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
});
は、次に、あなただけの
_gaq
のラッパーとして
_ogaq
を使用します:オフラインイベント、ネイティブJSONやHTML5ローカルストレージを使用して
いくつかの潜在的に実行可能なコード、。
すなわち:
_ogaq.push(["_trackEvent","Category", "Action"]);
あなただけでなく、これが役に立つかもしれません。 ononline/offlineは考えられるほど信頼性がありません。
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アナリティクスにプッシュしました。今、それは魅力のように動作します...
$(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、オフライン動作はGoogleオフラインでサポートされています。 あなたが短期間にGAに10本の以上のヒットを発射しようとした場合、あなただけのこれらのライブラリに
npm install --save-dev sw-offline-google-analytics
...
importScripts('path/to/offline-google-analytics-import.js');
goog.offlineGoogleAnalytics.initialize();
を追加するために、それは削除されますしている、とだけ最初の10が送信されます。このコードでは、オフラインで長く滞在して10件以上のイベント/ページビューをクエリすると、オンラインになると実際に最初の100件がGAに移行します。 – Eduardo
よろしくお願いします。私はsetInvervalを追加して、ずらされたレートでそれらをループさせます:) – Yahel
また、Googleアナリティクスは単純なイベント以外のものを追跡しています:イベントが発生した時間や他のセッションユーザーがオンラインに戻ったときにコンテキストが消えたりコンテキスト外になったりする可能性があります。本当の解決策は、実際のイメージビーコンコードを生成し、ユーザーがオンラインに戻ったときにそれらのイメージを埋め込むことです...私が解決策を考え出すことができるかどうかがわかります。 –