2009-08-24 3 views
10

Мне нравится измерять время, которое пользователь потратил на странице particularr моего webapp. Сначала я подумал о ловле событие OnUnload/onbeforeunload в браузере и уведомляет сервер через XMLHttpRequest, что пользователь покидает сейчас вроде:Как измерить время посещения пользователя

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

где ххх щёток tiemstamp, когда страница была оказана.

К сожалению, это решение не работает во всех браузерах (например, Opera). Поэтому моя вторая идея заключалась в том, чтобы постоянно пинговать сервер. Чтобы рассчитать время посещения, кто-то должен занять последнее время пинга и вычесть его из временной отметки времени. Но я не думаю, что это хорошее решение, особенно когда пользователь имеет 3 или 5 вкладок, и каждая вкладка запускает события каждые 500 мс ...

как бы вы измерили время посещения? есть ли у кого-то лучшая идея получить время, потраченное на одну конкретную страницу?

+0

как делали лет u в конечном итоге делать? Я также думаю о том, чтобы пинговать сервер – brauliobo

ответ

3

Подход, используемый такими инструментами, как Google Analytics, заключается в том, что время посещения измеряется как время, когда пользователь нажимает первую страницу до момента, когда они попали на последнюю страницу в течение одного «посещения». Один визит определяется как серия просмотров страниц одним пользователем (cookie), где каждое посещение достаточно близко к предыдущему времени. Однако я не знаю, каков этот предел.

По моему опыту, эти трюки с событиями разгрузки и т. Д. Граничат с тем, что они навязчивы, и пользователи не ценят их. Таким образом, они добавляют незначительную ценность для более пассивного подхода, такого как создание посещений из файлов cookie и данных просмотра страниц.

0

Почему бы не взглянуть на Google Analytics, стандартное отслеживание не позволит вам получить эту статистику.

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

0

Это зависит от того, сколько ошибок вы позволите. Если ошибка составляет порядка десятков минут, вам нужен только журнал посещения и задайте интервал ожидания сеанса для последней страницы. Если вы разрешаете только сотни миллисекунд, вам нужно будет пинговать. Если ошибка находится где-то между ними, вам все равно нужно выполнить ping, хотя и с меньшей скоростью; или принять тот факт, что для пользователя, который выключил браузер, не будет запускать событие onunload.

1

Я предлагаю практически любой веб-аналитический пакет в зависимости от ваших бизнес-целей.

  1. Google Analytics: (свободный)
  2. Yahoo Analytics: (бесплатно) (бета)
  3. Woopra: (бесплатно) (бета)
  4. Omniture: (дорого) (самая многофункциональная, трудно кривой обучения)

[есть и другие, некоторые более приспособлены к рекламной сети отчетности ...]

 Смежные вопросы

  • Нет связанных вопросов^_^