Куки (cookies, HTTP-куки) — небольшие текстовые файлы весом до 4 килобайт, которые веб-сервер отправляет браузеру и которые браузер сохраняет на устройстве пользователя. При каждом следующем обращении к тому же домену браузер автоматически передает куки обратно — так сайт «узнает» посетителя, сохраняет его сессию, корзину и предпочтения.
Что такое куки
Куки — это текстовые пары «ключ-значение», которые браузер хранит на устройстве пользователя и автоматически передает серверу при каждом HTTP-запросе к домену, который их установил. Внутри могут находиться: идентификатор сессии, токен авторизации, идентификатор корзины, настройки языка, идентификатор пользователя для аналитики. Технически куки не могут читать файлы с диска, запускать код или передавать данные третьим лицам напрямую — они лишь хранят текст и путешествуют между браузером и сервером в HTTP-заголовках. Стандарт строго ограничивает размер одного куки до 4096 байт, а количество куки от одного домена — до 50 штук в большинстве браузеров. Без куки каждый переход по страницам сайта сервер воспринимал бы как запрос от нового незнакомого пользователя, и авторизация, корзина покупок и любая персонализация были бы невозможны. Именно это делает куки фундаментальным механизмом для всего современного веба — технология, без которой интернет выглядел бы как набор статичных страниц без памяти.
Куки изобрел инженер Netscape Лу Монтулли в 1994 году, решая конкретную бизнес-задачу: реализовать виртуальную корзину покупателя без хранения состояния на перегруженном сервере. Первый браузер Mosaic Netscape поддержал куки в том же 1994 году, Internet Explorer подхватил технологию в 1995-м, а в 1997 году IETF опубликовал RFC 2109 — первый официальный стандарт. За 30 лет сама механика почти не изменилась, но над ней выросла мощная регуляторная надстройка: европейский закон ePrivacy 2002 года ввел требование информировать пользователей о куки, директива 2009 года добавила требование получать согласие, регламент GDPR 2018 года сделал его обязательным с штрафами до 4% годового оборота компании. Поэтому сегодня любой сайт для европейской аудитории встречает посетителя баннером согласия на куки. В России прямого требования о куки-баннере в 152-ФЗ нет, однако крупные e-commerce-платформы его показывают для зарубежных пользователей и как стандарт прозрачности. Показательно, что технология, которую один инженер придумал для корзины покупок, за три десятилетия стала предметом международных регуляторных актов.
В digital-маркетинге куки выполняют три критические функции: аналитику, персонализацию и ретаргетинг. Аналитические системы — Яндекс.Метрика, Google Analytics, Mixpanel — используют куки, чтобы отличать новых пользователей от вернувшихся, строить воронки конверсии, измерять время на сайте и атрибутировать конверсии к источникам трафика. Без куки каждый визит засчитывался бы как новый, и сегментация аудитории по поведению была бы невозможна. Пиксели ретаргетинга — ВКонтакте, Яндекс.Аудитории, myTarget — сохраняют в куки идентификаторы посетителей, чтобы потом показывать им рекламу на других сайтах: именно так работают «догоняющие» объявления, которые пользователи видят после посещения интернет-магазина. Персонализация на e-commerce-сайтах — рекомендации товаров, история просмотров, сохраненные адреса доставки — тоже строится на куки. По данным исследования Adobe Analytics 2023 года, персонализированные рекомендации на основе куки увеличивают выручку e-commerce в среднем на 10-30% по сравнению с неперсонализированными сайтами.
Маркетолог, который не разбирается в механике куки, регулярно допускает ошибки в аналитике и рекламных кампаниях. Самая распространенная — неправильная интерпретация метрики «новые пользователи»: если человек зашел с другого браузера или очистил куки, система посчитает его новым, хотя он уже знаком с сайтом. Переход браузерной индустрии на Privacy Sandbox и отказ Chrome от сторонних куки — один из крупнейших структурных сдвигов в digital-маркетинге за последние 10 лет, который затронет весь перформанс-маркетинг. Рекламные форматы, построенные на кросс-сайтовых куки, требуют замены на server-side tracking, first-party data стратегии и Conversion API платформ. Предприниматель, понимающий разницу между первичными и сторонними куки, знает, почему его рекламный охват в Safari ниже, чем в Chrome, и как это компенсировать. Это не техническая деталь — это стратегический вопрос, от которого зависит эффективность всего рекламного бюджета и точность атрибуции конверсий.
Как работают куки
- Первый запрос без куки. Когда пользователь впервые открывает сайт, браузер отправляет HTTP GET-запрос без каких-либо куки — сервер получает запрос от анонимного клиента и не может ничего вспомнить об этом посетителе. Сервер обрабатывает запрос и генерирует ответ, одновременно принимая решение: нужно ли отслеживать этого пользователя или сохранить какие-то данные для будущих запросов. Если это интернет-магазин, сервер создает анонимную корзину и хочет сохранить её идентификатор для последующих визитов.
- Установка куки через заголовок Set-Cookie. Сервер добавляет в HTTP-ответ специальный заголовок вида Set-Cookie: sessionid=abc123; Max-Age=86400; HttpOnly; Secure. Каждый атрибут несет конкретный смысл: Max-Age задает срок жизни куки в секундах, HttpOnly запрещает JavaScript читать куки (защита от XSS-атак), Secure требует передачи только по HTTPS, Path и Domain ограничивают область применения куки конкретными URL или поддоменами. Браузер получает ответ, разбирает заголовок Set-Cookie и сохраняет данные в свое специализированное хранилище.
- Хранение куки на устройстве пользователя. Браузер записывает куки в отдельное хранилище — для каждого профиля пользователя оно свое. Chrome хранит куки в SQLite-базе в папке профиля, Firefox использует аналогичную структуру. Браузер отслеживает домен, для которого установлен куки, дату истечения и все атрибуты безопасности. Куки без атрибута Max-Age или Expires считается сессионным — браузер хранит его только в оперативной памяти и удаляет при закрытии. Постоянные куки с явным сроком хранятся на диске до истечения или до ручной очистки пользователем.
- Автоматическая отправка куки с каждым запросом. При следующем обращении к тому же домену браузер автоматически добавляет в HTTP-запрос заголовок Cookie: sessionid=abc123 — без каких-либо действий со стороны пользователя или JavaScript. Это происходит для всех ресурсов домена: страниц, изображений, CSS-файлов, API-запросов. Именно поэтому куки называют «stateful»-механизмом: они передают состояние от одного запроса к другому, создавая непрерывный контекст сессии. Атрибут SameSite=Strict ограничивает отправку куки только для запросов с того же домена, SameSite=Lax разрешает отправку при стандартных переходах по ссылкам.
- Сервер читает куки и формирует персонализированный ответ. Получив запрос с куки, сервер извлекает идентификатор, ищет данные пользователя в базе данных и формирует ответ: показывает товары корзины, отображает имя пользователя, применяет сохраненные настройки фильтров или региона. В случае аналитических куки Яндекс.Метрика читает идентификатор _ym_uid и привязывает текущий визит к истории браузера — так строится цепочка сессий одного пользователя, по которой аналитик видит путь от первого посещения до покупки.
- Истечение, обновление или удаление куки. Когда срок жизни куки истекает, браузер автоматически удаляет его и перестает отправлять с запросами — пользователь для сервера снова становится «новым». Сервер может обновить куки в любой момент, отправив Set-Cookie с тем же именем и новым значением или новым сроком. Пользователь вправе вручную удалить куки через настройки браузера или расширения — именно поэтому 100%-ная точность идентификации через куки недостижима: по данным Google, около 30-40% идентификаторов теряется из-за очистки куки и кросс-устройственного поведения пользователей.
Виды куки
- Сессионные куки. Существуют только в течение одной сессии браузера и удаляются при его закрытии — браузер хранит их исключительно в оперативной памяти, не записывая на диск. Используются для авторизации на период работы: пока браузер открыт, пользователь остается залогиненным, после закрытия сессия сбрасывается. Интернет-банкинг и государственные порталы намеренно применяют сессионные куки из соображений безопасности — чтобы чужой человек, севший за компьютер, не нашел пользователя в авторизованном состоянии.
- Постоянные куки. Хранятся на устройстве до наступления даты в атрибуте Expires или в течение времени из Max-Age — от нескольких дней до нескольких лет. Яндекс.Метрика хранит идентификатор посетителя _ym_uid ровно 1 год, чтобы отслеживать возвраты и строить метрику удержания аудитории. Функция «Запомнить меня» на сайтах реализована именно через постоянный куки с долгим сроком жизни — чаще всего 30-90 дней. Маркетолог должен понимать: очистка куки пользователем сбрасывает все постоянные идентификаторы и дробит его историю на несвязанные визиты, что искажает аналитику.
- Первичные куки (first-party cookies). Устанавливаются доменом сайта, который пользователь открыл напрямую, — браузер хранит их в разделе этого домена и отправляет только при запросах к нему. Все современные браузеры, включая Safari и Firefox, поддерживают первичные куки и не планируют их блокировать. Именно на первичных куки строятся авторизация, корзина, аналитика собственной платформы и весь CRM. Server-side tracking — перенос маркетинговых пикселей на сервер — по сути превращает сторонние куки в первичные, что позволяет обойти браузерные ограничения и сохранить точность ретаргетинга.
- Сторонние куки (third-party cookies). Устанавливаются доменом, отличным от того, который пользователь открыл напрямую. Когда на странице интернет-магазина загружается пиксель Яндекс.Аудиторий или ВКонтакте, его скрипт записывает куки от имени домена рекламной платформы — это и есть сторонние куки. Именно они позволяют рекламным сетям отслеживать пользователей между разными сайтами и строить ретаргетинговые сегменты. Safari заблокировал сторонние куки еще в 2017 году через механизм ITP, Firefox — в 2019-м, Chrome анонсировал постепенный отказ с переходом на Privacy Sandbox.
- Аналитические куки. Собирают статистику о поведении пользователей — просмотренные страницы, время на сайте, источник перехода, совершенные действия. Яндекс.Метрика использует _ym_uid (уникальный идентификатор, срок 1 год) и _ym_d (дата первого визита), Google Analytics 4 — _ga (2 года) и _ga_XXXX (session cookie). Аналитические куки не персонализируют рекламу напрямую, но при совместном использовании с рекламными пикселями позволяют строить детальные сегменты аудиторий для таргетинга. По требованиям GDPR аналитические куки требуют согласия пользователя наравне с маркетинговыми — это частая ошибка при настройке Consent Mode.
- Маркетинговые куки. Устанавливаются рекламными пикселями для идентификации пользователей, отслеживания их действий на сайте и последующего таргетирования рекламы. Пиксель ВКонтакте записывает куки _vk_id, Meta Pixel — _fbp и _fbc, Яндекс — yabs-sid и _ym_visorc. После визита пользователя рекламные платформы могут показывать ему таргетированную рекламу от 30 до 90 дней в зависимости от настроек окна атрибуции. Маркетинговые куки наиболее чувствительны к регуляторным требованиям и браузерным блокировкам — потеря сторонних маркетинговых куки прямо снижает охват ретаргетинговых кампаний и точность атрибуции конверсий.
Сравнение
| Параметр | Куки | localStorage | sessionStorage | Серверная сессия |
|---|---|---|---|---|
| Место хранения | Браузер на устройстве | Браузер на устройстве | Браузер, только текущая вкладка | База данных на сервере |
| Срок жизни | Задается сервером — от сессии до нескольких лет | Бессрочно до ручной очистки | До закрытия вкладки или браузера | До истечения сессии на сервере |
| Размер данных | До 4 КБ на один куки | До 5-10 МБ в зависимости от браузера | До 5-10 МБ в зависимости от браузера | Практически не ограничен |
| Отправка с HTTP-запросами | Автоматически при каждом запросе к домену | Не отправляется — только через JS | Не отправляется — только через JS | Только идентификатор сессии (обычно через куки) |
| Доступ из JavaScript | Только если нет флага HttpOnly | Полный доступ через window.localStorage | Полный доступ через window.sessionStorage | Нет прямого доступа с клиента |
| Применение в маркетинге | Аналитика, ретаргетинг, авторизация, персонализация | Кеш приложения, пользовательские настройки | Временные данные форм, шаги оформления заказа | Безопасное хранение данных сессии без клиентского доступа |
Пример использования
Интернет-магазин детской одежды с трафиком 42 000 визитов в месяц работал без ретаргетинга и сохраненных корзин. Доля брошенных корзин составляла 74%, конверсия в заказ — 0,9%, средняя выручка с одного визита — 180 рублей. Пользователи добавляли товары, уходили и не возвращались — магазин не собирал первичных данных через куки, не имел аудиторий для ретаргетинга и не мог напомнить пользователям о незавершенных покупках.
Команда подключила пиксель Яндекс.Аудиторий и ВКонтакте, настроила первичные куки для сохранения корзины на 30 дней и запустила ретаргетинговую кампанию с напоминанием о брошенных товарах. За 45 дней конверсия выросла с 0,9% до 2,1%, доля восстановленных корзин составила 19%, средняя выручка с визита увеличилась с 180 до 390 рублей — рост на 117%. Рекламный бюджет на ретаргетинг составил 28 000 рублей, дополнительная выручка за период — около 340 000 рублей. ROI кампании превысил 1100%.
Частые вопросы
Могут ли куки угрожать безопасности пользователя?
Куки сами по себе не опасны — они просто хранят текст и не могут запускать код. Угрозы возникают при неправильной настройке: без флага HttpOnly JavaScript на вредоносной странице может прочитать куки авторизации через XSS-атаку и захватить сессию пользователя. Без флага Secure куки передается по незащищенному HTTP и может быть перехвачен через атаку «человек посередине». CSRF-атаки эксплуатируют автоматическую отправку куки: злоумышленник заставляет авторизованного пользователя сделать нежелательный запрос от его имени. Атрибут SameSite=Strict или SameSite=Lax закрывает большинство CSRF-уязвимостей, запрещая отправку куки в межсайтовых контекстах. Для маркетолога более актуален другой аспект: куки позволяют рекламным сетям собирать профиль поведения пользователя на тысячах сайтов — именно это порождает регуляторные ограничения и общественную дискуссию о приватности, которая в итоге меняет весь ландшафт digital-рекламы.
Почему Safari и Firefox блокируют сторонние куки, а реклама все равно работает?
Safari начал блокировать сторонние куки в 2017 году через механизм ITP (Intelligent Tracking Prevention), Firefox ввел полную блокировку в 2019 году — вместе они занимают около 30-35% браузерного рынка по данным StatCounter 2024 года. Реклама продолжает работать, потому что у платформ есть альтернативные методы идентификации. Fingerprinting позволяет идентифицировать устройство без куки — по комбинации разрешения экрана, установленных шрифтов, версии браузера и десятков других параметров. Server-side tracking переносит установку куки на сервер клиента: куки ставится от имени домена самого сайта, а не рекламной платформы, поэтому браузер не блокирует его как сторонний. Авторизованные аудитории — пользователи ВКонтакте или Яндекс ID, вошедшие в свои аккаунты — идентифицируются через логин, а не куки, что дает стабильный идентификатор поперек устройств. Точность таргетинга в Safari в среднем на 15-25% ниже по сравнению с Chrome — это нужно учитывать при планировании охвата и не удивляться расхождению в отчетах по устройствам.
Как куки влияют на точность данных в Яндекс.Метрике?
Яндекс.Метрика использует первичные куки _ym_uid, которые большинство браузеров не блокируют — поэтому прямая блокировка сторонних куки влияет на нее меньше, чем на рекламные пиксели. Главная угроза — пользователи, которые вручную блокируют все куки или используют расширения типа uBlock Origin: по данным ряда отраслевых исследований, в России такие расширения установлены примерно у 25-35% пользователей десктопных браузеров. При блокировке куки Яндекс.Метрика не может связать несколько визитов одного пользователя — каждый сеанс засчитывается как новый, что завышает число новых пользователей и искажает воронку конверсии. Метрика «вернувшиеся пользователи» при высоком уровне блокировки куки может оказаться заниженной в 1,5-2 раза по сравнению с реальностью. Практическая рекомендация: сравнивать данные Метрики с данными CRM по числу уникальных клиентов — расхождение более 20-30% сигнализирует о проблемах с куки или некорректной настройке счетчика. Server-side вариант тега Яндекс.Метрики, выпущенный в 2023 году, частично решает проблему, перемещая установку куки на сторону сервера.