8

Google アナリティクスは「サイト滞在時間」を追跡します。どうすればそれを効果的に行うことができますか?ユーザーがブラウザを閉じたとき、または別の場所に移動したときを実際に追跡しますか?

考え?

4

5 に答える 5

4

もちろん 100% 確実というわけではありませんが、JavaScript と onload イベントと onunload イベント、および/または setTimer を使用して、AJAX 経由で Web サービスと通信していると思います。このようにして、ユーザーがサイトのページにアクセスしたり、ページを離れたりするタイミングを把握できます。ブラウザーが Web サービスへの "ping" を停止すると、ユーザーはサイトを離れたと見なされます。

どのように計算しても多少の誤差はあると思いますが、かなりまともな見積もりを得ることができます。

于 2009-02-26T19:03:26.593 に答える
3

次のような関数を設定するだけです:

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

于 2009-02-26T19:04:45.560 に答える
3

onBeforeUnloadユーザーがページを離れたときに実行される JavaScript イベントが呼び出されます。これには、ウィンドウ/タブを閉じるか、別のページに移動することが含まれます (同じサイトにある場合でも)。ページが読み込まれた直後に時間を取得し、JavaScript を使用してonBeforeUnload、読み込みと離脱の時間差で同期要求を送信することにより、ページで費やされた時間を効果的に追跡できます。これはGoogleが行っていることだと思います。

実際のコード例ともう少し情報が必要な場合は、これをチェックしてください。

于 2009-11-24T17:48:54.153 に答える
2

ブラウザーを閉じたり、別の場所に移動したりしたときに追跡するとは思いません。追跡したとしても、100% のケースでは機能しません。

私の推測では、おそらく前のページまたはすべての訪問者のそのページの平均に基づいて、出口ページでの滞在を見積もっています。数分で 3 ページヒットした場合、最初の 2 ページの正確な表示時間はわかりますが、3 ページ目が表示された時間はわかりません。すぐにページを閉じたり、開いたままにして後で読んだりするかもしれません。

これは統計なので、長い目で見れば通常はかなり正確ですが、決して真実ではありません。;)

于 2009-02-26T19:03:36.343 に答える
1

おそらく、ユーザーとセッションを識別するためにCookieを使用して、ループごとに何らかのコールバックを繰り返し実行するタイマーを実行していると思われます

于 2009-02-26T19:02:28.483 に答える