Все статьи
5 мин чтения#analytics#privacy

Что показывает статистика без cookie — и чего она не покажет

Счётчик просмотров — маленькое честное число. Он говорит, что запрос пришёл, примерно откуда, и больше ничего. Разочарование в аналитике почти всегда начинается там, где от неё ждут продолжения фразы, которого никогда не было.

Почему привычные цифры для ссылки в био врут

Клиентская аналитика узнаёт вернувшегося посетителя по метке в браузере: cookie, записи в local storage, идентификатору в IndexedDB. Для обычного сайта, который открывают в Chrome с ноутбука, это работает сносно. Для страницы-ссылки в био — плохо, потому что её почти всегда открывают внутри чужого приложения.

Instagram и TikTok показывают ссылки во встроенном WebView. У него собственное хранилище, отдельное от системного браузера, и живёт оно недолго. Один и тот же человек, нажавший ту же ссылку во вторник и в четверг, оба раза приходит с пустым хранилищем. Инструмент рисует двух новых посетителей и при этом не врёт — узнать иначе он попросту не может.

Поэтому соотношение новых и вернувшихся на такой странице — величина бессмысленная. Общий трафик тоже занижается: блокировщики на iOS работают и внутри WebView, а часть встроенных браузеров задерживает сторонние скрипты так надолго, что посетитель успевает уйти раньше, чем счётчик сработает.

Что видит серверный счёт

Считать на сервере — значит зафиксировать пришедший запрос до того, как отработает хоть один скрипт. Считает сама страница, поэтому блокировать нечего и загружать нечего. Взамен вы получаете число, которое есть всегда, и теряете подробности.

Cookie-аналитикаСерверный счёт
Визит былДа, если скрипт отработалДа, всегда
Примерная географияДаДа, по адресу
Тип устройстваДаДа, из запроса
Тот же человек завтраВ теории; но не в WebViewНет, намеренно
Какую ссылку нажалиДа, если настроеноТолько через редирект
Куда ушёл дальшеИногдаНет
Поведение на других сайтахСо сторонними даннымиНет

Последний столбец короткий намеренно. Серверный счёт знает, что запрос пришёл, примерно из какой страны и города и с какого класса устройства. Он не знает, кто вы, что вы делали дальше и что происходило в остальном вашем браузере.

Хеш, который живёт одни сутки

Уникальных посетителей всё-таки надо как-то различать. Без cookie это делают так: берут адрес посетителя, подмешивают секрет, который меняется в полночь, считают хеш и хранят только его. В tapmy.link соль меняется в киевскую полночь, а строки удаляются через девяносто дней.

Внутри одного дня два запроса с одного адреса дают одинаковый хеш и считаются одним посетителем. На следующий день тот же адрес даёт совершенно другой хеш, никак не связанный со вчерашним. Из сохранённого нельзя восстановить адрес, и ничто не связывает человека с ним же самим через границу суток.

Это настоящее ограничение, а не сноска мелким шрифтом. Нельзя спросить, сколько посетителей понедельника вернулись в пятницу: данных для ответа сознательно не существует. Уникальные за тридцать дней — сумма дневных уникальных, а не тридцать дней наблюдения за одними и теми же людьми.

Единственное место, где нажатие можно посчитать

Из всего этого есть одно исключение, и берётся оно из устройства веба, а не из хитрости. Ссылка, которая ведёт прямо к цели, наблюдать себя не даёт: браузер идёт по адресу из кода страницы, и до нас запрос не доходит вовсе. Ссылка с собственным коротким адресом — mia.tapmy.link/shop — ведёт сначала к нам, и так же устроена та, что отправляет iPhone в App Store, а Android — в Google Play. На обе мы отвечаем редиректом. Ответ на запрос и есть тот самый момент, когда нажатие можно посчитать.

Поэтому короткая ссылка считается так же, как просмотр страницы: на сервере, до всяких скриптов, без cookie, под той же солью, которая меняется в полночь, и с тем же хранением в девяносто дней. Ради этого на страницу ничего не добавляется — ни маячка, ни обработчика нажатия, ничего, что сломается с отключёнными скриптами. Если на странице включена UTM-разметка, метки уезжают вместе с посетителем и читает их аналитика того, куда он пришёл, а не наша; метку, проставленную вами вручную, мы не трогаем.

Это выбор, который делают отдельно для каждой ссылки, и он не бесплатный. Ссылка, которая по-прежнему ведёт прямо к цели, хранит этот адрес в коде страницы, поэтому работает, что бы ни случилось с нами, — и не считается совсем. Сокращение меняет эту прямоту на число. Обычно коротких ссылок на странице оказывается две-три — те, от которых что-то зависит, — а остальные остаются как были.

Баннер, которого не нужно

Правила согласия в Европе обычно привязаны к тому, что записывают на устройство посетителя или читают с него, а не к аналитике как занятию. Странице, которая не ставит cookie и ничего не пишет в хранилище, просто нечего спрашивать. Отсюда и разница: одни сайты встречают баннером, другие честно обходятся без него.

Отсюда же небольшая асимметрия. Панели управления cookie сессии необходим: без него вход невозможен. Публичной странице, которую видит посетитель, не нужен никакой, и она его не ставит.

Как читать то число, которое у вас есть

Просмотры и уникальные посетители за семь и тридцать дней отвечают на меньшее число вопросов, чем от них ждут, — зато на эти немногие отвечают хорошо. Вся дисциплина в том, чтобы задавать только их.

  • Сравнивайте недели, а не дни: вторник — не среда, а в одном дне слишком мало трафика, чтобы он что-то значил.
  • Всплеск — это вопрос, а не ответ. Что-то произошло: видео зашло, кто-то поделился постом. Число говорит когда, остальное вы знаете сами.
  • Смотрите на отношение просмотров к уникальным. Просмотров сильно больше — люди возвращаются в течение дня; примерно поровну — заходят по разу.
  • Никогда не читайте просмотр как клик: считаются приходы на страницу, а не нажатия на ссылки внутри неё.
  • Записывайте, что и когда вы меняли. Статистика без списка собственных действий — просто линия на графике.

Какую именно ссылку нажали, счётчик просмотров не скажет никогда: это другое измерение, и здесь оно есть только там, где ссылке дали собственный короткий адрес. Понимать, где проходит граница, полезнее, чем делать вид, что число богаче, чем оно есть.

Читать дальше