Краткий обзор: Cost ETL является частью AppsFlyer ROI360 и предоставляет рекламодателям данные о затратах на кампанию с максимальной детализацией по медиаисточникам. Данные, обновляемые до 4 раз в день, доставляются в ваш облачный сервис и готовы к загрузке в BI-системы рекламодателей.
Cost ETL является частью ROI360 AppsFlyer и предоставляет рекламодателям данные о затратах на кампанию с максимальной детализацией по медиаисточникам. До четырех раз в день данные обновляются и поступают в ваш облачный сервис Data Locker, готовый к загрузке в системы бизнес-аналитики рекламодателя.
Рекламодатели могут легко направлять отчеты сразу в несколько облачных пунктов назначения. Это упрощает командам переход с одного облачного сервиса на другой, поскольку данные одновременно доступны в нескольких сервисах.
Отчеты Cost ETL включают в себя данные о затратах, привязанные к атрибуции AppsFlyer, включая такие показатели атрибуции, как установки, реатрибуция и повторное вовлечение.
Четыре типа отчетов Cost ETL
В AppsFlyer предусмотрено четыре типа отчетов Cost ETL для разных аналитических целей.
- Сводный отчет: (по умолчанию) высокоуровневые данные о затратах, агрегированные по медиаисточникам. Рекомендуется для анализа затрат и показателей эффективности на широком уровне.
- Отчет по странам: (необязательно) данные о расходах с разбивкой по странам (двухбуквенные коды, например US, CA или FR). Рекомендуется для анализа затрат и эффективности на региональном уровне.
-
Отчет по каналу: (необязательно) данные о затратах сегментируются по каналам (например, YouTube, Шопинг). Лучше всего подходит для анализа эффективности и затрат на уровне канала.
См. пример файла -
Отчет обо всех затратах: полное представление о данных о затратах на мобильные и немобильные устройства, поступающих непосредственно из рекламных сетей, без атрибуции. В настоящее время включает в себя Google Ads, Meta Ads и TikTok.
См. пример файлаПримечание.
Чтобы начать получать данные от Google Ads и Meta Ads в отчете обо всех затратах, свяжитесь с представителем AppsFlyer.
Обзорная таблица типов отчетов Cost ETL
| Обзор | Регион | Канал | Отчет обо всех затратах | |
|---|---|---|---|---|
| Как получить отчет | Активация Cost ETL. Сводный отчет выбран по умолчанию. | Активируйте Cost ETL и выберите отчет по региону. | Активируйте Cost ETL и выберите отчет по каналу. | Активируйте Cost ETL и выберите отчет по региону. (На странице ETL по затратам нет специального переключателя Отчета обо всех затратах.) |
| Где найти отчет | Зависит от выбранного вами облачного коннектора. Это может быть папка (Summary) или специальная таблица. | Зависит от выбранного вами облачного коннектора. Это может быть папка (Geo) или специальная таблица. | Зависит от выбранного вами облачного коннектора. Это может быть папка (Channel) или специальная таблица. | Зависит от выбранного вами облачного коннектора. Это может быть папка (All Cost) или специальная таблица |
| Тип охвата затрат |
Расходы на мобильную рекламу: без ограничений.
|
Как в Summary. | Как в Summary. | Затраты в мобайле, вебе, CTV, ПК и консолях в Google Ada, Meta Ads и TikTok. |
| Охват медиаисточников | Без ограничений | Без ограничений | Без ограничений |
|
| Детализация данных схемы | На основе конфигурации клиента в настройках Cost ETL. |
На основе конфигурации клиента в настройках Cost ETL.
|
На основе конфигурации клиента в настройках Cost ETL.
|
На основе конфигурации клиента в настройках Cost ETL. Для Meta параметр канала не поддерживается. |
| Данные атрибуции | Поддерживается | Поддерживается | Поддерживается |
Не поддерживается.
|
| Идентификатор приложения | Если рекламная сеть не поддерживает детализацию идентификатора приложения, идентификатор приложения извлекается из данных атрибуции. | Как в Summary. | Как в Summary. |
Извлекается из рекламной сети.
|
| Источник затрат | Интеграция API (Cost + InCost), Cost Import, CPI | Как в Summary. | Как в Summary. | Только интеграция API. |
| CNC | Поддерживается | Поддерживается | Поддерживается | Не поддерживается. |
| Данные агентства | Поддерживается | Поддерживается | Поддерживается |
|
| Агентское вознаграждение | Поддерживается | Поддерживается | Поддерживается | Не поддерживается. Значение всегда равно 0. |
| Актуальность данных | Данные собираются из рекламной сети 6 раз в день. Отчеты могут предоставляться до 4 раз в день (в зависимости от конфигурации клиента). |
|||
Сведения об отчете
Актуальность данных
Данные о затратах на кампанию сохраняются:
- В облачный сервис или корзину — для просмотра, передачи и загрузки данных о затратах в ваши системы.
- Для всех приложений, которые вы решите включить в Cost ETL, по дням и версиям.
- До 4 раз в день (актуальность данных: в течение дня).
- Для текущего дня и предыдущих 6 дней (в данной статье они обозначаются как 7 дней), а также для дней 14, 29 и 88. Учитывайте это в процессе загрузки данных.
- Пример: Файл содержит данные за 14 октября 2024 года (текущий день), 13 октября (1 день назад), 12 октября (2 дня назад), 11 октября (3 дня назад), 10 октября (4 дня назад), 9 октября (5 дней назад), 8 октября (6 дней назад), 30 сентября (14 дней назад), 15 сентября (29 дней назад) и 18 июля (88 дней назад).
- Ретроактивные данные позволяют обновлять и корректировать данные о расходах.
- Для затрат, сопоставленных с атрибуцией, кликом или показом.
Примечание:- Данные за последние 7 дней извлекаются заново из медиаисточников. Данные за дни 14, 29 и 88 обрабатываются повторно.
- Ретроспективно обновляются только данные о затратах, но не данные об атрибуции.
Структура каталога и названий файлов
Данные, записанные в облачный сервис или корзину, имеют описанную структуру каталогов и файлов:
- Когда Cost ETL завершает запись данных в каталог, создается файл success, который служит признаком успешного завершения процесса. Это всегда самая последняя временная метка в директории.
- Количество папок/файлов следующее:
- Кратко: до 4 папок с разными версиями данных в день.
- Каждая папка с версией данных содержит файлы parquet с данными за 7 дней.
- Отчет по гео или каналу: Каждый отчет содержит до 4 папок с версиями в день.
- Каждая папка содержит файлы parquet, содержащие данные с нумерацией, начиная с 1.
- Все затраты: На основе географического измерения содержит до 4 файлов в день.
- Кратко: до 4 папок с разными версиями данных в день.
Структура каталога подключений Data Locker
<client-bucket><DL-generated-partition><connection-name>/t=<report-name>/dt=<YYYY-MM-DD>/v=<1/2/3/4>/<parquet file number>
| Переменная | Содержимое |
|---|---|
| client-bucket | Название корзины, настроенное в облачном сервисе |
| DL-generated-partition | Сгенерированный раздел, уникальный для каждого клиента |
| connection-name | Название подключения, заданное при настройке Data Locker |
| t |
Название конкретного отчета. Либо:
|
| dt |
|
| v |
|
| Номер файла Parquet |
|
Структура каталога подключений Cost ETL
<advertiser bucket name>/cost_etl/version/dt=<yyyy-mm-dd>/b=<n>/<dimension>/<file name/<parquet file number>
| Переменная | Содержимое |
|---|---|
| advertiser_bucket_name | Как определено в конфигурации Cost ETL: af-xpend-cost-etl-<af-account-id>-[суффикс названия вашей корзины]. |
| cost_etl | Всегда cost_etl |
| version | Версия Cost ETL |
| дата |
Дата затрат Формат: гггг-мм-дд |
| batch | Числа: 1-4 |
| dimension |
Параметр данных:
|
| file_name |
|
| Номер файла Parquet |
|
Пример: при первой загрузке данных за 23 июня 2020 года структура каталогов и имен файлов выглядит следующим образом: /bucket-name/cost_etl/v1/dt=2020-06-23/b=1/geo/part-00001
Поля файлов
Поля/параметры
| Поле | Примечания | Всегда заполнено | Формат | Включено в сводный файл |
|---|---|---|---|---|
| ad | Компонент рекламной иерархии | Нет | Cтрока | - |
| ad_account |
|
Нет | Cтрока | - |
| ad_id | Компонент рекламной иерархии | Нет | Cтрока | - |
| adset | Компонент рекламной иерархии | Нет | Строка | - |
| adset_id | Компонент рекламной иерархии | Нет | Строка | - |
| af_bid_strategy | Стратегия ставок сопоставляется и нормализуется AppsFlyer. Компонент свойств кампании. Подробнее | Нет | Строка | - |
| af_cost_model | Модель затрат сопоставляется и нормализуется AppsFlyer. Компонент свойств кампании. Подробнее | Нет | Строка | - |
| agency | Агентство, ответственное за размещение рекламы | Нет | Строка | - |
| app_id | Идентификатор приложения на платформе AppsFlyer | Да | Строка | ✓ |
| bid_amount | Компонент свойств кампании. Подробнее | Нет | Целое число | - |
| bid_strategy | Компонент свойств кампании. Подробнее | Нет | Строка | - |
| campaign | Компонент рекламной иерархии | Нет | Строка | - |
| campaign_id | Компонент рекламной иерархии | Нет | Строка | - |
| campaign_objective | Компонент свойств кампании. Подробнее | Нет | Строка | - |
| channel | Показатель в рекламной иерархии | Нет | Строка | - |
| cost_model | Компонент свойств кампании. Подробнее | Нет | Строка | - |
| currency | Валюта расходов рекламодателя, определенная для приложения в AppsFlyer | Да | Строка из 3 символов, соответствующая стандарту ISO-4217 | ✓ |
| date | Дата возникновения расходов по данным медиаисточника | Да | строка гггг-мм-дд | ✓ |
| geo | Показатель в рекламной иерархии | Нет | Строка из 2 символов, соответствующая стандарту ISO 3166 | ✓ |
| keyword_id | Идентификатор поисковых запросов ASA | Да | Строка | - |
| keyword_term | Слово(а), использованное(ые) пользователем для поиска в Интернете | Да | Строка | - |
| media_source | Медиаисточник, ответственный за показ объявления | Да | строка | ✓ |
| original_bid_amount | Компонент свойств кампании. Подробнее | Нет | Целое число | - |
| original_currency | Валюта расходов, указанная сетью до каких-либо конверсий | Да | Строка из 3 символов, соответствующая стандарту ISO-4217 | - |
| os |
Операционная система устройства. Возможные значения:
|
Да | Строка | - |
| platform | Платформа, используемая для проведения кампании (мобайл, планшет, ПК и CTV) | Только в отчете обо всех затратах | Строка | - |
| site_id | Идентификатор издателя | Нет | Строка | - |
| timezone |
|
Да | Строка | - |
Метрики
| Поле | Примечания | Всегда заполнено | Формат | Включено в сводный файл |
|---|---|---|---|---|
| ccvr |
|
Целое число | - | |
| clicks |
|
Целое число | ✓ | |
| clicks_discrepancy |
|
Целое число | - | |
| cost | Сумма расходов (включая сборы агентства, если есть) | Значение | ✓ | |
| cost_without_fees | Затраты за вычетом сборов агентства. Подсчитываются AppsFlyer | Да | Целое число | - |
| cpi |
|
Целое число | - | |
| ctr |
|
Нет | Целое число | - |
| cvr |
|
Целое число | - | |
| cvvr |
|
Целое число | - | |
| ecpc |
|
Целое число | - | |
| ecpm |
|
Целое число | - | |
| fees | Сборы, взимаемые агентством в дополнение к обычной стоимости рекламы. Подсчитывается AppsFlyer | Да | Целое число | - |
| impressions |
|
Да. Если значение определенного показателя отсутствует, вместо него указывается 0. |
Целое число | ✓ |
| impressions_discrepancy |
|
Целое число | - | |
| installs | Подсчитываются AppsFlyer | Целое число | ✓ | |
| installs_discrepancy |
|
Целое число | - | |
| original_cost | Расходы по данным рекламной сети в указанной ею валюте, до конвертации в другую валюту (с учетом агентских комиссий, рассчитанных AppsFlyer, если применимо). | Значение | - | |
| original_cost_without_fees | Изначальные затраты, указанные рекламной сетью, без сборов агентства | Да | Целое число | - |
| re_attributions | Подсчитываются AppsFlyer | Целое число | ✓ | |
| re_engagements | Подсчитываются AppsFlyer | Целое число | ✓ | |
| reported_clicks | Подсчитываются медиаисточником | Целое число | ✓ | |
| reported_conversions | Подсчитываются медиаисточником | Целое число | ||
| reported_cvr |
|
Целое число | - | |
| reported_impressions | Подсчитываются медиаисточником | Целое число | ✓ | |
| video_25p_views | Просмотры 25% видео. Сообщается рекламной сетью | Целое число | - | |
| video_50p_views | Просмотры 50% видео. Сообщается рекламной сетью | Целое число | - | |
| video_75p_views | Просмотры 75% видео. Сообщается рекламной сетью | Целое число | - | |
| video_completions | Сообщается рекламной сетью | Целое число | - |
Процедуры
Настройка Cost ETL
Эта процедура настройки должна выполняться пользователем-администратором.
Прежде чем начать:
Для настройки Cost ETL требуется:
- Облачный сервис, созданный с разрешения AppsFlyer на запись в него данных. Это означает, что вам нужно настроить один или несколько из следующих облачных сервисов:
- Права администратора аккаунта AppsFlyer и доступ к интерфейсу AppsFlyer для завершения настройки Cost ETL.
- В AppsFlyer в боковом меню выберите Экспорт Cost ETL.
- Выберите или настройте подключение к данным:
- Если у вас уже настроены подключения к данным, выберите в раскрывающемся списке «Подключение» те, которые хотите использовать для Cost ETL.
- Если у вас еще нет подключения к данным, нажмите + Новое подключение в Data Locker и создайте там подключение:
- Дайте название подключению.
-
Выберите, куда в облачном сервисе должны записываться данные. Выполните одно из следующих действий:
- Выберите S3.
- Введите название своей корзины AWS S3. Префикс
af-обязателен, его необходимо ввести вручную. - Нажмите Тестировать подключение.
- Убедитесь, что не отображается сообщение об ошибке, указывающее на недопустимый путь к корзине.
- Выберите, нужно ли сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В настройках Cost ETL выберите созданный облачный сервис в раскрывающемся списке «Подключение».
- Введите название своей корзины AWS S3. Префикс
- Выберите GCS.
- Введите название вашей корзины GCS.
- Нажмите Тестировать подключение.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Выберите, нужно ли сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В настройках Cost ETL выберите созданный облачный сервис в раскрывающемся списке «Подключение».
- [Бета] Выберите Azure.
- Введите Название подключения, Название аккаунта хранилища и Ключ.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Выберите, нужно ли Сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Подключение выберите созданный облачный сервис.
- [Бета-версия] Выберите Яндекс.
- Введите Название корзины, Ключ доступа и Секретный ключ.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Выберите, нужно ли сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Подключение выберите созданный облачный сервис.
- Выберите BigQuery.
- Введите идентификатор проекта BigQuery и название набора данных.
- Нажмите Тестировать подключение.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Подключение выберите созданный облачный сервис.
- Выберите Snowflake.
- Введите свой регион Snowflake и идентификатор аккаунта.
- Нажмите Тестировать подключение.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Подключение выберите созданный облачный сервис.
- Выберите S3.
- Дайте название подключению.
- Если у вас уже настроены подключения к данным, выберите в раскрывающемся списке «Подключение» те, которые хотите использовать для Cost ETL.
- Нажмите Далее.
- Задайте расписание версий (UTC):
- Выберите, сколько отчетов вы хотите получать каждый день (1, 2, 3 или 4).
- Выберите, в какое время вам удобнее получать отчеты. Подробнее
- Нажмите Далее.
- Настройте сведения в отчете:
- Выберите одно или несколько приложений, данные которых нужно включить в отчеты. Выберите Добавить все будущие приложения, чтобы автоматически включать приложения, которые вы добавите в будущем.
- Выберите отчеты, наиболее соответствующие потребностям вашего анализа. См. описания в разделе Типы отчетов.
- Выберите параметры для включения в отчеты. Примечание: Если вам необходим отчет по регионам, региональные параметры включаются по умолчанию. Если вы выбрали отчет по каналам, параметр «Канал» включается в него по умолчанию.
- Выберите параметры для включения в отчеты.
- Выберите одно или несколько приложений, данные которых нужно включить в отчеты. Выберите Добавить все будущие приложения, чтобы автоматически включать приложения, которые вы добавите в будущем.
- Нажмите Применить.
Редактировать или изменить подключение
Вы можете редактировать или изменять подключения, чтобы данные отправлялись в другие (или дополнительные) места.
Примечание: После переключения на существующее подключение вы не сможете вернуться к предыдущему подключению Cost ETL.
Редактировать подключение
Как вносить изменения в детали подключения:
- В AppsFlyer в боковом меню выберите Экспорт Cost ETL.
- В разделе подключения данных:
- Для подключений Data Locker в раскрывающемся списке Подключения наведите курсор на подключение, которое вы хотите изменить. Отображение деталей подключения. Нажмите Редактировать в Data Locker.
- Чтобы узнать о подключениях Cost ETL, нажмите раскрывающееся меню Сведения о подключении. Отображение деталей подключения.
- Для подключений Data Locker в раскрывающемся списке Подключения наведите курсор на подключение, которое вы хотите изменить. Отображение деталей подключения. Нажмите Редактировать в Data Locker.
- Следуйте инструкциям на экране, чтобы изменить детали подключения.
- Нажмите Сохранить изменения или Применить по запросу.
Изменить подключение к Data Locker
Чтобы перейти от одного подключения к Data Locker к другому:
- В AppsFlyer в боковом меню выберите Экспорт Cost ETL.
- В разделе подключения данных:
- Если нужные вам подключения к Data Locker уже настроены, в раскрывающемся списке Подключение выберите нужные для Cost ETL.
- Если у вас ещё не настроено нужное вам подключение к Data Locker, нажмите + Новое подключение в Data Locker и создайте там подключение. Затем вернитесь к настройкам Cost ETL и выберите их из выпадающего меню Подключение.
- Если нужные вам подключения к Data Locker уже настроены, в раскрывающемся списке Подключение выберите нужные для Cost ETL.
- Нажмите Сохранить изменения.
Переход от Cost ETL к подключению Data Locker
Прежде чем начать:
- Учитывайте, что после перехода на подключение к Data Locker вы не сможете вернуться к предыдущему подключению Cost ETL.
-
Обратите внимание, что при переходе на подключение к Data Locker структура пути к папке меняется на следующий формат, при этом данные в отчете остаются без изменений:
<client-bucket>/<DL-generated-partition>/<connection-name>/t=<report-name>/dt=<YYYY-MM-DD>/v=<1/2/3/4>/
Чтобы перейти от устаревшего подключения Cost ETL к подключению к Data Locker:
- В AppsFlyer в боковом меню выберите Экспорт Cost ETL.
- В разделе Подключение к данным нажмите Подключения к Data Locker.
- Чтобы настроить подключение к Data Locker, выполните одно из следующих действий:
- Если у вас уже настроены нужные вам подключения, в раскрывающемся списке Подключение выберите нужные для Cost ETL.
- Если у вас еще не настроено нужное вам подключение, нажмите + Новое подключение в Data Locker и создайте там подключение. Затем вернитесь к настройкам Cost ETL и выберите их из выпадающего меню Подключение.
- Если у вас уже настроены нужные вам подключения, в раскрывающемся списке Подключение выберите нужные для Cost ETL.
- Нажмите Сохранить изменения.
Изменение владельца объекта AWS
В AWS по умолчанию, когда AppsFlyer записывает объекты в вашу корзину, владельцем объекта является AppsFlyer. В зависимости от процесса загрузки данных вам, возможно, придется изменить владельца по умолчанию на вас как владельца корзины.
Чтобы изменить права собственности на объекты в вашей корзине:
- Войдите в консоль управления AWS и откройте консоль Amazon S3 по адресу https://console.aws.amazon.com/s3/.
- В списке Корзины выберите имя корзины, для которой нужно включить S3 Object Ownership.
- Перейдите на вкладку Разрешения.
- В разделе Владение объектом нажмите Редактировать.
- ВыберитеПредпочтительно владелец корзины.
- Нажмите Сохранить.
Практические рекомендации
Расписание отчетов
Настройки расписания отчетов позволяют получать самые свежие данные именно тогда, когда они вам нужны.
При выборе расписания отчетов:
- Выберите время получения отчета как можно ближе к моменту начала обработки данных в вашей BI-системе.
- Если какие-либо рекламные сети предоставляют вам данные за вчерашний день позже других, задайте дополнительный отчет в момент готовности этих данных рекламной сети.
Переопределение данных
При получении и анализе данных рекомендуется загружать данные за определенную дату и пакет либо перезаписывать все ранее полученные данные за дни, охваченные текущим пакетом. В противном случае вы можете увидеть повторение одних и тех же данных.
Например, пакет 1 от 20 февраля содержит данные за 14-20 февраля. Но пакеты, записанные 19 февраля, также содержали данные за период с 14 по 19 февраля. Перезапишите данные предыдущих дней, полученные 19 февраля, данными, полученными в последнем пакете от 20 февраля.
Геоданные и канал
Не все сети предоставляют данные по всем показателям вместе. Наиболее распространенными примерами являются геоданные и канал в Meta ads. Именно поэтому представлены два отдельных набора данных. Набор геоданных гарантированно содержит геоданные, а набор данных канала гарантированно содержит данные канала.
Во многих случаях и для многих медиаисточников данные в наборах гео и каналов будут идентичны. Поэтому используйте один из наборов данных (гео или канал) в зависимости от того, что больше всего соответствует вашим потребностям.
Если в соглашении об интеграции с данным медиаисточником не указан канал, и он пуст, мы рассматриваем эти данные так, как будто они содержат канал.
Агрегированные данные
Cost ETL обеспечивает гибкость и детальность данных, которые можно извлечь из рекламной сети. Чтобы получать полезные для бизнеса выводы из потенциально огромных объемов данных, рекомендуется агрегировать их в соответствии с потребностями вашей компании. Например, если вам нужно понять данные о затратах на уровне кампании и страны, используйте эти показатели.
Стандартизация данных разных рекламных сетей
Не все сети предоставляют данные с одинаковой детализацией. Например, Meta ads не предоставляет данные о затратах по идентификатору сайта, а X Ads не предоставляет данные о затратах по геолокации. Помните о таких случаях, когда вы агрегируете данные Cost ETL, и обязательно смотрите на сходные данные, когда сравниваете сети.
Сравнение данных
Cost ETL предоставляет информацию обо всех данных о затратах. Некоторые кампании, представленные в Cost ETL, не отображаются в некоторых дэшбордах AppsFlyer, например, данные неактивных кампаний, то есть кампаний, в которых не было зафиксировано ни одной установки. Чтобы сравнить данные, найдите идентификатор конкретной кампании на обзорном дэшборде и сравните его с данными о затратах в Cost ETL. Узнайте больше о доступности данных о затратах
Объединение отчета по странам и общего отчета о расходах
Чтобы получить полные данные о затратах, связанные с атрибуцией для Google, Meta, TikTok (мобайл и др.) и других медиаисточников (только для мобайла), используйте следующий запрос:
with etl as (
select *
from etl
where media_source = 'Facebook Ads'
and date = '2025-07-16'
),
allcost as (
select *
from allcost
where media_source = 'Facebook Ads'
and date = '2025-07-16'
),
main as (
select
case when etl.date is null then 'all cost' else 'cost etl' end as report,
coalesce(etl.date, allcost.date) as date,
coalesce(etl.app_id, allcost.app_id) as app_id,
etl.os,
allcost.platform,
coalesce(etl.media_source, allcost.media_source) as media_source,
coalesce(etl.agency, allcost.agency) as agency,
coalesce(etl.campaign_id, allcost.campaign_id) as campaign_id,
coalesce(etl.campaign, allcost.campaign) as campaign,
coalesce(etl.adset_id, allcost.adset_id) as adset_id,
coalesce(etl.adset, allcost.adset) as adset,
coalesce(etl.ad_id, allcost.ad_id) as ad_id,
coalesce(etl.ad, allcost.ad) as ad,
coalesce(etl.geo, allcost.geo) as geo,
coalesce(etl.channel, allcost.channel) as channel,
coalesce(etl.site_id, allcost.site_id) as site_id,
coalesce(etl.ad_account, allcost.ad_account) as ad_account,
coalesce(etl.keyword_id, allcost.keyword_id) as keyword_id,
coalesce(etl.keywords, allcost.keywords) as keywords,
coalesce(etl.campaign_objective, allcost.campaign_objective) as campaign_objective,
coalesce(etl.af_cost_model, allcost.af_cost_model) as af_cost_model,
coalesce(etl.bid_strategy, allcost.bid_strategy) as bid_strategy,
coalesce(etl.af_bid_strategy, allcost.af_bid_strategy) as af_bid_strategy,
coalesce(etl.currency, allcost.currency) as currency,
coalesce(etl.cost, allcost.cost) as cost,
coalesce(etl.impressions, allcost.impressions) as impressions,
coalesce(etl.clicks, allcost.clicks) as clicks,
coalesce(etl.installs, allcost.installs) as installs,
coalesce(etl.re_attributions, allcost.re_attributions) as re_attributions,
coalesce(etl.re_engagements, allcost.re_engagements) as re_engagements,
coalesce(etl.original_cost, allcost.original_cost) as original_cost,
coalesce(etl.reported_impressions, allcost.reported_impressions) as reported_impressions,
coalesce(etl.reported_clicks, allcost.reported_clicks) as reported_clicks,
coalesce(etl.reported_conversions, allcost.reported_conversions) as reported_conversions,
coalesce(etl.ctr, allcost.ctr) as ctr,
coalesce(etl.cvr, allcost.cvr) as cvr,
coalesce(etl.ecpm, allcost.ecpm) as ecpm,
coalesce(etl.cpi, allcost.cpi) as cpi,
coalesce(etl.ccvr, allcost.ccvr) as ccvr,
coalesce(etl.cvvr, allcost.cvvr) as cvvr,
coalesce(etl.reported_cvr, allcost.reported_cvr) as reported_cvr,
coalesce(etl.install_diff, allcost.install_diff) as install_diff,
coalesce(etl.click_diff, allcost.click_diff) as click_diff,
coalesce(etl.impression_diff, allcost.impression_diff) as impression_diff,
coalesce(etl.ecpc, allcost.ecpc) as ecpc,
coalesce(etl.video_25p_views, allcost.video_25p_views) as video_25p_views,
coalesce(etl.video_50p_views, allcost.video_50p_views) as video_50p_views,
coalesce(etl.video_75p_views, allcost.video_75p_views) as video_75p_views,
coalesce(etl.video_completions, allcost.video_completions) as video_completions
from etl
full join allcost
on etl.date = allcost.date
and etl.app_id = allcost.app_id
and etl.media_source = allcost.media_source
and etl.campaign_id = allcost.campaign_id
and etl.adset_id = allcost.adset_id
and etl.ad_id = allcost.ad_id
and etl.channel = allcost.channel
and etl.geo = allcost.geo
and etl.agency = allcost.agency
and etl.site_id = allcost.site_id
and etl.keyword_id = allcost.keyword_id
),
dedup as (
select *,
row_number() over (
partition by date, media_source, agency, campaign_id, adset_id, ad_id, geo, channel, site_id, keyword_id
order by report desc, cost desc
) as rank_for_dedup
from main
)
select *
from dedup
where rank_for_dedup = 1;
Объедините Cost ETL и когортные отчеты
Рассмотрите возможность объединения отчетов Cost ETL с агрегированными расширенными когортными отчетами (или обычными когортными отчетами через Data Locker) в вашей системе бизнес-аналитики. Вместе они дают полную картину эффективности маркетинга со свежими и точными данными, включая клики, показы, затраты, доход, события в приложении и т. д.). И вы можете использовать эти объединенные данные для получения ROAS, CPA и т. д. Подробнее
Дополнительные сведения
Характеристики и ограничения
| Характеристика | Примечания |
|---|---|
| Часовой пояс | При изменении часового пояса данные о расходах дублируются в день изменения и на следующий день. Подробнее0> |
| Актуальность данных |
Примечание: После того как данные о затратах попадают в вашу корзину, дальнейшая передача данных в BI-системы может сильно различаться в зависимости от отчета и размера файла parquet, который может составлять от нескольких КБ до нескольких ГБ. |
| Все отчеты о затратах |
|
| Данные стоимости кампании SKAN |
|
| Поддержка приложений для CTV и ПК | Приложения для ПК и CTV не поддерживаются в отчетах Cost ETL. |
| Доступность затрат в Google Web и Meta Web |
Чтобы включить данные о затратах из Google Web (pid=googleads_int) и Meta Web (pid=metaweb_int) в отчет обо всех затратах, необходимо создать подключение к затратам на вкладке «Затраты» активных интеграций с Google Ads (pid=googleadwords_int) и Meta Ads (pid=facebook_int). Без этих подключений данные о затратах Google и Meta Web не будут отображаться в отчете. |