Одна из самых первых и приоритетных задач для любой data-driven команды — это автоматизация маркетинговой отчетности. Ручной сбор метрик съедает часы рабочего времени, порождает ошибки и замедляет принятие решений.
В этом руководстве я покажу, как надежно автоматизировать экспорт данных из Meta Ads в Google BigQuery. Но главное — мы сделаем это так, чтобы соблюсти интересы двух часто конфликтующих команд: дата-инженеров и маркетинг-менеджеров.
Чаще всего этот конфликт сводится к двум запросам
- Маркетинг-менеджерам нужны свежие, гранулярные данные прямо сейчас. Они хотят, чтобы дашборды собирались максимально быстро, а данные позволяли докопаться до эффективности конкретного рекламного креатива.
- Дата-инженерам важна стабильность. Им нужна прозрачное понимание стоимости дата-архитектуры, масштабируемость и полный контроль над пайплайнами.
Renta позволяет управлять выгрузками из тысяч рекламных аккаунтов Meta Ads с интервалом обновления каждые 15 минут. При этом управлять потоками данных можно как через no-code интерфейс, так и с помощью систем оркестрации данных, таких как Airflow или Dagster.
Перед тем, как мы перейдем к создания дата пайплайна, давайте разберемся как устроено Meta Ads API.
Как утроен Meta Ads Insights API?
Meta Ads Insights API содержит только статистические данные для различных объектов рекламного аккаунта (таких как кампании или креативы).
Однако этих данных недостаточно, так как они не содержат метаданные, такие как статусы модерации или настройки таргета.
При построении хранилища под отчётность Facebook Ads архитектурно правильно разделять данные на четыре типа сущностей: статистика, метаданные по креативам ads, группам объявлений adsets и кампаниям campaigns.
| Таблица (Сущность) | Описание и состав данных |
|---|---|
| Ad statistics (Статистика) | Основная таблица с метриками. Содержит показы, клики, расходы (spend), лиды и другие конверсии в разрезе идентификаторов объектов и UTM-параметров. |
| Ad campaign metadata (Метаданные кампаний) | Структурные данные верхнего уровня. Здесь хранятся глобальные настройки кампаний, метод закупки и цели таргета (objective). |
| Adset metadata (Метаданные групп объявлений) | Детали на уровне адсетов. Включает бюджеты (daily_budget, lifetime_budget), настройки оптимизации и статусы. |
| Ad metadata (Метаданные объявлений) | Специфичная информация по самим креативам. Включая статусы модерации и ссылки на превью (preview_shareable_link). |
Проектирование схемы данных для Meta Ads
На практике, Meta Ads объекты постоянно меняются со стороны команды маркетинга. Менеджеры могут в любой момент переименовать кампанию, изменить настройки группы объявлений или поменять статус креатива.
Если хранить названия и атрибуты в одной огромной таблице вместе со статистикой, то при любом переименовании кампании вам придется перезаписывать весь исторический датасет за прошлые периоды, просто чтобы актуализировать в нем одно текстовое поле (а если этого не сделать, то маркетинг начнет сигнализировать о том, что у них не сходится статистика).
В тоже время, если в таблице статистики хранить только ID, а актуальные названия и атрибуты — в отдельных таблицах метаданных, мы получаем невероятно гибкую и надежную систему.
На практике это работает следующим образом: таблицы метаданных при каждом обновлении просто перезаписываются целиком (full refresh) и всегда содержат самую свежую, последнюю версию атрибутов. Когда маркетологу нужен отчет в BI-системе, дата-инженеры просто «джойнят» (JOIN) тяжелую таблицу статистики по ID с легкими таблицами актуальных метаданных.
В свою очередь, таблица статистики обновляется инкрементально с фиксированным периодом пересчета (в Renta мы называем это overwrite period). Это необходимо, чтобы актуализировать данные, которые могут прийти с заде ржкой — например, конверсии в рамках окна атрибуции или корректировки рекламного бюджета.
Как настроить репликацию данных
Чтобы не собирать каждый поток вручную, в Renta есть готовые шаблоны (Pre-built Templates). Они сами создают пайплайны с нужной схемой данных и обновляют данные в Google BigQuery.
Вам достаточно выбрать интеграцию типа Pre-built templates и указать базовые настройки:
| Настройка | Описание |
|---|---|
| Ad accounts | Рекламные кабинеты, из которых забираем данные. |
| Templates | Сам шаблон — Facebook Ads Performance report. |
| Date Range | Период для стартовой выгрузки исторических данных. |
| Расписание | Частота регулярных обновлений (на пример, каждые 15 минут). |
После чего Renta создаст четыре связанных пайплайна, применит настройки атрибуции Meta, задаст 7-дневный период пересчета (overwrite period) для статистики и запустит синхронизацию. На выходе вы получаете четыре таблицы с чистыми данными.
Глобально вся настройка в интерфейсе Renta сводится к трем этапам:
- Подключить рекламный кабинет Facebook (источник данных).
- Добавить Google BigQuery (хранилище).
- Запустить сам шаблон пайплайнов.
Давайте приступим к настройке.
Подключение источника Facebook Ads
Для начала нужно дать Renta доступ к вашим рекламным кабинетам.
Перейдите в раздел Connections → Catalog в левом боковом меню Renta.

В категории Advertising найдите карточку Facebook Ads.

Нажмите Log in to your Facebook Ads account. Платформа перенаправит вас на страницу входа Facebook (используется безопасный протокол OAuth).

Проверьте запрашиваемые права и разрешите Renta получать статистику аккаунта (кнопка Continue или Reconnect).

Придумайте понятное название для подключения (оно будет отображаться только в интерфейсе Renta) и нажмите Save.

Подключение хранилища Google BigQuery
Источник готов. Теперь укажем платформе, куда складывать собранные данные.
Перейдите в раздел Destinations и нажмите кнопку + Add destination в правом верхнем углу.

В каталоге найдите и выберите Google BigQuery.

Выберите метод авторизации. Для стабильной работы (production) рекомендуем GCP Service Account — нажмите Upload a Service Account JSON file и загрузите ключ от Google Cloud. Для быстрой настройки можно выбрать Authenticate with Google Account и просто войти через ваш личный Google-аккаунт.

Заполните конфигурацию подключения:
| Параметр | Описание |
|---|---|
| Destination name | Название хранилища внутри Renta (например, Marketing DWH). |
| BigQuery project | ID вашего проекта в Google Cloud (при загрузке JSON-ключа определится автоматически). |
| BigQuery dataset | Выберите существующий датасет или создайте новый. |
| Data Location | Регион хранения (если датасета нет, Renta автоматически создаст Renta_dataset в указанном регионе). |
Нажмите Save.

Готово. В списке хранилищ появится новое подключение BigQuery со статусом Active.

Конфигурация пайплайна
Источник и хранилище подключены, осталось связать их через готовый шаблон.
В левом боковом меню (раздел Pipelines) нажмите кнопку New pipeline.
