Surrika

Сверка выручки рекламы и продаж по каналам

Сверка показывает, сколько выручки рекламные кабинеты приписали кампаниям и сколько денег фактически принесли продажи по каналам за тот же период. Расхождение в рублях помогает найти потерянные заказы, задвоенные цели и возвраты, которые не попали в рекламные отчеты.

Отчеты и данные

Как считать

  1. Берем последний квартал в данных и одинаковые границы для рекламы и продаж.
  2. Выручку продаж считаем по факту продаж и вычитаем возвраты.
  3. Рекламные источники сводим к каналам продаж: Директ и ВК к сайту, продвижение на Вайлдберриз к этой площадке, продвижение на Озон к Озон.
  4. Для каждого канала складываем выручку продаж и выручку, приписанную рекламным кампаниям.
  5. Разницу показываем в рублях и сравниваем на одном графике.

Расчет на выгрузках магазина

Пример посчитан на выгрузках вымышленного мебельного магазина: продажи сайта и трех маркетплейсов, реклама, сделки CRM и остатки за 2024-2025 годы.

Как свести выручку из рекламных кабинетов с продажами по каналам и понять, где расхождение? Нужен расчет за последний квартал.

Выручка продаж и рекламы по каналам за последний квартал

SQL, по которому посчитано

WITH bounds AS (
  SELECT CAST(date_trunc('quarter', max(date)) AS DATE) AS period_start,
         max(date) AS period_end
  FROM ads
),
sales_agg AS (
  SELECT s.channel,
         SUM(s.revenue - s.returned_revenue) AS sales_revenue
  FROM sales s
  CROSS JOIN bounds b
  WHERE s.date >= b.period_start AND s.date <= b.period_end
  GROUP BY s.channel
),
ads_agg AS (
  SELECT CASE a.source
           WHEN 'Яндекс Директ' THEN 'Сайт'
           WHEN 'VK Реклама' THEN 'Сайт'
           WHEN 'Продвижение WB' THEN 'Wildberries'
           WHEN 'Продвижение Ozon' THEN 'Ozon'
         END AS channel,
         SUM(a.revenue) AS ad_revenue
  FROM ads a
  CROSS JOIN bounds b
  WHERE a.date >= b.period_start AND a.date <= b.period_end
  GROUP BY 1
)
SELECT COALESCE(s.channel, a.channel) AS channel,
       ROUND(COALESCE(s.sales_revenue, 0), 2) AS sales_revenue,
       ROUND(COALESCE(a.ad_revenue, 0), 2) AS ad_revenue,
       ROUND(COALESCE(a.ad_revenue, 0) - COALESCE(s.sales_revenue, 0), 2) AS revenue_gap
FROM sales_agg s
FULL OUTER JOIN ads_agg a ON s.channel = a.channel
ORDER BY channel

Где взять выручку для сверки рекламы и продаж

В рекламных кабинетах берите выручку, приписанную заказам. Расход и показы нужны для других расчетов. На сайте источником служат оплаченные заказы из учетной системы, на маркетплейсах отчеты площадок о начислениях. Зафиксируйте дату выгрузки и границы периода. Если кабинет и учетная система обновляются в разное время, сохраните обе выгрузки и повторите сверку после закрытия месяца.

Почему выручка рекламы не совпадает с продажами

Кабинет записывает заказ на кампанию по клику или показу в своем окне атрибуции. Покупатель может вернуться на сайт позже и купить из закладки, тогда продажа попадет в учет, а рекламный отчет ее не увидит. На маркетплейсах продвижение приписывает заказы по правилам площадки, а отчет о продажах показывает фактические начисления. Часть заказов отменяют до оплаты, и в рекламном кабинете они остаются, а в продажах нет.

Как читать расхождение выручки по каналам

Рекламная выручка выше продаж означает, что кабинет приписал каналу больше, чем учет признал продажей. Продажи выше рекламной выручки означают, что канал приносит деньги и без рекламы. Для сайта сравнение с Директом и ВК показывает только рекламную часть, поэтому равенства ждать не нужно. Для Вайлдберриз и Озон смотрите, какую часть продаж площадки закрывает продвижение. Решение принимайте по динамике доли за несколько кварталов.

Частые ошибки

Брать выручку до скидок

В учетной системе легко взять сумму заказов до скидок. Для сверки нужна выручка после скидок, иначе продажи завышаются и расхождение с рекламой растет.

Смешивать площадки в один канал

Если сложить продвижение Вайлдберриз и Озон в одну строку, минус одного канала скроет плюс другого. Разносите источники по площадкам и сверяйте каждый канал отдельно.

Вопросы

Нужно ли вычитать возвраты из выручки рекламы?

В рекламных кабинетах возвраты обычно не вычитаются, там остается сумма оформленных заказов. Поэтому расхождение с продажами частично объясняется возвратами, и их размер стоит смотреть отдельно.

Что делать, если у канала продаж нет рекламной кампании?

Оставьте рекламную выручку равной нулю и сравнивайте только фактические продажи. Для Яндекса Маркета в примере нет отдельного продвижения, поэтому канал показывает продажи без рекламной выручки.

Можно ли сверять рекламу и продажи по количеству заказов?

Можно, но заказы в кабинете и штуки в продажах считают разные события. В рублях расхождение видно точнее, а количество используйте как дополнение.

Посчитайте это на своих выгрузках

Бросьте выгрузки на доску Surrika и задайте вопрос обычными словами. Ответ придет графиком, а под ним будет SQL, по которому он посчитан.

14 дней бесплатно, карта не нужна.

По теме

Все задачи