Быстрый способ выгрузки статистики из Яндекс Директа с помощью Python

Начнем с того, что я не профессиональный разработчик на python, данный скрипт был написан, чтобы решить свои рутинные задачи в работе с Яндекс Директом. Поэтому, если у вас есть комментарии по поводу кода, то милости прошу. Скрипт позволяет формировать настраиваемые отчеты и выгружает их в файл формата csv для дальнейшей обработки данных.

Преимущество скрипта в том, что можно получить более 1 миллиона строк данных, что намного больше, чем способен отдать интерфейс Мастера отчетов.

Сам скрипт лежит на GitHub и доступен для скачивания, работы и редактирования под ваши нужды. Посмотреть скрипт можно здесь

Если вы знакомы с python, то для вас не составит труда установить IDE, необходимые библиотеки и исполнять код прямо из среды разработки. Код максимально закомментирован для того, чтобы было проще ориентироваться в программе.

Однако, если вы не работали с python, то у меня также имеется скомпилированная версия скрипта для запуска на windows без установки python, библиотек, IDE и т.п.

Связаться со мной для запроса скомпилированной версии можно в телеграм

Как все работает?

Для корректной работы программы требуется:

-API токен рекламного агентства в Директе. Подробно о получении токена по ссылке https://yandex.ru/dev/direct/doc/dg/concepts/access.html (в данный момент скрипт работает только с агентскими аккаунтами)

Вам необходимо указать токен вашего агентства и логин клиента(без @yandex.ru), указанный в Директе. Подробная информация о получении токена представлена в официальной документации Яндекса по ссылке https://yandex.ru/dev/direct/doc/dg/concepts/register.html

Этап запроса токена агентства и логина клиента 
Этап запроса токена агентства и логина клиента 

После этого вы увидите список доступных группировок и метрик, из которых вы сможете сформировать необходимый вам отчет. Важно, чтобы все показатели вводились также как указано в словаре, с соблюдением всех регистров, в противном случае программа не сможет выполнить корректный запрос к Директу и закончится ошибкой. Более подробно о допустимых полях можно посмотреть тут https://yandex.ru/dev/direct/doc/reports/fields-list.html . Программа использует CUSTOM_REPORT, т.к. данный тип отчета позволяет получать максимальное количество полей.

Словарь для создания отчета
Словарь для создания отчета

В случае, если в полях для отчета вы выбрали Conversions, далее потребуется выбрать ID необходимых конверсий из Я.Метрики, период дат для отчета, а также модель атрибуции, по которой вас интересуют данные. Если вы не ввели Conversions, то этапы с запросом конверсий и атрибуции пропускаются.

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

После этого необходимо указать название отчета, которое потребуется в случае формирования файла .csv. Программа начнет выполнять запрос к Директу, если в отчете указан большой объем данных, то запросы будут повторяться каждые 10 секунд до момента готовности отчета.

Название отчета и выполнение запроса
Название отчета и выполнение запроса

В случае успешного создания и выгрузки отчета вы увидите сообщение, о том, что работа выполнена и вам останется только нажать Enter для формирования .csv

Отчет для формата .csv ограничен 10000000 строк, формирование отчета с таким объемом данных может занять 30 минут и файл будет иметь вес более 300 мб.

Скрипт по ссылке репозитория на GitHub . Скомпилированная программа по запросу.

1010 показов
717717 открытий
3 комментария

Есть примеры как это можно применить?

Ответить

Да, конечно. К примеру, вам нужны данные по РК в разрезе различных сегментов за длительный период времени, при использовании Мастера отчетов вы можете столкнуться с ограничением вывода данных в xlsx, т.к. есть ограничение (прикрепил скрин), также в интерфейсе не удобно проводить анализ. С помощью скрипта можно получить эти данные сразу в файл и уже потом использовать его в PBI для построения наглядных и информативных отчетов.

Ответить