Google アナリティクスは「サイト滞在時間」を追跡します。どうすればそれを効果的に行うことができますか?ユーザーがブラウザを閉じたとき、または別の場所に移動したときを実際に追跡しますか?
考え?
Google アナリティクスは「サイト滞在時間」を追跡します。どうすればそれを効果的に行うことができますか?ユーザーがブラウザを閉じたとき、または別の場所に移動したときを実際に追跡しますか?
考え?
もちろん 100% 確実というわけではありませんが、JavaScript と onload イベントと onunload イベント、および/または setTimer を使用して、AJAX 経由で Web サービスと通信していると思います。このようにして、ユーザーがサイトのページにアクセスしたり、ページを離れたりするタイミングを把握できます。ブラウザーが Web サービスへの "ping" を停止すると、ユーザーはサイトを離れたと見なされます。
どのように計算しても多少の誤差はあると思いますが、かなりまともな見積もりを得ることができます。
次のような関数を設定するだけです:
function track()
{
setTimeout(track ,1000);
now = new Date;
now_string = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
(... whatever you want to do with this data)
}
JavaScript では、HH:MM:SS、または時/分/秒の数字が 2 文字未満の場合は H:M:S という文字列が得られます。
だから、ちょっとした計算をしてください
これをウィンドウのどこかに実行し、それをセッションに関連付けるだけで (これがすべてのページにあることを保証します)、ユーザーがページにいた時間を正確に取得できます。
編集:私が持っていた関数を削除する必要がありましたが、それは私のものであり、javascript sry からのものではありません:p
onBeforeUnload
ユーザーがページを離れたときに実行される JavaScript イベントが呼び出されます。これには、ウィンドウ/タブを閉じるか、別のページに移動することが含まれます (同じサイトにある場合でも)。ページが読み込まれた直後に時間を取得し、JavaScript を使用してonBeforeUnload
、読み込みと離脱の時間差で同期要求を送信することにより、ページで費やされた時間を効果的に追跡できます。これはGoogleが行っていることだと思います。
実際のコード例ともう少し情報が必要な場合は、これをチェックしてください。
ブラウザーを閉じたり、別の場所に移動したりしたときに追跡するとは思いません。追跡したとしても、100% のケースでは機能しません。
私の推測では、おそらく前のページまたはすべての訪問者のそのページの平均に基づいて、出口ページでの滞在を見積もっています。数分で 3 ページヒットした場合、最初の 2 ページの正確な表示時間はわかりますが、3 ページ目が表示された時間はわかりません。すぐにページを閉じたり、開いたままにして後で読んだりするかもしれません。
これは統計なので、長い目で見れば通常はかなり正確ですが、決して真実ではありません。;)
おそらく、ユーザーとセッションを識別するためにCookieを使用して、ループごとに何らかのコールバックを繰り返し実行するタイマーを実行していると思われます