Каков оптимальный способ для приложения веб-метрик для расчета времени посетителя на сайте?
Я разрабатываю внутреннюю систему веб-анализа, такую как Google Analytics, мне не очень понятна концепция page stay time
Типичное объяснение этой меры из Интернета:
- доступ пользователя к странице A с отметкой времени: t1
- доступ пользователя к странице B с отметкой времени: t2, (t2 > t1)
тогда время пребывания страницы для A равно t2 - t1, для B равно 0
Мой вопрос: в этом сценарии при расчете page stay time
для B, мы должны проверить, нажимает ли пользователь страницу B со страницы A? то есть ссылка Б это А?
1 ответ
Существует два метода измерения времени на странице и его совокупного аналога времени на сайте, которые различаются маркерами, используемыми для записи пар время-событие:
отметка времени
пинг основе
Google Analytics, например, использует первый, в частности, GA записывает временную метку для каждого просмотра страницы, события и транзакции, которые происходят в сеансе пользователя.
Точно так же, как вы указали в своем вопросе, Google Analytics вычисляет время на сайте путем суммирования различий меток времени для всей истории сеансов этого пользователя. Для последней страницы в сеансе пользователя нет отметки времени, поэтому окончательная дельта времени не рассчитывается.
Это вносит ошибку в метрику времени на месте, но я все же думаю, что это лучший из доступных методов измерения. Техника проста для объяснения и, следовательно, проста для точного понимания, где происходит событие и в каком направлении оно влияет на указанную метрику. Другими словами, вы знаете, что время на сайте всегда недооценивается.
Во-вторых, эту ошибку можно оценить (т. Е. Оценить истинное время на сайте), поскольку у вас есть надежное время на странице для каждой другой страницы в посещении пользователя. Более того, из вашего числа посетителей сайта у вас есть данные о среднем времени на странице для конкретной страницы, которую пользователь посещал последним в своей сессии.
Другая группа методов измерения времени на странице основана на пинге. Здесь javascript на странице неоднократно вызывает через заданный промежуток времени функцию, которая пингует сервер. Фрагмент javascript на странице вызывает эту функцию проверки связи, пока эта страница открыта в клиентском браузере.
Возможно, ключевым преимуществом этих методов является то, что они решают проблему не считая времени, которое пользователь провел на странице, на которой они закончили свою сессию. Я полагаю, что основным недостатком методов, основанных на ping, является более высокая стоимость реализации. Точность этого метода зависит, конечно, от частоты пинга - средняя точность измерения составляет примерно половину частоты пинга. Если ваша частота пинга составляет 10 секунд, вы можете разрешить время на странице в среднем до 5 секунд. Но любая активность сервера связана с затратами на ресурсы, поэтому этот параметр, т. Е. Частоту пингов, необходимо тщательно оптимизировать. Вот что я имею в виду под "более высокой стоимостью реализации".
Недавнее сообщение в блоге Брайана Крэя обсуждает такое решение и предоставляет для этого фрагмент кода javascript. Кроме того, Episodes - это библиотека javascript для точного измерения событий javascript (а не DOM). Это может быть полезно для вашего аналитического проекта.
Так какой из этих двух методов лучше? Я подозреваю, что умная комбинация этих двух даст вам самое высокое разрешение с наименьшим весом страницы и нагрузкой на сервер. Единственное известное мне аналитическое приложение, которое реализует такую гибридную систему, - это W3Counter. [ Примечание: я не имею никакого отношения или какого-либо соглашения с этим Проектом.]
Я не использовал W3Counter, но, основываясь только на этой функции, я считаю, что это стоит рассмотреть. (Мне, однако, не нравится название "W3Counter", которое заставляет меня думать, что это проверка проверки.)