Сторонние cookie исчезли, разрешения IDFA упали до 20%, Safari ITP удаляет все скрипты отслеживания за 24 часа. В 2026 году перформанс-маркетинг — это инженерная дисциплина. Вы больше не можете полагаться на браузер, чтобы узнать, какая кампания принесла сколько конверсий — вы должны построить архитектуру сигналов. Эта статья показывает, как встроить маркетинг-технологию в инженерный фреймворк.
Как работает атрибуция в эпоху после cookie
До 2023 года перформанс-маркетинг был простым: клиентский скрипт видел всё, пиксели платформ отслеживали cross-domain, атрибуция была автоматической. В 2026 году такого мира больше не существует. Теперь сигналы собираются в трёх слоях: событие браузера, первосторонний сервер, API платформы. Без интеграции этих слоёв атрибуция неполная.
Чтобы предотвратить потерю сигналов, Conversion API (CAPI) больше не опционален — это обязательно. Meta, Google, TikTok — все принимают события на сервере. Но отправить событие на сервер недостаточно — вы должны хранить на сервере информацию о том, какой пользователь нажал на какую кампанию. Это означает first-party cookie, хранилище сессии, сопоставление ID пользователя. Cookie исчезли, но ваш собственный cookie жив, и это основа атрибуции.
Server-side GTM (sGTM) — самый распространённый выбор для построения этого слоя. Вы можете запустить его на Cloud Run, переместить все теги платформ в контейнер, снизить нагрузку на клиента + избежать ITP. Но sGTM сам по себе — не полное решение; важно как вы отправляете сигнал на сервер. Нужно преобразовать события dataLayer в данные потока + правильно заполнить параметры user_data. Если они отсутствуют, платформа не может моделировать, ROAS выглядит неверно.
Гибридный подход: детерминированное + вероятностное моделирование
В старой атрибуции каждый клик можно было отследить, модель была детерминированной. Теперь потеря сигналов составляет ~40% (пользователи iOS Safari, блокировщики рекламы, трафик VPN). Эту потерянную область заполняет вероятностное моделирование. Google Enhanced Conversions, Meta CAPI + browser event enrichment, TikTok Events API — все используют машинное обучение для предсказания отсутствующих путей click-conversion.
Для работы вероятностной модели требуются 3 входных параметра:
| Параметр | Описание | Пример |
|---|---|---|
| First-party идентификатор | Хеш email, хеш телефона, user_id | SHA-256(email) |
| Метаданные события сервера | IP, user_agent, fbc/fbp cookie | x-forwarded-for заголовок |
| Значение конверсии | Реальная сумма транзакции | событие purchase с value=149.90 |
Если вы не отправляете эти три данных последовательно платформам, моделирование работает неправильно. Особенно если отсутствует хеш email, Meta CAPI выдаст предупреждение "low-match-quality", оптимизация кампании упадёт. Чтобы это исправить, вам нужно захватить email в форме checkout перед отправкой и захешировать его на сервере. Хеширование на клиенте сбоку GDPR рисков, делайте это на сервере.
Слепая зона вероятностного моделирования: вы не можете провести валидацию на уровне сегмента. Платформа говорит вам "эта кампания принесла 5x ROAS", но какая аудитория, какой креатив, какой регион? Чтобы это контролировать, нужно проводить geo-holdout тесты или matched-market MMM. Без измерения приращения (incrementality) не полагайтесь на вероятностный ROAS на 100%.
Стратегия ставок привязана к качеству сигнала
В старые времена вы устанавливали целевой ROAS кампании, и платформа оптимизировала. В 2026 году алгоритм ставок чувствителен к качеству сигнала. Если в Google Target ROAS приходят конверсии низкого качества, модель учится неправильно, бюджет тратится на трафик низкого намерения. Чтобы решить эту проблему, нужно установить правила значения конверсии.
Пример: сайт электронной коммерции отправляет Google как события "add_to_cart", так и "purchase". Add-to-cart считается конверсией, но имеет низкое значение. Алгоритм Google оптимизирует для add-to-cart, количество purchase не растёт. Решение: исключить add-to-cart из первичных конверсий, оставить как вторичную, основывать ставки только на purchase. Также правильно отправляйте параметр value в событие purchase — если покупатель потратил 500 TL, отправьте value: 500, не пишите статичное value: 1.
В Meta аналогичная ситуация с Advantage+ Shopping Campaigns (ASC). ASC объединяет весь каталог в одну кампанию, алгоритм автоматически тестирует комбинации креатива и аудитории. Но это работает только при качественном сигнале: каждое событие purchase должно содержать правильно отформатированный массив content_ids и объект contents. Если эти данные отсутствуют, Meta не сможет определить, какой продукт оптимизировать для какой аудитории, кампания привлечет общий трафик.
Другое изменение в ставках: целевой tCPA/tROAS больше нельзя корректировать еженедельно. Платформа строит цикл обучения на основе ежедневного объёма конверсий (в Google ~50 конверсий/неделя), ниже этого платит "limited by budget", CPA достигает потолка. При запуске новой кампании лучше начать со стратегии ставок Maximize Conversions + ручной bid cap по CPC на первые 7-10 дней. После того как качество сигнала установлено, переходите на Target ROAS.
Кросс-канальная оркестрация и дедупликация сигналов
Перформанс-маркетинг больше не одноканальная игра. Пользователь видит визуальный материал в Google, изучает его в Instagram, видит скидку в email, покупает на сайте. В этом customer journey 3 канала, но конверсия должна считаться один раз. Если вы не делаете дедупликацию, платформы выдают сумму как 3x, и менеджмент предоставляет CFO неверные цифры.
Дедупликация сигналов решается в двух местах: на уровне платформы и на уровне data warehouse. На уровне платформы отправляйте параметры event_id и event_time с каждым событием. Если Meta, Google или TikTok видят один и тот же event_id в течение 48 часов, они считают его дубликатом и обрабатывают конверсию один раз. Однако платформы не видят друг друга — покупка в Google невидима для Meta. Поэтому в data warehouse нужна центральная таблица атрибуции.
Схема таблицы customer journey в BigQuery или Snowflake:
CREATE TABLE attribution_log (
user_id STRING,
session_id STRING,
event_timestamp TIMESTAMP,
channel STRING, -- google_ads, meta, email, organic
campaign_id STRING,
conversion_value FLOAT64,
is_attributed BOOLEAN
);
События всех каналов поступают в эту таблицу. Затем вы пишете dbt модель: для каждого user_id + conversion_timestamp определяете первый и последний нажатый канал (first-touch, last-touch). Вы подключаете эту модель к Looker Studio, и менеджмент видит кросс-канальный ROAS отсюда. Панели инструментов платформ остаются для внутреннего бенчмарка.
Вторая сложность в кросс-канальной оркестрации: синхронизация аудиторий ремаркетинга. Пользователь пришёл из Google Ads, добавил товар в корзину, но не купил. Вы хотите добавить его в аудиторию ремаркетинга Meta. Вы можете автоматизировать это с помощью CDP (Segment, RudderStack, Hightouch): каждый день отправляете сегмент cart_abandonment из BigQuery в Meta Custom Audience API. Но внимание: для GDPR compliance нужно проверить статус согласия пользователя перед добавлением в ремаркетинг. consent_mode v2 обязателен — Google и Meta ожидают флаги ad_storage, analytics_storage consent в каждом событии.
Архитектура кампании по стадиям жизненного цикла
Воронка умерла, пришёл подход по стадиям жизненного цикла. Пользователь больше не следует линейному пути: осведомлённость → рассмотрение → покупка. Вместо этого циклические движения: купил один раз, ушёл (churn), вернулся через ремаркетинг, вторая покупка, дал рекомендацию. Чтобы моделировать этот цикл, вам нужна архитектура кампании по стадиям жизненного цикла.
В работе по цифровому маркетингу мы используем такой фреймворк:
- Acquisition (Привлечение): Холодный трафик, prospecting, lookalike, in-market аудитория. Цель: первый посетитель. Метрика: CPM, CTR, CPA.
- Activation (Активация): Первая покупка или ключевое действие (signup, начало trial). Цель: конверсия. Метрика: conversion rate, CPA.
- Retention (Удержание): Повторная покупка, renewal подписки. Цель: рост LTV. Метрика: repeat rate, churn.
- Referral (Реферал): Сотрудничество с influencer, affiliate, word-of-mouth. Цель: органический рост. Метрика: referral rate, CAC offset.
Откройте отдельную группу кампаний для каждой стадии, цель ставок должна быть разной. В кампании Acquisition — Target CPA, в кампании Retention — Target ROAS. Если вы не делаете это разделение, алгоритм всё смешивает, вы получаете дешёвых, но низко-LTV покупателей вместо высоко-LTV клиентов.
Для оркестрации жизненного цикла нужно настроить автоматизацию. Например: если пользователь 30 дней не совершал покупку (риск churn), он автоматически добавляется в email + push + Meta ремаркетинг. Если делать это вручную, будет задержка, пользователь потеряется. Инструменты reverse ETL вроде Hightouch, Census позволяют синхронизировать BigQuery → платформы каждые 15 минут. Это даёт скорость.
Дисциплина тестирования и измерение приращения
В перформанс-маркетинге нет оптимизации без тестирования. Но в 2026 году A/B тест не делается в панели платформы — нужны holdout дизайн и causal inference. Если платформа говорит "новый креатив дал 20% лучше ROAS", чтобы это правда проверить, нужна внешняя валидация.
Самый надёжный способ — geo-holdout тест: разделите страну на географические регионы (город, область), запустите кампанию в одной группе, не запускайте в другой. Потом сравните данные о продажах. Если группа с кампанией дала 15% больше продаж, это приращение — реальный лифт. Платформа это не показывает, потому что включает органический трафик в атрибуцию.
Если вы не можете провести geo-тест (низкий объём, маленький рынок), используйте matched-market MMM (Marketing Mix Modeling). С помощью Bayesian regression вы моделируете исторические данные, вычисляете маржинальный вклад каждого канала. Есть open-source библиотеки MMM вроде Google Meridian, Meta Robyn. Но построение этих моделей требует data science команды или внешнего консалтинга — один человек это не сделает.
Для креатив-тестов нужен расчёт size выборки. Если вы тестируете 2 кре