Cookie и аналитика

Описание фактической реализации · редакция 1.1 · действует с 4 сентября 2026 г.

1. Как работает выбор

До вашего решения сторонние теги Google и Яндекса не загружаются. «Принять все» и «Отклонить необязательные» показаны как равнозначные действия; через «Настроить» категории можно выбрать отдельно.

Решение хранится локально в браузере вместе с версией и временем выбора. Новая версия механизма согласия потребует нового решения.

2. Категории

Необходимые — всегда активны

Обеспечивают защиту формы, идентификатор запроса, предотвращение дублей, проверку подтверждённой доставки и хранение самого выбора. Без этих механизмов публичная форма не работает надёжно.

Аналитика — по выбору

Разрешает загрузку GA4 и Яндекс Метрики для аналитики, если корректные рабочие ID заданы в окружении. При этом Метрика включает Вебвизор, карту кликов, отслеживание ссылок и точный показатель отказов; ввод в поля заявки маскируется.

Реклама — по выбору

Разрешает Google Ads tag, Яндекс Метрику как транспорт цели Директа, рекламные click ID (gclid, gbraid, wbraid, yclid), Metrika ClientID и отправку подтверждённой рекламной конверсии, если адаптер и ID настроены. Само сохранение заявки не считается подтверждённой доставкой.

3. Провайдеры и запросы

  • Cloudflare Turnstile загружается для защиты формы, когда ключи Turnstile настроены.
  • До загрузки Google tag Consent Mode v2 устанавливает analytics/ad storage, ad user data и ad personalization в denied; после выбора обновляются только разрешённые категории.
  • Google tag загружается с googletagmanager.com только после разрешения нужной категории и при валидном GA4 или Google Ads ID.
  • Яндекс Метрика загружается с mc.yandex.ru после разрешения аналитики или рекламного измерения и при валидном номере счётчика. Автоматическая отправка просмотра отключена: просмотр страницы и click/link analytics включаются только для категории «Аналитика», а при выборе только «Реклама» счётчик используется для ClientID и подтверждённой рекламной цели.
  • Если ID отсутствует или не соответствует ожидаемому формату, код провайдера не создаёт сетевой запрос.

4. Атрибуция заявки

UTM-метки сохраняются в payload заявки для совместимости с действующей формой. First/last touch, рекламные click ID и Metrika ClientID добавляются в отдельный блок атрибуции только при разрешённой необязательной категории, ограничены по длине и хранятся в браузере не более 30 дней с момента фиксации соответствующего значения. Повторное обнаружение того же click ID или Metrika ClientID не продлевает срок. При следующем обращении к сайту просроченные записи и старые записи без подтверждённого времени автоматически удаляются.

В заявку также могут входить время фиксации first/last touch и Metrika ClientID, версия и время согласия, вариант страницы и совпадающий с заявкой request ID. Сервер отбрасывает рекламные идентификаторы без разрешения категории «Реклама», без актуального времени фиксации или старше 30 дней, сохраняя разрешённые UTM-метки и саму заявку.

30-дневный срок относится к браузерной атрибуции до отправки формы. Актуальные сведения, уже вошедшие в CRM-заявку, хранятся как часть этой заявки в сроки основной политики обработки данных и не получают новый срок из-за повторного обнаружения того же идентификатора.

Если CRM ещё не подтвердила доставку, браузер хранит до 30 дней минимальный технический snapshot для отложенной фиксации конверсии: request ID, исходные категории и время согласия, а также уже выбранного провайдера. В нём нет полей заявки, UTM, click ID, варианта страницы, PII или секретов. Snapshot удаляется после подтверждённой доставки, terminal-ошибки, явного сброса заявки, полного отказа от необязательных категорий либо по истечении срока.

Для защиты от повторной клиентской фиксации вкладки используют origin-wide Web Lock и общий versioned localStorage ledger. Ledger содержит только канал, request ID, состояние и технические timestamps: claim действует 30 секунд, отметка done — не более 30 дней. При недоступных Web Locks, ошибке хранилища или повреждённой записи клиентская конверсия не отправляется; каноническим остаётся CRM offline conversion outbox.

Браузер не может доказать строгое exactly-once провайдеру: вызов GA4/Ads/Метрики подтверждает постановку в локальную очередь, но не сетевое принятие. Mutex исключает одновременный вызов из двух исправных вкладок, а lease восстанавливает сбой до вызова. Сбой после постановки провайдеру, но до записи done остаётся узким окном возможного повтора; его окончательно контролирует CRM outbox с серверной дедупликацией.

5. Как изменить или отозвать выбор

Откройте настройки, отключите категории и сохраните. Если ранее загруженный провайдер отключается, страница перезагрузится, чтобы он не инициализировался повторно.

Отзыв любой ранее разрешённой необязательной категории удаляет сохранённую атрибуцию, необязательный conversion snapshot и client conversion ledger. Технический request ID незавершённой заявки сохраняется только для предотвращения дубля и проверки доставки. Новое согласие не возобновляет отправку по старому snapshot. Также можно очистить данные сайта в настройках браузера: это удалит выбор и все локальные записи; при следующем посещении сайт снова задаст вопрос.

6. Границы документа

Этот текст описывает текущую техническую реализацию сайта и не заменяет проверку договоров, рекламных аккаунтов, сроков хранения у провайдеров и применимых правовых требований перед production-запуском.

Основные правила обработки персональных данных приведены в политике обработки персональных данных. Вопросы можно направить на aiforbiz.by@gmail.com.