Подписывайтесь на Telegram-канал Анатолия Половинкина основателя компании TolkaDigital

Куки

Cookies

Куки (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, и как это компенсировать. Это не техническая деталь — это стратегический вопрос, от которого зависит эффективность всего рекламного бюджета и точность атрибуции конверсий.

Как работают куки

  1. Первый запрос без куки. Когда пользователь впервые открывает сайт, браузер отправляет HTTP GET-запрос без каких-либо куки — сервер получает запрос от анонимного клиента и не может ничего вспомнить об этом посетителе. Сервер обрабатывает запрос и генерирует ответ, одновременно принимая решение: нужно ли отслеживать этого пользователя или сохранить какие-то данные для будущих запросов. Если это интернет-магазин, сервер создает анонимную корзину и хочет сохранить её идентификатор для последующих визитов.
  2. Установка куки через заголовок Set-Cookie. Сервер добавляет в HTTP-ответ специальный заголовок вида Set-Cookie: sessionid=abc123; Max-Age=86400; HttpOnly; Secure. Каждый атрибут несет конкретный смысл: Max-Age задает срок жизни куки в секундах, HttpOnly запрещает JavaScript читать куки (защита от XSS-атак), Secure требует передачи только по HTTPS, Path и Domain ограничивают область применения куки конкретными URL или поддоменами. Браузер получает ответ, разбирает заголовок Set-Cookie и сохраняет данные в свое специализированное хранилище.
  3. Хранение куки на устройстве пользователя. Браузер записывает куки в отдельное хранилище — для каждого профиля пользователя оно свое. Chrome хранит куки в SQLite-базе в папке профиля, Firefox использует аналогичную структуру. Браузер отслеживает домен, для которого установлен куки, дату истечения и все атрибуты безопасности. Куки без атрибута Max-Age или Expires считается сессионным — браузер хранит его только в оперативной памяти и удаляет при закрытии. Постоянные куки с явным сроком хранятся на диске до истечения или до ручной очистки пользователем.
  4. Автоматическая отправка куки с каждым запросом. При следующем обращении к тому же домену браузер автоматически добавляет в HTTP-запрос заголовок Cookie: sessionid=abc123 — без каких-либо действий со стороны пользователя или JavaScript. Это происходит для всех ресурсов домена: страниц, изображений, CSS-файлов, API-запросов. Именно поэтому куки называют «stateful»-механизмом: они передают состояние от одного запроса к другому, создавая непрерывный контекст сессии. Атрибут SameSite=Strict ограничивает отправку куки только для запросов с того же домена, SameSite=Lax разрешает отправку при стандартных переходах по ссылкам.
  5. Сервер читает куки и формирует персонализированный ответ. Получив запрос с куки, сервер извлекает идентификатор, ищет данные пользователя в базе данных и формирует ответ: показывает товары корзины, отображает имя пользователя, применяет сохраненные настройки фильтров или региона. В случае аналитических куки Яндекс.Метрика читает идентификатор _ym_uid и привязывает текущий визит к истории браузера — так строится цепочка сессий одного пользователя, по которой аналитик видит путь от первого посещения до покупки.
  6. Истечение, обновление или удаление куки. Когда срок жизни куки истекает, браузер автоматически удаляет его и перестает отправлять с запросами — пользователь для сервера снова становится «новым». Сервер может обновить куки в любой момент, отправив 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 году, частично решает проблему, перемещая установку куки на сторону сервера.

Все термины