10

ユーザーが Web アプリケーションの特定のページに費やした時間を測定したいと考えています。最初に、ブラウザで onunload/onbeforeunload イベントをキャッチし、XMLHttpRequest を介してサーバーに通知することを考えました。ユーザーは次のように終了します。

<body onunload="userLeaves('/url/to/current/page',xxx);" ...> ... </body>

ここで、xxx は、ページがレンダリングされたときの初期タイムスタンプです。

残念ながら、このソリューションはすべてのブラウザー (Opera など) では機能しません。したがって、私の 2 番目のアイデアは、サーバーに対して常に ping を実行することでした。訪問時間を計算するには、誰かが最後の ping 時間を取り、最初のタイムスタンプから差し引く必要があります。しかし、特にユーザーが3つまたは5つのタブを開いて、すべてのタブが500ミリ秒ごとにイベントを発生させている場合、それは良い解決策だとは思いません...

訪問時間をどのように測定しますか?特定のページに費やされた時間を取得するためのより良いアイデアを誰かが持っていますか?

4

4 に答える 4

3

Google アナリティクスなどのツールで使用されるアプローチでは、ユーザーが 1 回の「訪問」内で最初のページにアクセスしてから最後のページにアクセスするまでの時間を訪問時間として測定します。1 回の訪問は、1 人のユーザー (Cookie) による一連のページ ビューとして定義され、各訪問は以前の訪問に十分近いものです。ただし、その制限が何であるかはわかりません。

私の経験では、アンロード イベントなどを使用したこの種のトリックは、押し付けがましく、ユーザーはそれらを高く評価しません。そのため、Cookie とページ ビュー データから訪問を構築するなどのより受動的なアプローチに比べて、ほとんどまたはまったく価値がありません。

于 2009-08-24T16:29:30.330 に答える
1

ビジネス目標のいくつかに応じて、ほぼすべての Web 分析パッケージをお勧めします。

  1. Google アナリティクス: (無料)
  2. Yahoo Analytics : (無料)(ベータ版)
  3. ウープラ:(無料)(ベータ版)
  4. Omniture : (高価)(最も機能が豊富で、学習曲線が難しい)

[他にもありますが、広告ネットワークのレポートに合わせて調整されたものもあります...]

于 2009-08-24T16:39:43.663 に答える
0

Google アナリティクスを見てみましょう。標準のトラッキングでこれらの統計が取得されます。

http://www.google.com/analytics/

于 2009-08-24T16:30:31.357 に答える
0

どの程度のエラーを許容するかによって異なります。エラーが数十分程度の場合は、訪問ログのみが必要で、最後のページのセッション タイムアウト間隔を設定します。数百ミリ秒しか許可しない場合は、ping を実行する必要があります。エラーがその中間にある場合でも、速度は遅くなりますが、ping を実行する必要があります。または、ブラウザをシャットダウンしたユーザーが onunload イベントを発生させないという事実を受け入れます。

于 2009-08-24T16:32:50.713 に答える