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

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

На помощь приходит API Директа, с помощью которого можно выгружать статистику для последующего анализа. Самым простым способом является язык программирования R. Он создан для анализа данных и успел обрасти огромным количеством пакетов, которые позволяют делать очень многое.

Одним из таких пакетов является ryandexdirect. Его создал Алексей Селезнев из агентства Netpeak. К сожалению, Алексей отказался от дальнейшей работы над пакетом, тем не менее ryandexdirect остается самой простой точкой входа в API Директа.

Итак, что же нужно сделать, чтобы начать пользоваться R и выгружать аналитику из рекламного кабинета? Во-первых, нужно установить сам R и RStudio (из Википедии: «RStudio — свободная среда разработки программного обеспечения с открытым исходным кодом для языка программирования R, который предназначен для статистической обработки данных и работы с графикой»).

Скачиваем R и RStudio

После установки RStudio запускаем его.
Перед нами окно программы, в которой мы будем работать. Слева — консоль, справа окна, в которых будет много полезной информации. Слева в меню нажимаем на плюсик и выбираем создание нового файла, а именно R scritp. Появляется блокнот, в котором мы будем писать код.

Давайте попробуем что-нибудь написать и запустить.

a <- 7
b <- 8
c <- a + b
c

мы создали 3 переменные: a, b, c.

<- — это знак присваивания. Мы присвоили переменной a значение 7, а переменной b — 8.
c мы сделали суммой a и b. И в конце вывели полученное значение c. Чтобы запустить код, надо выделить его и нажать на Run либо сочетанием клавиш Ctr + Enter (Cmd + Enter для мака). Запускаем код.
Теперь в окне справа мы можем видеть текущие значения переменных.

Выгрузка данных из Директа

Теперь переходим непосредственно к импорту статистики из Директа.
Во-первых, необходимо установить ryandexdirect. Запускаем такой код:

install.packages("ryandexdirect")

Больше нам эта строчка не понадобится — ryandexdirect установлен в R. Ее можно удалить.

Пишем код для импорта статистики:

library(ryandexdirect)
report <- yadirGetReport(ReportType = "CUSTOM_REPORT",
                         DateRangeType = "LAST_7_DAYS",
                         FieldNames = c("Date", "Clicks", "Cost"),
                         Login = "ВАШ_ЛОГИН_В_ДИРЕКТЕ")

Первая строка кода означает загрузку пакета ryandexdirect. Далее мы создаем переменную report, в которую помещаем наш отчет. Отчет генерируется функцией yadirGetReport. В параметрах мы указываем, что это статистика с произвольными группировками. В FieldNames перечисляем поля нашего отчета.

При запуске отчета вас должно перекинуть в браузер на страницу авторизации. Оттуда нужно скопировать код и вставить его в консоль RStudio. Нам будет предложено сохранить токен для того, чтобы больше не авторизовываться. Токен будет сохранен в рабочей папке.

В итоге мы получаем таблицу в 3 столбцами, которые перечислили в FieldNames. В нашем случае это: Дата, Клики, Стоимость. Поля, которые можно использовать в выгрузке, описаны тут. Там же указана и совместимость с типом отчета (в нашем примере — это был «CUSTOM_REPORT»).

Наш отчет содержит данные за 7 дней. Даты отчета можно указывать произвольно. Тогда вместо DateRangeType нужно указывать параметры DateFrom и DateTo. Даты указываются в кавычках в формате ГГГГ-ММ-ДД. Например:

DateFrom = "2022-08-01",
DateTo = "2022-08-07"

Спасибо Алексею за его работу и возможность так удобно выгружать данные из Директа.

 196   2022   r   rstudio   ryandexdirect   яндес.директ