Расскажите о вашей задаче
Аналитика

Как связать Яндекс.Директ с Microsoft Power BI

Яндекс.Директ собирает много данных, но, к сожалению, в веб-интерфейсе доступно очень мало информации для анализа. В этой статье я кратко опишу, как получить статистику о рекламных кампаниях, группах объявлений и ключевых словах с помощью языка R для визуализации в Power BI, и к каждому пункту дам ссылки на более подробную информацию.

Microsoft Power BI — один из лидеров BI-индустрии. Бесплатной базовой версии вполне достаточно для решения большинства задач, благодаря этому инструмент довольно быстро стал очень популярным среди аналитиков и маркетологов.

1. Установите язык R и необходимые пакеты функций

1.1. Скачайте и установите актуальную версию R, а также интегрированную среду разработки R Studio, в которой вам будет удобнее работать. Процесс установки не должен вызвать у вас никаких трудностей, но при необходимости вы можете посмотреть это видео:

1.2. В R Studio откройте все доступные панели с помощью сочетания клавиш Ctrl+Alt+Shift+0. В область Source вставьте код.

install.packages('ryandexdirect')

Чтобы запустить процесс установки пакета, выделите код с помощью мыши и запустите его нажатием Ctrl+Enter.

Чтобы запустить процесс установки пакета, выделите код с помощью мыши и запустите его нажатием Ctrl+Enter

2. Получите токен доступа к API Яндекс.Директ

2.1. Для получения токена доступа к API Директа воспользуйтесь кодом:

library(ryandexdirect)
yadirAuth(Login = 'ваш_логин',
          TokenPath = 'путь/к/папке/для/учётных/данных')

Функция yadirAuth() позволяет пройти авторизацию и получить учётные данные для работы с API. 

В аргумент Login передайте свой логин в Яндекс.Директ (в кавычках).

В TokenPath — указать путь к папке, в которую после авторизации будет сохранён файл с вашими учётными данными для дальнейшей работы с API. 

Важно: путь прописывайте так же, как в примере, именно через прямой ( / ), а не обратный слеш ( \ ).

Для запуска вставьте код в область Source в RStudio, выделите его курсором мыши и запустите сочетанием клавиш Ctrl+Enter.

При первой авторизации вы будете перенаправлены в браузер, где вам понадобится предоставить пакету ryandexdirect разрешение на доступ к данным вашего аккаунта.

Далее вы попадете на страницу с кодом подтверждения авторизации. Скопируйте его в консоль RStudio в качестве ответа на запрос: “Enter authorize code:”.

Нажмите Enter. Появится следующее сообщение: “Do you want save API credential in local file (путь/к/папке/для/учётных/данных/ваш_логин.yadirAuth.RData), for use it between R sessions?”. На этот вопрос надо ответить yes, чтобы полученные вами учётные данные сохранились и вы могли их использовать в дальнейшем, не проходя процедуру авторизации через браузер повторно.

Чтобы детально разобраться с процессом авторизации, посмотрите это видео:

3. Запрос статистики из Яндекс.Директ в R

После авторизации мы можем запрашивать данные из рекламного кабинета.

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

library(ryandexdirect)

data <- yadirGetReport(DateFrom   = "2020-01-01",
                      DateTo     = Sys.Date() - 1,
                      FieldNames = c("Date",
                                      "CampaignName",
                                      "CampaignId",
                                      "AdGroupName",
                                      "AdGroupId",
                                      "Criteria",
                                      "CriteriaId",
                                      "Impressions",
                                      "Clicks",
                                      "Conversions",
                                      "Cost"),
                      IncludeVAT      = "YES",
                      IncludeDiscount = "NO",
                      Login = 'ваш логин',
                      TokenPath = 'путь/к/папке/для/учётных/данных')

Если вы всё сделали правильно, после завершения процесса загрузки данных в консоли вы получите следующее сообщение:

Load token from .yadirAuth.RData
-----------------------------------------------------------
Loading data by irina.netpeak
The report has been successfully queued for offline generation.
Proccesing|======|
Report successfully generated and transmitted in response body.
Server time: 36 sec.
Parsing time: 0 sec.
RequestID: 9051100197085591144
Total time: 36 sec.
100% server time rate.
0% parsing time rate.
Number of rows is 38828
RequestID: 9051100197085591144

В примере кода выше мы использовали не все аргументы функции yadirGetReport(), но их достаточно для большинства задач. 

В аргументе FieldNames перечислите поля, которые вы планируете получить в таблице. Полный список доступных полей можно найти по ссылке. В моем примере я запрашиваю данные по показам, кликам, конверсиям и стоимости в разрезе кампаний, групп объявлений и ключевых слов.

Аргументы IncludeVAT и IncludeDiscount принимают значения YES или NO, и позволяют вам учитывать или не учитывать в расчёте потраченные средства НДС и скидку.

Кроме этих аргументов, вы можете применять различные атрибуции и выводить количество разных конверсий в отдельных столбцах. Более подробно об этом можно узнать в официальной справке пакета.

4. Переносим код в Microsoft Power BI

Если у вас успешно прошла загрузка данных в RStudio, можно переходить к загрузке в Power BI.

Откройте Power BI, нажмите «Получить данные» и выберите коннектор R-скрипт.

Переносим код в Microsoft Power BI

В диалоговое окно «Выполнить сценарий R» вставьте код, который вы на прошлом шаге написали в RStudio:

В диалоговое окно «Выполнить сценарий R» вставьте код, который вы на прошлом шаге написали в RStudio

3.1.2. Нажмите «ОК», после этого начнется процесс загрузки данных.

В результате вы получите в Power BI таблицу data:

В результате вы получите в Power BI таблицу data

Далее проверьте тип данных полей в загруженной таблице, возможно, конверсии у вас будут загружены как текст, потому что API Директа отдаёт нулевые конверсии как символы «--».

API Директа отдаёт нулевые конверсии как символы

В таком случае просто в Power Query замените «--» на 0 и преобразуйте тип данных в целое число.

преобразуйте тип данных в целое число

Замена значений

Далее вы можете использовать всю мощь Power BI для визуализации полученных данных

Далее вы можете использовать всю мощь Power BI для визуализации полученных данных. 

В облаке также не должно возникнуть проблем с обновлением, но для настройки обновления по расписанию вам понадобится использовать только персональный шлюз.

Полезные ссылки

Пакет ryandexdirect хорошо описан на русском языке:

Запомнить

На основе данных, импортированных из Яндекс.Директ в Microsoft Power BI, вы сможете создавать понятные отчеты и обновлять их в режиме реального времени. 

Подытожим основные шаги:

  1. Установите актуальную версию языка R и R Studio. Инсталлируйте пакет «ryandexdirect».
  2. Пройдите авторизацию в API Яндекс.Директ.
  3. Загрузите данные в RStudio, чтобы убедиться, что ваш код корректно работает.
  4. Перенесите рабочий код из RStudio в Power BI.

При авторизации и загрузке данных обязательно используйте аргумент TokenPath: RStudio и Power BI запускают скрипты из разных папок и после переноса рабочего кода, так что Power BI просто не сможет найти сохранённые вами учётные данные.

На этом все. Если у вас что-либо не получится — пишите комментарии, постараюсь помочь.

Также узнайте, как настроить запуск R-скрипта по расписанию.

На этом все. Если у вас что-либо не получится — пишите комментарии, постараюсь помочь.

187
79
2
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (41)

Последние комментарии

    Чтобы оставить комментарий, нужно войти

    Чтобы оставлять комментарии, переключитесь на профиль читателя

    Подписаться

    на самую полезную рассылку по интернет-маркетингу

    Самое

    обсуждаемое популярное читаемое
    Просматривая этот сайт, вы соглашаетесь с нашей политикой конфиденциальности — Принять