Attribution models: как распределить заслугу между каналами

Что такое атрибуция

Attribution (атрибуция) — это как распределить «заслугу» за конверсию между маркетинговыми каналами, когда пользователь прошёл несколько точек касания.

Пример: пользователь кликнул по рекламе в Google → пришёл через неделю по email → купил после поста в Instagram. Кому приписать продажу?

Модели атрибуции — разные ответы на этот вопрос. Выбор модели влияет на бюджетирование, оценку каналов, ROI-расчёты.

Зачем это бизнесу

В мире single-touch пути (один клик → покупка) атрибуция проста. Но реальный B2B и даже B2C — это 5-15 touchpoints на конверсию. Без модели атрибуции невозможно понять:

  • Какие каналы реально приносят деньги.
  • Куда перераспределить бюджет.
  • Какая комбинация каналов оптимальна.
  • Какие каналы хороши для awareness, а какие для closing.

Last-touch attribution

Вся заслуга — последнему каналу перед конверсией.

Плюсы. Простая. Реализуется «из коробки» в любой системе.

Минусы. Игнорирует всю цепочку до последнего касания. Переоценивает bottom-funnel каналы (search, retargeting, email). Недооценивает top-funnel (display, content, social).

Когда использовать. Короткие sales cycles, impulse purchases. Или как baseline для сравнения с более сложными моделями.

Most legacy analytics (Google Analytics Universal) по умолчанию использовали last-touch.

First-touch attribution

Вся заслуга — первому касанию.

Плюсы. Хорошо отражает demand generation. Видно, какие каналы приводят «новую кровь».

Минусы. Игнорирует nurturing. Переоценивает top-funnel, недооценивает closing каналы.

Когда использовать. Brand awareness кампании. Оценка top-of-funnel усилий.

Linear attribution

Заслуга распределяется равномерно между всеми touchpoints.

5 касаний на пути → каждому по 20%.

Плюсы. Учитывает всю цепочку. Справедливо распределяет.

Минусы. Слишком равномерно. Реальность — разные касания имеют разный вес. Первая реклама и финальный retargeting-клик не одинаковы.

Когда использовать. Как промежуточный вариант между first/last-touch.

Time-decay attribution

Чем ближе touchpoint к конверсии, тем больше его вес. Обычно экспоненциальное затухание (half-life 7 дней).

Вес касания = 2^(-days_before_conversion / 7)

Касание за день до конверсии — вес почти 1. За месяц до — около 0.05.

Плюсы. Balance между учётом всей цепочки и bottom-funnel важностью.

Минусы. Всё ещё игнорирует специфику каналов. Arbitrary half-life.

Когда использовать. Длинные sales cycles (B2B, high-ticket B2C), где временная близость к конверсии важна.

Position-based (U-shaped) attribution

40% первому касанию, 40% последнему, 20% распределяется между middle touchpoints.

Плюсы. Балансирует awareness и closing. Учитывает nurturing.

Минусы. Всё ещё arbitrary веса.

Когда использовать. B2B с длинными циклами, где важны и первое знакомство, и закрытие.

Data-driven attribution (DDA)

Веса подбираются ML-моделью на основе данных. Алгоритм оценивает, какой вклад каждый канал вносит в вероятность конверсии.

Технически использует:

  • Shapley values из теории игр: fair split заслуги.
  • Markov chains: симуляция removal effect — что было бы без этого канала.
  • Multi-touch attribution modeling: deep learning на sequence of touchpoints.

Плюсы. Основано на фактических данных, не на гипотезах. Учитывает специфику бизнеса.

Минусы. Нужен большой объём данных (минимум 600+ конверсий и 15k+ path-ов для GA). Непрозрачно.

Когда использовать. Зрелые компании с достаточным volume и бюджетом.

SQL для last-touch attribution

Базовая реализация last-touch в SQL:

WITH conversions AS (
    SELECT user_id, conversion_time, conversion_value
    FROM orders
    WHERE conversion_time >= '2026-01-01'
),
user_touches AS (
    SELECT
        c.user_id,
        c.conversion_time,
        c.conversion_value,
        t.channel,
        t.touch_time,
        ROW_NUMBER() OVER (
            PARTITION BY c.user_id, c.conversion_time
            ORDER BY t.touch_time DESC
        ) AS rn_desc
    FROM conversions c
    JOIN touches t
        ON c.user_id = t.user_id
        AND t.touch_time <= c.conversion_time
)
SELECT
    channel,
    COUNT(*) AS conversions,
    SUM(conversion_value) AS revenue
FROM user_touches
WHERE rn_desc = 1
GROUP BY channel;

Для linear — изменить фильтр и делить revenue на количество касаний:

-- Вместо WHERE rn_desc = 1:
-- SUM(conversion_value / touches_count) AS attributed_revenue

Атрибуция и каналы — частая тема собеседований на marketing analyst. В тренажёре Карьерник есть задачи по маркетинговой аналитике и расчёту ROI каналов.

View-through conversions

Сложный случай — conversions после view (не clicks). Пользователь увидел display ad, не кликнул, но через 3 дня купил.

Включать view-through или нет — компромисс:

  • Включать. Не теряем awareness-эффект display/video.
  • Не включать. Любой показ «притягивает» credit за конверсии, которые произошли бы и без него.

Большинство платформ позволяют настроить view-through window (1-7 дней).

Cross-device attribution

Пользователь на телефоне кликнул рекламу, купил с ноута через 2 дня. Как связать?

Методы:

  • User ID matching. Если пользователь логинился в продукт с обоих устройств — связываем через user_id.
  • Probabilistic matching. IP + device fingerprint + behavior. Вероятностно.
  • Platform graphs. Google, Facebook имеют свои user graphs (объединяют устройства).

Без user ID точность сильно падает.

Проблемы атрибуции в 2026

Privacy. iOS 14.5+ App Tracking Transparency, cookie-less web, GDPR. Cross-site tracking сломан.

Ответы:

  • Server-side tracking. Данные напрямую между вашим сервером и ad platforms.
  • Platform aggregated APIs. Apple SKAdNetwork, Google Consent Mode.
  • Modeled conversions. ML заполняет пробелы в данных.
  • Media mix modeling (MMM). Econometric approach — оценивает impact каналов без user-level tracking.

Современный attribution — комбинация MTA (multi-touch attribution) и MMM.

Incrementality testing

Золотой стандарт — не атрибуция, а incrementality. Проводим AB-тест: одна группа получает рекламу канала, другая — нет. Разница в конверсиях — истинный incremental effect.

Google называет это Conversion Lift, Facebook — Brand Lift. Некоторые продвинутые компании делают regular geo-holdout tests: отключают канал в нескольких регионах, сравнивают с контрольными.

Incrementality показывает РЕАЛЬНОЕ влияние, а не атрибуцию в реконструированных путях.

Какую модель выбрать

Startup / small. Last-touch или first-touch. Простота важнее точности при малом volume.

Growing B2C. Time-decay или position-based. Balance awareness и closing.

B2B с длинным циклом. Position-based или data-driven с большим attribution window (90+ дней).

Mature с data science. Data-driven + incrementality tests + MMM.

Нет «правильной» модели. Главное — использовать одну consistently и понимать её ограничения.

Типичные ошибки

Single-model reliance. Смотрят ТОЛЬКО last-touch → переоценивают bottom-funnel. Сравнивайте несколько моделей.

Too short attribution window. 7-дневное окно при 60-дневном sales cycle теряет большинство касаний.

Игнорирование organic и direct. Эти каналы часто финальные, но «заслуга» размазана между маркетинговыми усилиями.

Confusing correlation with causation. Атрибуция — корреляция. Incrementality — causation. Большой бюджет на канал с высокой атрибуцией не обязательно означает, что канал вызывает конверсии.

Читайте также

FAQ

Какая модель по умолчанию в GA4?

GA4 использует data-driven attribution по умолчанию (при достаточном объёме данных).

Можно ли иметь несколько моделей одновременно?

Да. Хорошая практика — анализировать performance по 2-3 моделям. Если выводы совпадают — уверенность выше.

Что такое attribution window?

Период после touchpoint, в течение которого засчитывается конверсия. Типично: 30-90 дней для clicks, 1-7 дней для views.

Атрибуция и LTV — связь?

Да. Fair attribution учитывает LTV, а не только first-order revenue. Канал может приносить маленькие first orders, но большие lifetime values.