Как работает cookie
Cookie — это пара «ключ–значение», которую браузер хранит локально и автоматически прикрепляет к HTTP-запросам на соответствующий домен.
Упрощённый цикл:
1. Пользователь впервые открывает сайт.
2. Сервер отвечает с заголовком Set-Cookie: user_id=abc123; Max-Age=2592000; Secure.
3. Браузер сохраняет куку.
4. При следующем запросе к тому же домену браузер автоматически добавляет Cookie: user_id=abc123.
5. Сервер идентифицирует пользователя и показывает персонализированный контент.
Ключевые атрибуты cookie
| Атрибут | Значение | Зачем нужен |
|---|---|---|
Max-Age / Expires |
Срок жизни | Cookie без срока = сессионная (удаляется при закрытии браузера) |
Secure |
Только HTTPS | Защита от перехвата по незащищённому соединению |
HttpOnly |
Недоступен JS | Защита от XSS-атак (чтение через document.cookie невозможно) |
SameSite=Strict/Lax |
Политика кросс-сайтовой отправки | Защита от CSRF |
Domain |
К какому домену привязана | .example.com — для всех поддоменов |
Cookie в персонализации и A/B-тестировании
Для платформ персонализации cookie выполняют две критически важные задачи:
1. Анонимная идентификация. До авторизации пользователь — анонимус. Cookie позволяет привязать историю просмотров, добавлений в корзину и клики к одному профилю и использовать эти данные для рекомендаций.
2. Sticky assignment в A/B-тестах. При распределении по группам cookie фиксирует принадлежность: ab_group=variant_b. Если удалить куку, пользователь может оказаться в другой группе — это «загрязняет» результаты теста.
Важно: при интеграции платформы персонализации убедитесь, что cookie устанавливается как first-party (на домене магазина), а не third-party. Браузеры блокируют third-party куки всё агрессивнее, и данные будут теряться.
Деградация cookie и альтернативы
Safari блокирует third-party cookie с 2020 года (ITP), Firefox — с 2019, Chrome объявлял о планах отказа (Privacy Sandbox). Это существенно меняет экосистему рекламной атрибуции и аналитики.
Для персонализации это менее критично, потому что:
— Платформа персонализации устанавливает first-party cookie на домене магазина.
— Авторизованные пользователи идентифицируются по ID в базе данных, а не по куке.
— LocalStorage — альтернатива для сессионных данных, не требующих отправки на сервер.