На данный момент доступно создание потока по выгрузке расходов из системы Яндекс Директ в Google BigQuery. 

Из-за особенностей API Яндекс отдает расходы двумя отчетами: 

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

Первоначально необходимо зайти в систему Garpun Feeds https://feeds.garpun.com/ под своим логином и паролем и нажать кнопку "+Поток данных".


Алгоритм создания потока из системы Я.Директ в BQ:

1) Источник данных > Приемник данных

В открывшемся меню выбираем:

2) Настройка источника данных


Необязательные настройки:

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


Настройка устанавливает полный пересбор раз в неделю. Полезно для кампаний где происходят частые изменения. Так же полезно в случаях использования объемных кампаний с большими расходами. Яндекс обладает своей внутренней системой защиты. Алгоритм проверяет различные условия и убирает из расходов ботов и "скликивание". Это происходит в течении 30 дней после формирования отчета в самом Яндексе, поэтому рекомендуется проверять статистику каждый месяц, так как значения в Яндексе спустя 30 дней могут оказаться меньше, чем значения полученные в первый день


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

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


Метки так же используются, если по каким-либо причинам мы не получаем эти метки из API Директа. Их необходимо проставить, чтобы система могла использовать их когда нужно привязать расходы без меток. Если говорить кратко, то все расходы, по которым мы не получили метки из Директа будут промечены указанными значениями. По умолчанию используется utm_source=yandex, utm_medium=cpc


Для некоторых типов кампаний (смартбаннеры, динамические объявления и т.д.) нельзя скачать метки из API Yandex Direct, поэтому, для распределения расходов по кампаниям, нужно вручную задать метки. Это так же касается объявлений мастера кампаний.
По всем этим кампаниям мы не получаем контент объявлений. Без контента, не имея ссылок из объявления, система не может разбить данные по меткам. Чтобы избежать потери данных, алгоритм берет название кампании из Яндекса, транслитерирует его, использует полученное имя как метку и передает данные в Аналитику.
Чтобы избежать транслитерации нужно использовать кастомные метки, либо отключить алгоритм транслитерации при помощи соответствующей опции.


3) Настройка приемника данных

4) Общие настройки


В качестве итоговой таблицы мы получаем таблицу со следующей схемой:



НазваниеТип
ad_formatString
ad_group_idInt64
ad_group_nameString
ad_idInt64
ad_network_typeString
ageString
avg_click_positionInt64
avg_effective_bidInt64
avg_impression_positionFloat32
campaign_idInt64
campaign_nameString
campaign_url_pathString
campaign_typeString
clicksInt64
costFloat64
criteriaString
criteria_idInt64
criteria_typeString
dateDate
deviceString
genderString
impressionsInt64
location_of_presence_idInt64
location_of_presence_nameString
match_typeString
mobile_platformString
placementString
rl_adjustment_idInt64
slotString
targeting_categoryString
targeting_location_idInt64
targeting_location_nameString
yandex_client_loginString
sourceString
mediumString
campaignString
termString
contentString