Звіт Google Ads, Meta і TikTok в одному дашборді: як зібрати
Як звести витрати й результати Google Ads, Meta Ads і TikTok Ads в один звіт — спільна схема даних, валюти, часові пояси, оновлення конверсій заднім числом, і як додати замовлення з CRM, щоб бачити реальний ROAS.

Маркетолог щопонеділка відкриває три кабінети, копіює цифри в таблицю, перераховує валюту і будує графік. Зведений рекламний звіт робить це автоматично і — що важливіше — показує поруч реальні продажі з CRM, а не лише «конверсії» кабінетів.
Спільна схема даних
Кожна платформа називає речі по-своєму. Перший крок — привести все до однієї таблиці:
| Поле | Google Ads | Meta Ads | TikTok Ads |
|---|---|---|---|
date | segments.date | date_start | stat_time_day |
platform | meta | tiktok | |
campaign_id, campaign | campaign | campaign | campaign |
adset / ad_group | ad group | ad set | ad group |
ad | ad | ad | ad |
spend | cost (у мікроодиницях) | spend | spend |
impressions, clicks | ✓ | ✓ | ✓ |
platform_conversions | conversions | actions (purchase) | conversions |
platform_value | conversions value | action_values | value |
Деталі, на яких спотикаються:
- Google Ads віддає вартість у мікроодиницях — ділимо на 1 000 000.
- Валюта рекламного акаунта може відрізнятися від валюти обліку — перераховуємо за курсом дня.
- Часовий пояс акаунта визначає «день» — вирівнюємо з CRM.
- Конверсії оновлюються заднім числом — щоразу перезавантажуємо останні 7–30 днів.
Додаємо продажі з CRM
Конверсії кабінетів корисні для оптимізації, але для звіту власнику потрібна правда з CRM:
- Зберігати UTM і click ID (
gclid,fbclid,ttclid) з замовленням або лідом (UTM-мітки). - Зіставляти замовлення з кампанією за
utm_campaignабо ID кампанії. - Показувати поруч: витрати, конверсії кабінету, замовлення CRM, виручка CRM, ROAS кабінету, ROAS CRM.
| Канал | Витрати | Конверсії кабінету | Замовлення CRM | ROAS кабінету | ROAS CRM |
|---|---|---|---|---|---|
| Google Ads | 52 000 | 410 | 340 | 6,1 | 4,9 |
| Meta Ads | 61 000 | 520 | 260 | 5,4 | 3,2 |
| TikTok Ads | 18 000 | 140 | 60 | 4,0 | 2,1 |
Умовні цифри. Розрив між колонками — нормальний; його природа пояснена в гайді про атрибуцію. Важливо, що рішення про бюджет приймаються за правою частиною таблиці, а MER — як верхня перевірка (ROAS і POAS).
Структура звіту
Огляд: загальні витрати, MER, нові клієнти, CAC — за тиждень з порівнянням.
Канали: таблиця вище + тренд витрат і ROAS CRM за 8–12 тижнів.
Кампанії: сортування за витратами, ROAS, CPA; позначка кампаній, що витрачають без замовлень.
Креативи: CTR, CPC, частота показів (frequency) і їх динаміка — вигорання креативу видно за ростом CPC і частоти.
Pacing: витрати відносно місячного плану — особливо важливо для агенцій (звіти агенцій).
Як збирати дані
| Варіант | Плюси | Мінуси |
|---|---|---|
| Нативні вивантаження (Google Ads → BigQuery Data Transfer) | безкоштовно або дешево, надійно | лише Google |
| Готові конектори (платні сервіси) | швидко, багато платформ | підписка, обмеження |
| Власні скрипти до API | гнучко, будь-які поля | потрібна підтримка при змінах API |
На практиці часто поєдную: Google Ads через Data Transfer, Meta й TikTok — через власні легкі завантажувачі (пайплайни). Доступи — лише на читання, токени — на сервері.
Алерти, які економлять гроші
- кампанія витратила більше X без жодного замовлення в CRM за 3 дні;
- CPC виріс більше ніж на 30% відносно середнього за 2 тижні;
- витрати за день перевищили план на 50%;
- акаунт перестав витрачати (зупинилась оплата, відхилені оголошення).
Такі алерти зручно отримувати в Telegram (автозвіти).
Типові помилки
- Складати конверсії кабінетів і вважати їх продажами.
- Не перезавантажувати історію — цифри минулого тижня «дрейфують».
- Ігнорувати валюту та часовий пояс акаунта.
- Не нормалізувати назви кампаній.
- Немає зв'язку з CRM — звіт показує лише «як кабінети себе оцінюють».
Чекліст
- Спільна схема для всіх платформ
- Валюта і часовий пояс вирівняні
- Перезавантаження останніх 7–30 днів
- Замовлення й виручка з CRM поруч з кабінетними
- MER на огляді
- Алерти на витрати без результату
- Доступи до API — лише на читання
Покроково: єдина таблиця витрат
Усе в кросканальному звіті тримається на одній таблиці: витрати й метрики платформ за днем, платформою, кампанією — в одній валюті й одному часовому поясі.
- Завантажуйте щоденну статистику кампаній з API кожної платформи або через готовий конектор: дата, ID і назва кампанії, витрати, покази, кліки, конверсії платформи та їхня цінність.
- На кожному запуску перезавантажуйте кілька останніх днів. Платформи уточнюють свіжі дні, коли надходять пізні конверсії й коригування недійсних кліків.
- Конвертуйте валюту за задокументованим щоденним курсом, зберігаючи оригінальну суму.
- Вирівняйте часові пояси. У кожного рекламного акаунта свій — запишіть його і за потреби переведіть у бізнес-пояс.
- Зіставте кампанії з вашою таксономією каналів через довідник (платформа + кампанія → канал, мета, товарна лінійка).
CREATE OR REPLACE VIEW mart.ad_spend_unified AS
SELECT day, 'google_ads' AS platform, campaign_id, campaign_name,
cost_micros / 1e6 AS spend, impressions, clicks, conversions AS platform_conv, conversions_value AS platform_value, currency
FROM clean.google_ads_campaign_daily
UNION ALL
SELECT day, 'meta', campaign_id, campaign_name,
spend, impressions, clicks, purchases, purchase_value, currency
FROM clean.meta_campaign_daily
UNION ALL
SELECT day, 'tiktok', campaign_id, campaign_name,
spend, impressions, clicks, complete_payment, complete_payment_value, currency
FROM clean.tiktok_campaign_daily;
Назви колонок різняться між платформами і версіями API — звірте їх зі своїм конектором. Суть — одна форма для всіх.
Приклад: що кажуть платформи і що в бекенді
Ілюстративний місяць, три платформи:
| Платформа | Витрати | Конверсії за платформою | ROAS платформи | Замовлення в бекенді (UTM/click ID) | ROAS за бекендом |
|---|---|---|---|---|---|
| Google Ads | 120 000 | 410 | 4,6 | 360 | 3,9 |
| Meta | 150 000 | 520 | 4,1 | 300 | 2,3 |
| TikTok | 60 000 | 190 | 3,8 | 85 | 1,6 |
| Сума | 330 000 | 1 120 | — | 745 | 2,8 |
| Усього оплачених замовлень у бекенді за місяць | 980 |
Разом платформи заявляють 1 120 конверсій у місяці, де реальних замовлень 980, причому 235 з них прийшли з неплатних каналів. Кожна платформа рахує власні перегляди, довші вікна і приписує собі спільних клієнтів. Жодна колонка не є «правдою»: колонки платформ корисні всередині платформи для оптимізації, а колонка бекенду — для розподілу бюджету між платформами. Показуйте обидві з підписами. Чому так — у гайді з атрибуції.
Контроль темпу витрат
Тим, хто керує місячними бюджетами, таблиця темпу допомагає і не перевитратити, і не лишити гроші невикористаними:
| Платформа | Бюджет на місяць | Витрачено (16-й день з 31) | Очікувано на зараз | Темп |
|---|---|---|---|---|
| Google Ads | 120 000 | 66 000 | 61 900 | 107% |
| Meta | 150 000 | 63 000 | 77 400 | 81% |
| TikTok | 60 000 | 31 500 | 31 000 | 102% |
Очікувано = бюджет × минулі дні / дні в місяці (або зважено за вашим патерном днів тижня). Темп нижче 90% чи вище 110% — привід подивитися. Додайте це у щоденний звіт у Telegram для того, хто відповідає за бюджети.
Типова пастка: назви кампаній змінюються
Маркетологи перейменовують кампанії, і довідник, прив'язаний до назв, тихо перестає працювати. Прив'язуйте зіставлення до ID кампанії, а назву використовуйте лише для відображення. Нові ID без зіставлення виводьте в щотижневу перевірку — так жодна кампанія не потрапить у «інше» непоміченою.
Щомісячний перегляд довідника
Раз на місяць проходьте довідник зіставлень разом із маркетологом: десять хвилин на те, щоб віднести нові кампанії до каналів і цілей, тримають увесь звіт надійним. Заодно перевірте, чи не з'явилися нові рекламні акаунти, яких ще немає в завантаженні, — особливо якщо кампанії запускають кілька підрядників.
Часті запитання
Чи можна зробити такий звіт у Looker Studio?
Так, для Google Ads — нативно, для Meta і TikTok — через конектори. Але зв'язок із CRM і нормалізацію краще робити у сховищі, а Looker Studio підключати до готових таблиць.
Як часто оновлювати рекламні дані?
Раз на день достатньо для звітів; для алертів на великі бюджети — щогодини.
Чому вчорашні цифри відрізняються сьогодні?
Платформи дораховують конверсії із запізненням і виправляють витрати. Тому пайплайн перезавантажує останні дні.
Чи можна додати Google Search Console?
Так, як окремий блок «органіка»: покази, кліки й позиції за запитами — поруч з платним пошуком.


