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

Как связать Яндекс.Директ с 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.netpeakThe 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: 9051100197085591144Total time: 36 sec.100% server time rate.0% parsing time rate.Number of rows is 38828RequestID: 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-скрипта по расписанию.

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

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

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

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

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

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

    Подписаться

    на самую полезную рассылку по интернет-маркетингу
    Cookies policy
    Просматривая этот сайт, вы соглашаетесь с нашей политикой конфиденциальности — Ok