Некоторый фон, среда, в которой я работаю, это PHP на стороне сервера и Javascript на стороне клиента. Чтобы отслеживать сеанс пользователя, я делаю запрос JS PUT к серверу каждые 5 секунд. Благодаря этому я получаю количество времени, которое они провели на сайте, глубину прокрутки, события кликов и т. Д.
С такими инструментами, как MixPanel или Google Anaylytis, они имеют те же измеряемые метрики, но постоянных вызовов js не происходит. Итак, мой вопрос, как они отслеживают пользователя без JavaScript?
Похоже, ваш вопрос … «как Google Analytics узнает, как долго пользователь проводит на сайте, не отправляя постоянные обновления»? Ну, короткий ответ таков это не (но он может читать дальше …!)
В простейшей настройке он создаст сеанс при открытии первой страницы. Затем он будет отслеживать время до открытия второй страницы, затем третьей. Но он не знает, когда была закрыта третья страница, поэтому общее время сеанса будет только «время, когда страница 3 была открыта», минус время, когда страница 1 была открыта ». И это то, что вы увидите на странице аналитики. Так работает большинство аналитических систем, и да, это неточно. Но так оно и есть.
ТЕМ НЕ МЕНИЕ! Есть способ обойти это, и он называется «хитом вовлечения» — по сути, просто отслеживание, когда пользователь что-то делает на вашей странице, например, воспроизведение видео или нажатие на баннер. На самом деле, вы можете отслеживать все виды событий с помощью Google Analytics, и это поможет точно составить отчет о затраченном времени. Это будет включать в себя больше вызовов JS, чем просто обычное событие onload, но они, конечно, не будут постоянными (если вы не настроите некоторые сумасшедшие события).
Есть некоторая хорошая информация об этом на Сайт GA документов. Возможно, стоит взглянуть и попытаться реализовать нечто подобное.
Других решений пока нет …