Статистика для сайта-СМИ – это её хлеб. Рекламодатель, на деньги которого живёт и развивается проект, хочет знать – сколько же человек увидели его рекламу.
Есть несколько способов снимать статистику:
- Server-side счетчики (к ним относится и модуль статистики Битрикс)
- Сторонние client-side счетчики (liveinternet, google analytics, Яндекс Метрика)
- Открытые статистические платформы
Но показатели с разных счётчиков отличаются, зачастую – в разы. И это кидает тень на разработчика, который просто поставил модуль «Статистика» или «Реклама» и отдал его без пояснений клиенту.
Почему статистика различается?
- Часть браузеров может игнорировать JS-код счетчика, или не интерпретировать его из-за ошибок в других скриптах.
- Расположение на странице влияет на очередь загрузки. Пользователь может остановить загрузку вовсе. Часть счетчиков может не успеть зафиксировать посещение.
- Загрузку некоторых счетчиков запрещают блокировщики рекламы, особенно распространённые в последнее время.
- Часть счетчиков не засчитывает показ из-за сбоев в работе сервера статистики или из-за перебоев со связью.
- Счетчики используют разные алгоритмы обработки данных.
Server-side счетчики
К таким счётчикам, как уже говорилось, относятся:
- Счетчики Bitrix
- Визуализаторы логов веб-сервера nginx/apache (например, визуализатор AWStats)
Почему “врет” серверный счетчик?
- Он может учитывать посещения ботов
- Он учитывает запросы-предзагрузки (link rel=”prefetch”, InstantClick и прочее)
Счётчики Битрикс «вырезают» из статистики часть ботов – для этого в ЦМС есть специальная, загружаемая с обновлениями, база со списком ботов. Но это же свойство приводит к тому, что показатели счётчиков Битрикс отличаются от показателей, например, AWStats.
Также серверный счётчик, как правило, засчитывает специальные prefetch-запросы, которые делает браузер для создания иллюзии ускорения загрузки. Chrome, к примеру, заранее загружает несколько «соседних» страниц, чтобы показать их пользователю, если вдруг он захочет перейти именно на них.
Конечно, для сервера эти запросы выглядят как реальные переходы пользователей. И даже если пользователь не воспользовался заранее подгруженными страницами - в статистике эти переходы засчитываются.
Сторонние client-side счетчики
- LiveInternet
- Метрика.Яндекс
- Google Analytics
- OpenStat
- и другие...
Использование этих счётчиков очень заманчиво: это и независимая аналитика, и относительно высокая доступность и надёжность (по сравнению с доступностью, зачастую недорогих хостингов, на которых находятся наши проекты).
Но нужно отметить и минусы.
Например, если вы используете счётчики Yandex и Google, то данные ваших пользователей участвуют в формировании профиля интересов. Это может сыграть злую шутку для сайтов, в сегменте рынка которых используется контекстная реклама.
Открытые статистические платформы
- Piwik
- Open Web Analytics
Открытые статистические платформы – это аналоги client-side счётчиков, серверную часть которых вы устанавливаете на свой собственный сервер. Сочетает плюсы и минусы сторонних client-side счетчиков с гибкостью настройки. Мой сервер - что хочу, то и творю. Но есть и серьёзные минусы:
- Надо вникать
- Можно ошибиться с настройками
- Можно не рассчитать нагрузку
- Нужно тратиться на сервера, администрирование, поддержку
Немного терминологии
Визит - последовательность действий пользователя на сайте в пределах одной сессии.
Показ - событие, которое происходит когда сервер получил запрос, сформировал страницу и отдал ее пользователю. Факт, видел ли ее пользователь, и вообще, получил ли ее в браузер, на количество показов не влияет.
Просмотр (хит) - зарегистрированный факт получения пользователем страницы.
Целевой просмотр - величина, когда пользователь задержался на странице достаточно долго, чтобы прочесть материал. Время индивидуально, но расчет “более 15 секунд” вполне допустим в общем случае. Не путать с “Отказом” - отказ не может быть в рамках визита с глубиной просмотра более одной страницы, а вот “нецелевым” просмотр в таком случае быть может.
Уникал - искусственная величина, полученная путем вычитания действий ботов из общего числа визитов.
“Я главный редактор! Я не хочу ничего делать, я хочу цифры” (с)
Основная проблема в том, что нельзя выбрать один счетчик и отказаться от других, так как разным специалистам нужны абсолютные разные данные. Начнем с технаря.
Администратору сервера может быть важно количество показов - резкий рост показателя может ознаменовать начало атаки на сервер.
Рекламному отделу важны уникалы - так как боты не смотрят рекламу (хотя кто знает, 21 век все-таки), а показы баннеров и контекста обычно подвязаны на уникальных пользователей.
Главный редактор (директор по развитию) должен знать популярность тем, поэтому ему важны просмотры. Человек как минимум ткнул в заголовок, что означает, что ему это интересно. Прочел (купил) или нет, это уже другой вопрос.
Директор раздает гонорары, для этого надо знать как кто работает - ему важны целевые просмотры. Ему мало, чтобы пользователи заинтересовались заголовком и анонсом - важно, чтобы человек ознакомился с содержимым и вернулся за контентом (товаром) в следующий раз.
Из практики получилось, что чистый показатель “Визит” не нужен никому, но это как раз тот показатель, который показывает встроенный счетчик Bitrix для инфоблоков. Интегрировать другие счетчики в административную панель, чтобы оставить все в привычном виде довольно сложно, поэтому все равно приходится искать компромиссы в виде виджетов, работающих с Метрика.Яндека API, и самописных серверных счетчиков.
Послесловие
Не все решения одинаково полезны, подходите к решению с умом. Заманчиво, например, использовать стандартный функционал Битрикс, но есть одно "но".
У счетчиков Bitrix есть еще одна проблема, которая становиться проблемой только в рамках больших проектов - данные о визитах хранятся в той же таблице, что и элемент инфоблока. Это чревато тем, что каждый инкремент SQL сбрасывает свой встроенный кэш, а на 700 000 хитов в день это 8-10% падения производительности системы.
В то же время изобретать велосипед и лепить сложную систему аналитики для некрупного сайта-СМИ может быть ненужно. Используйте подходящие инструменты под подходящие цели.