У большинства сайтов есть баннер cookie, потому что он нужен их аналитике. Уберите требование, и баннер может уйти вместе с ним, а с ним и лежащая под ним проблема доли согласий, которая на самом деле вам и стоит.
Это изложение того, как правила работают на практике, а не юридическая консультация. Если ваш случай необычен, спросите у того, кто имеет квалификацию.
Правило о хранении, а не о cookie
Нужный текст — статья 5(3) Директивы ePrivacy, которую каждая страна ЕС ввела в своё право. Про cookie в ней ничего нет. Она покрывает хранение информации на оконечном оборудовании пользователя или получение доступа к информации, хранящейся на нём, на его телефоне, на его ноутбуке.
Эта формулировка намеренно нейтральна к технологии, и она закрывает вопрос, о котором до сих пор спорят. localStorage — это хранилище на устройстве пользователя. И sessionStorage, и запись в IndexedDB, и запись в кеше, используемая как идентификатор, и отпечаток canvas; последний потому, что чтение характеристик устройства и есть «получение доступа к информации, хранящейся на» устройстве.
Замена document.cookie на localStorage.setItem юридически не меняет ничего. Великое множество инструментов аналитики «без cookie» делает ровно это и на этом основании называет себя свободными от cookie. Проверка в том, пишется ли что-то на машину посетителя и читается ли с неё, а не в том, как называется API.
Освобождение и почему аналитика редко под него подходит
У статьи 5(3) два освобождения. Хранение допускается без согласия, когда оно либо имеет единственной целью осуществление передачи, либо строго необходимо для услуги, которую пользователь явно запросил.
«Строго необходимо» значит необходимо для того, о чём посетитель попросил. Корзина подходит: без неё оформление заказа, о котором посетитель попросил, не работает. Сессия входа подходит. Аналитика нет, потому что сайт прекрасно работает для посетителя независимо от того, считаете вы его или нет. Измерение запросили вы.
Отдельные надзорные органы оставили узкое место для замеров собственной аудитории. Самый ясный пример — французская CNIL: она публикует освобождение для аналитики, строго ограниченной замером аудитории самого сайта, используемой только оператором сайта, без межсайтового слежения и с ограничением срока хранения. Условия конкретны, и их стоит прочитать, если вы работаете во Франции. У большинства стран-членов аналога нет, и поэтому инструмент, вовсе не трогающий хранилище устройства, — позиция проще.
Во что вам обходится баннер
Помимо того что он уродлив, у баннера согласия есть измеримая цена: отказавшихся посетителей нет в ваших данных.
Точная доля зависит от вашей аудитории, вашей географии и от того, как сформулирован баннер, поэтому относитесь с подозрением к любой опубликованной цифре, включая уверенные. Устойчиво в них направление. Те, кто отказывается скорее всего, смещены к заботящимся о приватности, к техническим и к тем, кто блокирует рекламу, а это не случайная выборка вашего трафика. Ваша аналитика перестаёт быть подсчётом и становится опросом с самоотобранной группой респондентов.
Это искажение расходится дальше. Конверсия считается против знаменателя, в котором не хватает неизвестной доли визитов. В атрибуции по каналам не хватает тех каналов, откуда эти посетители пришли. Результаты A/B-тестов берутся из подмножества, согласившегося на измерение.
Хуже того, потеря молчалива. Ничто на панели не говорит «и произошло ещё на 30% визитов больше, которых вы не видите». Числа выглядят полными.
Как выглядит личность без хранения на устройстве
Если на устройство ничего писать нельзя, очевидный вопрос — как вообще отличить одного посетителя от другого.
Ответ — выводить идентификатор на сервере из того, что запрос и так несёт, обычно из IP-адреса, строки браузера, сайта и даты, и хешировать это вместе с секретом, который меняется. Ежедневная смена секрета означает, что завтра идентификатор данного посетителя другой и восстановить его потом нельзя даже тому, у кого лежат данные.
Это даёт вам точные подсчёты внутри дня и намеренно лишает возможности следить за человеком через дни. Это настоящий размен, и стоит прямо сказать, каких отчётов он вам стоит:
- Уникальные посетители за день, сессии, показатель отказов, источники, страницы, конверсии работают нормально.
- Доли вернувшихся и многодневные когорты возвращаемости — нет. Не могут, потому что весь смысл в том, что вчерашний идентификатор невосстановим.
Всякий, кто утверждает, что можно иметь личность через дни, ничего не храня на устройстве и без постоянного идентификатора, описывает отпечаток, как бы он это ни называл, а отпечаток лежит ровно внутри статьи 5(3).
Где здесь Skomi
Skomi выводит личность на сервере из соли, которая меняется каждый день и нигде не записывается. Трекер не пишет cookie и не трогает хранилище на устройстве посетителя; код, который делал бы это, не просто выключен, а убран из файла, который скачивает браузер, а это заметно иное утверждение, чем «мы им не пользуемся».
Когорты возвращаемости — тот отчёт, которого это стоит, и на странице Analytics это сказано прямо, а не закопано. Сайт, которому они нужны, может включить личность с хранением на устройстве для конкретного сайта, и с этого момента ему снова нужен баннер, и это честное описание того, что делает переключатель.
Ещё одно, что стоит проверить в любом оцениваемом инструменте: может ли поставщик связать ваших посетителей между другими сайтами, которые он измеряет. Идентификатор на сайт, никогда не пересекающий границы сайтов, — иная позиция по приватности, чем глобальный, и обычно об этом не пишут в рекламе.
Что проверить на своём сайте
- Откройте свой сайт в приватном окне с открытыми инструментами разработчика.
- Прежде чем что-либо принимать, посмотрите Application → Local Storage, Session Storage, IndexedDB и Cookies.
- Всё, что там есть, записано до согласия. Если это положила ваша аналитика, баннер юридически для вас не делает ничего, потому что хранение уже произошло.
Третий пункт ловит больше сайтов, чем любая другая отдельная ошибка. Баннер, появляющийся после того, как трекер уже записал свой идентификатор, — украшение.
Если вы хотите, чтобы именно инструмент был причиной, по которой баннер может уйти, значение Skomi по умолчанию построено ради этого. Страницы сравнения говорят, у кого из альтернатив такое же значение по умолчанию, а у кого нет, включая строки, которые они выигрывают.
У механизма есть имя и определение: без cookie означает личность, выведенную на сервере из ежедневно меняющейся соли, и поэтому же вернувшийся на следующей неделе посетитель считается новым.