Настройка сквозной аналитики для сайта

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка сквозной аналитики для сайта
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Настройка сквозной аналитики для сайта

Сквозная аналитика связывает рекламные расходы с конкретными продажами. Вы видите: реклама в Яндекс.Директ принесла 50 заявок, из них 15 купили на общую сумму 450 000 ₽ при затратах 30 000 ₽. 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 недели на интеграцию.