3 минуты вместо 3 часов: скрипт для аналитики Яндекс Директа

3 минуты вместо 3 часов: скрипт для аналитики Яндекс Директа

13.03.2026 0 Автор Павел

Каждый, кто ведёт рекламу в Яндекс Директе, знает эту боль: данные размазаны по интерфейсам, отчёт собирается руками, а на глубокий анализ времени вечно не хватает. Я веду десятки клиентских проектов и в какой-то момент понял — ручная выгрузка отнимает у команды несколько часов в неделю. При этом половина инсайтов теряется просто потому, что никто не успевает посмотреть все срезы.

Хочу рассказать, как я это решил: написал Python-скрипт, который через API Яндекс Директа за 3 минуты собирает полный аналитический отчёт в Excel — с цветовой подсветкой проблемных мест, автоматическим расчётом CPA и сортировкой «плохое вверх». Запускаешь, ждёшь пару минут, открываешь файл — сразу видишь, где деньги уходят.

Какую проблему решаем

Ситуация знакомая многим: ведёшь несколько клиентов, у каждого свои кампании, цели конверсии, бюджеты. Чтобы собрать нормальный отчёт, нужно:

  • Зайти в каждый аккаунт, выгрузить статистику по кампаниям, ключам, площадкам
  • Руками посчитать CPA, CTR, найти сливные элементы
  • Собрать данные по полу, возрасту, устройствам, платёжеспособности — а это ещё 4 среза
  • Сопоставить тексты объявлений с метриками — отдельный квест через Ads API
  • Красиво оформить и отправить клиенту

На одного клиента уходит 30-40 минут. На пятерых — полдня. И это каждую неделю. А ведь самое ценное — не сбор данных, а их анализ. Именно на это времени обычно и не остаётся.

Что делает скрипт

Скрипт подключается к Яндекс Директ API, забирает данные по всем клиентам и формирует один Excel-файл с 8 листами.

OAuth-токен
+ логины
Reports API
Ads API
Обработка
+ подсветка
Excel
8 листов

8 аналитических срезов

На выходе получаем Excel с 8 листами. Первые 7 — это данные по каждому срезу, а восьмой — сводная аналитика с цветовой подсветкой:

Ключевые словаКакие фразы приносят конверсии, а какие сливают бюджет
Площадки РСЯНа каких сайтах крутятся объявления и где клики пустые
ПолРаспределение конверсий и расходов по полу
ВозрастКакие возрастные группы конвертируют лучше
УстройстваМобильные vs десктоп — где эффективнее
ПлатёжеспособностьСегменты по доходу — куда утекают деньги
Тексты объявленийКакие заголовки работают, а какие нет
Аналитика (сводка)Все срезы в одном листе с цветовой подсветкой

Как работает цветовая подсветка

Это, на самом деле, самая полезная часть. Открываешь Excel — сразу видно, где деньги уходят впустую. Не нужно ничего считать руками, не нужно вглядываться в цифры. Логика простая:

Красный — слив бюджета Элемент потратил больше порога, но не принёс ни одной конверсии. Или конверсии есть, но CPA выше среднего
Зелёный — всё хорошо Есть конверсии, CPA в рамках нормы. Эти элементы работают, трогать не нужно
Жёлтый — аномалия CTR 100+ показов, но кликабельность ниже 0,5%. Объявление не релевантно запросу

Порог «слива» рассчитывается автоматически: есть конверсии — порог = средний CPA. Нет конверсий — порог = средний CPC × 30. Плюс все таблицы отсортированы «плохое вверх» — чтобы первым делом видеть проблемы, а не листать 500 строк.

Честно про рекламу и маркетинг

Разбираю реальные кейсы, делюсь цифрами и инструментами в Telegram-канале. Без воды и мотивационных цитат.

Подписаться на канал

Демографические срезы: где утекают деньги

Отдельная история — демографические данные. В интерфейсе Директа эти срезы вроде бы есть, но собирать их руками по каждой кампании — ну, вы понимаете. Скрипт выгружает сразу по четырём измерениям: пол, возраст, устройства и платёжеспособность.

Например, я часто вижу такую картину: сегмент «Прочие» по платёжеспособности тратит в разы больше, при этом CPA в 3-4 раза выше, чем у сегментов «Очень высокая» и «Высокая». Вывод очевиден — ставки по «Прочим» нужно снижать. Без этого среза вы бы просто не увидели, куда утекают деньги.

Для руководителей: масштабирование на команду

Отдельный кайф — когда скрипт внедряется на уровне команды. У нас несколько специалистов ведут разных клиентов. Раньше каждый собирал отчёты по-своему — разный формат, разная глубина, где-то забыли про площадки, где-то не посмотрели демографию.

Сейчас формат единый. Руководитель открывает файл и точно знает, где что лежит. Новый сотрудник подключается — добавляет логин клиента в конфиг — получает тот же отчёт в том же формате. Если управляете командой маркетологов — это реально экономит нервы.

Технические детали для тех, кто хочет повторить

Стек

Python 3 + requests + openpyxl. Никаких тяжёлых фреймворков — скрипт запускается на любом компьютере, где есть Python. Из зависимостей только openpyxl для создания Excel. Поставить можно одной командой: pip install openpyxl.

Работа с API

Скрипт использует три эндпоинта Яндекс Директа:

  • Reports API v5 — основной источник данных. Все отчёты: CRITERIA_PERFORMANCE, CAMPAIGN_PERFORMANCE, AD_PERFORMANCE
  • Ads API — для текстов объявлений. Reports API не отдаёт тексты — нужен отдельный запрос
  • Campaigns API — список кампаний перед батчевым запросом текстов (Ads API принимает максимум 10 CampaignId за раз)

Конфигурация

Настройка минимальная — указываете OAuth-токен, логины клиентов и ID целей конверсии:

CLIENTS = [
    {
        "login": "client-login",
        "goals": ["123456789"],
    },
    {
        "login": "second-client",
        "goals": ["987654321", "111222333"],
    },
]

Запускается одной командой. За 2-3 минуты — готовый Excel со всеми данными.

Обработка нескольких целей

Важный нюанс: у клиента может быть несколько целей конверсии — звонок, заявка, покупка. Скрипт выгружает данные по каждой цели отдельно, а потом суммирует конверсии по строкам. На выходе — общее число конверсий по всем целям. Это часто упускают при ручной сборке.

Защита от сбоев

В реальной работе API иногда отваливается — SSL-ошибки через корпоративный прокси, таймауты, 502-е ответы. Скрипт умеет пересоздавать HTTP-сессию при SSL-сбое и делает до 5 повторных попыток с экспоненциальным backoff. Между запросами — пауза 3 секунды, чтобы не нарваться на rate-limit.

Для собственников бизнеса: на что обратить внимание

Если вы платите за контекстную рекламу и получаете отчёты от подрядчика — вот три вещи, которые такой инструмент позволяет проверить за пару минут:

  • Где сливается бюджет. Красные строки — это элементы, которые тратят деньги без конверсий. Если ваш подрядчик не может объяснить, почему они до сих пор работают — это повод задать вопрос
  • Работает ли РСЯ. Срез по площадкам показывает, на каких сайтах крутятся ваши объявления. Если половина кликов идёт с мобильных игр — кажется, что-то не так
  • Демография. Если вы продаёте премиальный продукт, а 60% бюджета уходит на сегмент «Прочие» по платёжеспособности с CPA в 3 раза выше среднего — ставки давно пора скорректировать

Что в итоге получилось

Было 30-40 минут на клиента, стало 2-3 минуты

Но дело не только в скорости:

  • Видно всё сразу. 8 срезов в одном файле вместо ручного переключения между вкладками Директа
  • Проблемы бросаются в глаза. Красные строки наверху — открыл файл и сразу видишь, где деньги уходят
  • Демография в одном месте. Пол, возраст, устройства, платёжеспособность — быстро скорректировал ставки и пошёл дальше
  • Тексты + метрики. Какой заголовок конвертит лучше — больше не нужно руками джойнить два отчёта
  • Масштабируется. Добавляешь нового клиента — пару строк в конфиг — он уже в отчёте

Выводы и рекомендации

В планах — добавить автоматический запуск по расписанию и правила аудита: чтобы скрипт не просто собирал данные, а присылал алерты, когда что-то идёт не так.

Если вы маркетолог и хотите попробовать — скрипт написан на Python, достаточно базовых навыков, чтобы настроить его под себя. Если вы собственник бизнеса и хотите видеть такую аналитику по своему проекту — напишите мне, помогу настроить или проведу бесплатный аудит рекламы.

Хотите видеть, куда уходит ваш рекламный бюджет?

Проведу аудит вашей рекламы в Яндекс Директе и покажу точки роста.

Написать мне

Маркетинговые шаблоны для вашей работы

Я собрал шаблоны, которые использую в работе с клиентами: медиаплан, учёт рабочего времени, аналитические отчёты. Скачайте бесплатно на странице шаблонов.

Шаблоны для маркетинга

Профессиональные шаблоны для организации работы:
медиапланирование, учёт времени, аналитические отчёты
Telegram-канал Павезло маркетинг Павезло во ВКонтакте