Налаштування наскрізної аналітики для вашого сайту
Наскрізна аналітика пов'язує витрати на рекламу з фактичними продажами. Ви бачите: кампанія в Яндекс.Директі принесла 50 лідів, з яких 15 зробили покупки на суму 450 000 RUB при витратах 30 000 RUB. ROAS = 15. Без наскрізної аналітики ви бачите тільки кліки чи кількість лідів, але не виручку.
Компоненти наскрізної аналітики
Трекер витрат на рекламу — отримує дані про витрати з Яндекс.Директу, Google Ads, ВКонтакту, Facebook через їх API.
Коллтрекінг — замінює номери телефонів на унікальні для кожного джерела, щоб відслідковувати дзвінки.
CRM — зберігає угоди з прив'язкою до джерела лідів.
BI/Дашборд — об'єднує все в один вигляд: витрати → відвідування → ліди → продажі → виручка.
Готові рішення
Roistat — російська платформа наскрізної аналітики. Вбудовується через скрипт, інтегрується з Директом, Google Ads, amoCRM, Bitrix24. Підходить для більшості малих/середніх бізнесів.
Calltouch — коллтрекінг + базова наскрізна аналітика.
CoMagic — аналогічне рішення з коллтрекінгом.
Власна реалізація — необхідна, якщо готові рішення не охоплюють вашу специфіку або занадто дорогі при великих обсягах.
Власна наскрізна аналітика: архітектура
Рекламні системи (API)
→ ETL-сервіс (Python/Go)
→ Сховище даних (ClickHouse / PostgreSQL / BigQuery)
→ BI-інструмент (Redash / Metabase / Superset)
→ Дашборд
Сайт (UTM + cookies)
→ Backend
→ Сховище даних
CRM
→ Сховище даних
Отримання даних з рекламних систем
# Яндекс.Директ: отримати витрати за період
import requests
headers = {'Authorization': f'Bearer {YANDEX_TOKEN}', 'Client-Login': CLIENT_LOGIN}
report_body = {
'params': {
'SelectionCriteria': {
'DateFrom': '2024-03-01', 'DateTo': '2024-03-31'
},
'FieldNames': ['Date', 'CampaignName', 'Impressions', 'Clicks', 'Cost'],
'ReportName': 'Cost Report',
'ReportType': 'CAMPAIGN_PERFORMANCE_REPORT',
'DateRangeType': 'CUSTOM_DATE',
'Format': 'TSV',
'IncludeVAT': 'YES'
}
}
response = requests.post(
'https://api.direct.yandex.com/json/v5/reports',
headers=headers,
json=report_body
)
Пов'язування лідів з рекламними джерелами
-- Таблиця для зберігання сесій з UTM
CREATE TABLE sessions (
session_id UUID PRIMARY KEY,
user_id BIGINT REFERENCES users(id),
utm_source VARCHAR(100),
utm_medium VARCHAR(100),
utm_campaign VARCHAR(200),
referrer TEXT,
created_at TIMESTAMP
);
-- Ліди з прив'язкою до сесії
CREATE TABLE leads (
id BIGINT PRIMARY KEY,
session_id UUID REFERENCES sessions(session_id),
phone VARCHAR(20),
type VARCHAR(50), -- 'form' | 'call' | 'chat'
created_at TIMESTAMP
);
-- Замовлення з прив'язкою до ліда
CREATE TABLE orders (
id BIGINT PRIMARY KEY,
lead_id BIGINT REFERENCES leads(id),
total INTEGER,
status VARCHAR(20),
created_at TIMESTAMP
);
Основний звіт наскрізної аналітики
SELECT
s.utm_source,
s.utm_campaign,
COUNT(DISTINCT s.session_id) as visits,
COUNT(DISTINCT l.id) as leads,
COUNT(DISTINCT o.id) as orders,
SUM(o.total) / 100.0 as revenue,
SUM(rc.cost) / 100.0 as ad_spend,
ROUND(SUM(o.total) / NULLIF(SUM(rc.cost), 0), 2) as roas
FROM sessions s
LEFT JOIN leads l ON l.session_id = s.session_id
LEFT JOIN orders o ON o.lead_id = l.id AND o.status = 'completed'
LEFT JOIN ad_costs rc ON rc.utm_source = s.utm_source
AND rc.utm_campaign = s.utm_campaign
AND DATE_TRUNC('day', rc.date) = DATE_TRUNC('day', s.created_at)
WHERE s.created_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY s.utm_source, s.utm_campaign
ORDER BY revenue DESC NULLS LAST;
Коллтрекінг у власній реалізації
Щоб відслідковувати телефонні дзвінки, інтегруйте Calltouch або CoMagic. Вони динамічно замінюють номер телефону на вашому сайті залежно від джерела трафіку. Коли надходить дзвінок, вони надсилають UTM-параметри через webhook.
Альтернатива — власний коллтрекінг через SIP-провайдера: пул віртуальних номерів, де кожен відвідувач отримує унікальний номер з пулу.
Дашборд у Metabase
Metabase підключається безпосередньо до PostgreSQL і будує дашборди без написання коду. Для нетехнічних маркетологів це оптимальний вибір.
Час розробки: 4–6 тижнів для власної реалізації з ETL, сховищем даних і дашбордом. Використовуючи Roistat — 1–2 тижні на інтеграцію.







