Этот текст описывает методики передачи данных из рекламной системы Яндекс.Директ в облачное хранилище Google BigQuery. Если изложенные в статье бесплатные методы слишком сложные, переходите на страничку сервиса Renta. С помощью сервиса Renta можно настроить экспорт данных за несколько кликов и не тратить время на разработку своих методов.

Почему важен Яндекс.Директ?

Поисковик Яндекса занимает огромную долю на российском рынке, практически на равных конкурируя с Google. Недавние исследования показали, что рекламные кампании в Яндекс.Директе наиболее эффективна в Рунете.

Зачем переносить данные из Яндекс.Директ в Google BigQuery?

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

Почему именно Google BigQuery?

Облачное хранилище Google BigQuery имеет несколько преимуществ. Оно прекрасно работает с большими массивами данных и позволяет импортировать данные из других сервисов как вручную, так и автоматически. Автоматический обмен данными можно настроить как бесплатно своими силами, так и воспользоваться готовым сервисом Renta.

Экспорт данных из Яндекс.Директ в Google BigQuery с помощью сервиса Renta

Это самый простой способ решить проблему системной аналитики своего бизнеса. Renta экспортирует в Google BigQuery данные с более чем двадцати коннекторов, а не только из одного Яндекс.Директ. Этот ETL сервис работает по подписке со стоимостью 99$ в месяц.

Чтобы настроить передачу отчетов из Яндекс.Директ в Google BigQuery нужно в меню Renta выбрать тип интеграции Yandex Direct. 

Затем нужно авторизоваться в своем аккаунте Яндекс.Директ. 

Затем необходимо настроить, какие данные будут передаваться из Яндекс.Директ. 

Для этого нужно заполнить следующие поля:

  1. Report type: выбор типа отчета.
    Рента поддерживает все типы отчетов, доступных в API Директа.
    Таким образом, вы сгруппировать данные, как вам нужно, используя все доступные поля.
  2. Parameters: выбираем параметры, которые будут выгружаться. Этот показатель напрямую связан с выбранным значением Report type.
  3. Include Discount: Это параметр для агентских аккаунтов. Если он активирован, в отчете учитывается агентская скидка.
  4. Include Vat: Если активирован, в стоимости клика будет учитываться НДС.  
  5. Date Range Type: В этом поле мы указываем временной диапазон нужных нам данных.
  6. Update time: Здесь настраиваем расписание для регулярной выгрузки.

Теперь нужно выбрать облачное хранилище для выгрузки данных из Clickhouse, Azure SQL и Google BigQuery.

Если в Google BigQuery у вас несколько отдельных проектов, Renta предложит выбрать один.
На этом настройка окончена, все работает.

Экспорт данных из Яндекс.Директ в Google BigQuery своими силами

Для того, чтобы выгрузить данные из Яндекс.Директ нужно воспользоваться API Директа — там находится весь необходимый набор инструкций для настройки. Настройка импорта информации в Google BigQuery описана в обучающих материалах Google. Это удобный способ в случае, если вы рекламируетесь только в Яндекс.Директ, не заинтересованы в других рекламных сервисах и в Google BigQuery импортируете информацию из 1-2 источников.

Импорт данных Яндекс.Директ в Google BigQuery с помощью R библиотеки rfacebookstat Алексея Селезнева

Еще один бесплатный способ настроить передачу данных из Яндекс.Директ в Google BigQuery — библиотека rfacebookstat Алексея Селезнева. Она инсталлируется на локальный компьютер, выгружает данные из Яндекс.Директ по расписанию и затем загружает в Google BigQuery.

Для реализации этого метода нужно установить самые последние версии языка R и R Studio. Также необходимо инсталлировать следующие пакеты:

  • devtools
  • bitops
  • ryandexdirect
  • bigrquery

После этого нужно получить токен для доступа к Яндекс.Директ через R. Токен генерируется командой yadirGetToken(). Далее нужно адаптировать скрипт на языке R. Его выполнение обеспечивает забор данных из Директа и их трансферт в BigQuery:

Скрипт содержит следующие пользовательские переменные:

  1. ‘C:/work/Dropbox/R’ — указываем путь к рабочей папке R, где лежит скрипт и служебные файлы языка R;
  2. ‘AQGP_QXXXXXX’ — нужно изменить на полученные на предыдущей стадии токен;
  3. ‘dateStart’ — дата начала отчетного периода, за который мы запрашиваем данные;
  4. ‘Sys.Date()-1’ — дата окончания отчетного периода. Поскольку нам нужна регулярная выгрузка, это всегда будет вчерашний день;
  5. ‘bigquery_project_id’ — идентификатор проекта в Google BigQuery. Важно, если у вас больше одного проекта;
  6. ‘advertising_systems’ — dataset в BigQuery;
  7. ‘direct’ — название таблицы для записи данных в BigQuery.

Если скрипт настроен правильно, в Google BigQuery появляется таблица advertising_systems.direct.
В ней будут следующие поля:

После чего нужно автоматизировать работу скрипта.
Для этого мы можем использовать планировщик задач Windows, который будет автоматически запускать скрипт в нужное нам время.

Проблема этого метода в том, что мы зависим от работы локального компьютера. Если он будет выключен во время, когда запланирована синхронизация, данные не попадут в Google BigQuery. Это не всегда удобно, и поэтому многие аналитики используют готовые облачные ETL решения.