Этот текст объясняет, как настроить передачу данных из Facebook Ads в хранилище Google BigQuery. Если перечисленные бесплатные методы кажутся слишком сложными, переходите к страничке Renta.

С помощью этого ETL можно настроить передачу данных за несколько кликов.

Почему так важен Facebook Ads Manager

Сервис Facebook Ads Manager позволяет управлять рекламой в двух самых крупных социальных сетях: Facebook и Instagram. Все крупные рекламные кампании в Сети обязательно включают работу с Facebook Ads Manager и последующий анализ проведенных кампаний. Причина проста: Facebook и Instagram выгодно отличаются низкой ценой контакта, а также возможностями очень точного таргетинга по аудитории.

Рекламный кабинет Facebook дает много информации для анализа: все виды взаимодействий пользователей с рекламой, переходы на сайт и даже продажи. Для последнего нужно дополнительно настроить Facebook Pixel на странице завершения заказа в своем интернет-магазине. 

Однако в крупном бизнесе рекламная кампания не ограничивается одним лишь Facebook, да и продажи могут быть не только онлайн. Поэтому необходимо объединять данные из Facebook Ads Manager с данными других рекламных сервисов, а также с данными CRM. Так собственник бизнеса сможет увидеть всю картину: сколько денег тратится на рекламу, какие рекламные каналы эффективнее и какой финансовый результат.

Почему выбирают Google BigQuery

Для экспорта данных из различных источников должен использоваться мощный «облачный» сервис. Один из самых популярных — Google BigQuery. Этот сервис прекрасно подходит для работы с большими массивами информации, поскольку быстро обрабатывает аналитические запросы. Также BigQuery имеет нативные коннекторы с другими сервисами Google, такими как Analytics и Ads.

Особенно удобно работать в связке Facebook Ads Manager и Google BigQuery, если нужно администрировать сразу несколько десятков рекламных аккаунтов в FaceBook — классический сценарий для крупных рекламных агентств.

В самом Google BigQuery нет готового инструмента автоматизации импорта данных из Facebook Ads Manager, поэтому аналитик должен решить задачу по настройке автоматизации. Есть два пути. 

Первый — это использовать платный сторонний ETL сервис, каким является, например, Renta. Это простой вариант, удобный в настройке, так как вся предварительная работа уже сделана за аналитика. 

Второй вариант бесплатный, однако требует затрат на внедрение. В рамках данной статьи мы рассмотрим как вариант с использованием ETL, так и несколько бесплатных вариантов.

Экспорт данных из Facebook Ads Manager в Google BigQuery с помощью сервиса Renta

Renta — самый простой и удобный способ передачи данных. За небольшую абонентскую плату в $99 заказчик получает более двадцати коннекторов всех популярных сервисов, включая и Facebook Ads Manager. Также пользователь Renta может выбирать хранилище между Google BigQuery, Clickhouse, Azure SQL Database или другим SQL-сервером.

Чтобы настроить регулярную передачу данных в Google BigQuery, нужно выбрать правильный тип интеграции в настройках приложения Renta (в нашем случае это Facebook Ads)

Выбираем аккаунт Facebook и авторизуемся в нем. 

Выбираем рекламный кабинет в графе Ad account. Отмечаем в Parameters, какие данные будем передавать.

В Date Range Type указываем период, а в Update time —  время обновления информации.

Указываем Google BigQuery, как место агрегации информации. Если в вашем BigQuery несколько проектов, вы сможете выбрать, к какому именно эти данные будут добавляться.

Работа с Renta не сложнее работы с обычным приложением, где нужно отметить несколько опций, ввести логин-пароль и остальное программа сделает сама. 

В Renta штат разработчиков оперативно обновляет API всех коннекторов, а также оказывает качественную и своевременную техподдержку. Любой вопрос, возникший в ходе работы с Renta получает оперативный экспертный ответ.

Прямая передача данных из Facebook Ads Manager в Google BigQuery

Есть вариант создания прямой передачи данных из Google BigQuery в Facebook Ads Manager. Если вы решили пойти по этому пути, инструкции по извлечению данных из Facebook Ads Manager изложены в Facebook Marketing API. Настройка загрузки данных в Google BigQuery описана в обучающих материалах Google.

У этого бесплатного метода есть альтернатива, о которой поговорим ниже.

Экспорт данных из Facebook Ads Manager в Google BigQuery с помощью R библиотеки rfacebookstat Алексея Селезнева

Алексей Селезнев создал бесплатную библиотеку rfacebookstat. С ее помощью можно бесплатно настроить передачу из различных рекламных систем в Google BigQuery. Этот скрипт ежедневно выполняется на локальном компьютере и загружает данные из базы по вчерашний день. Библиотека написана на языке R и для стриминга данных из Facebook Ads Manager в Google BigQuery необходимо установить самую свежую версию этого языка, а также набор библиотек: 

  1. ’devtools’,
  2.  ’bitops’, 
  3. ’bigrquery’’,  
  4. ‘rfacebookstat’ и ‘zoo’.

Для начала работы с rfacebookstat необходимо создать приложение в Facebook. Краткосрочный токен поменяйте на долгосрочный.

Непосредственно скрипт для настройки выгрузки выглядит следующим образом:

В скрипте нужно исправить следующие значения:

  1. ‘C:/work/Dropbox/R’ — указать адреса рабочей папки R на вашем локальном компьютере, где находится сам скрипт и служебные файлы R;
  2. ‘EAAYXXXXXX’ — долгосрочный токен вашего приложения Facebook;
  3. ‘2019-09-01’ — дата начала;
  4. ‘Sys.Date()-1’ — дата окончания (вчерашний день);
  5. ‘act_103503XXXXXXX’ — ID рекламного профиля Facebook;
  6. ‘bigquery_project_id’ — ID проекта в BigQuery;
  7. ‘advertising_systems’ — dataset в BigQuery;
  8. ‘facebook’ — название таблицы для записи данных в BigQuery;
  9. ‘fields’ — список полей, которые будут экспортироваться. Актуальный список доступных полей доступен в официальной документации к API.

После выполнения скрипта в Google BigQuery появится таблица advertising_systems.facebook, которая содержит статистику по вчерашний день включительно. Обратите внимание, что если мы зададим большой период, то Facebook не даст выгрузить информацию из-за превышения допустимого числа обращений к API. В таких случаях статистику можно хранить в нескольких таблицах Google BigQuery.

Если передача данных работает, нужно перейти к настройке расписания, по которому будет запускаться скрипт. Это делается через планировщик задач Windows, который будет запускать созданный вами .bat-файл по расписанию.

Как видите, существует достаточно несложный бесплатный способ передать данные из Facebook Ads Manager в Google BigQuery. Однако такое решение имеет свой недостаток. Это привязка к локальному компьютеру на Windows, который должен работать в назначенное время, чтобы экспорт данных прошел успешно. Это не всегда удобно, поэтому многие аналитики выбирают готовые многофункциональные ETL решения, которые работают через «облако».