Краткий обзор: Cost ETL, в составе AppsFlyer ROI360, предоставляет рекламодателям данные о затратах на кампанию с максимальной детализацией по медиа-источникам. Данные, обновляемые до 4 раз в день, доставляются в ваш облачный сервис и готовы к загрузке в BI-системы рекламодателей.
Cost ETL является частью AppsFlyer ROI360 и предоставляет рекламодателям данные о затратах на кампанию с максимальной детализацией по медиа-источникам. До четырех раз в день данные обновляются и поступают в ваш облачный сервис 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
| Краткое содержание (Summary) | Регион (Geo) | Канал (Channel) | Отчёт обо всех затратах | |
|---|---|---|---|---|
| Как получить отчёт | Активация Cost ETL. Сводный отчёт выбран по умолчанию. | Активируйте Cost ETL и выберите отчёт по региону. | Активируйте Cost ETL и выберите отчёт по каналу. | Активируйте Cost ETL и выберите отчёт по региону. (На странице cost 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 | Имя подключения, заданное при настройке Data Locker |
| t |
Название конкретного отчета. Либо:
|
| dt |
|
| v |
|
| Номер файла Parquet |
|
Структура каталога подключений Cost ETL
| Переменная | Содержимое |
|---|---|
| advertiser_bucket_name | Как определено в конфигурации Cost ETL: af-xpend-cost-etl-<af-account-id>-[суффикс названия вашей корзины]. |
| cost_etl | Всегда cost_etl |
| version | Версия Cost ETL |
| date |
Дата затрат Формат: гггг-мм-дд |
| Batch | Числа: 1-4 |
| dimension |
Показатель данных:
|
| file_name |
|
| Номер файла Parquet |
|
Пример: Для первого извлечения данных 23 июня 2020 года структура каталогов и имен файлов выглядит следующим образом:
Поля файлов
Поля/показатели
| Поле | Примечания | Всегда заполнено | Формат | Включено в сводный файл |
|---|---|---|---|---|
| ad | Компонент рекламной иерархии | Нет | Строка | - |
| ad_account |
|
Нет | Строка | - |
| ad_id | Компонент рекламной иерархии | Нет | Строка | - |
| adset | Компонент рекламной иерархии | Нет | Строка | - |
| adset_id | Компонент рекламной иерархии | Нет | Строка | - |
| af_bid_strategy | Стратегия ставок сопоставляется и нормализуется AppsFlyer. Компонент свойств кампании. Подробнее | Нет | Строка | - |
| af_cost_model | Модель затрат сопоставляется и нормализуется AppsFlyer. Компонент свойств кампании. Подробнее | Нет | Строка | - |
| agency | Агентство, ответственное за размещение рекламы | Нет | Строка | - |
| app_id | Идентификатор приложения на платформе AppsFlyer | Да | Строка | ✓ |
| bid_amount | Компонент свойств кампании. Подробнее | Нет | Целое число | - |
| bid_strategy | Компонент свойств кампании. Подробнее | Нет | Строка | - |
| campaign | Компонент рекламной иерархии | Нет | Строка | - |
| campaign_id | Компонент рекламной иерархии | Нет | Строка | - |
| campaign_objective | Компонент свойств кампании. Подробнее | Нет | Строка | - |
| канал | Показатель в рекламной иерархии | Нет | Строка | - |
| 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 на запись в него данных. Это означает, что вам нужно настроить один или несколько из следующих облачных сервисов:
- Чтобы завершить настройку Cost ETL, вам понадобятся права администратора AppsFlyer и доступ к пользовательскому интерфейсу AppsFlyer.
- В AppsFlyer в боковом меню выберите Экспорт > Cost ETL.
- Выберите или настройте соединение данных:
- Если подключения к данным уже настроены, в раскрывающемся списке Connection выберите нужные для Cost ETL.
- Если у вас еще нет подключения к данным, нажмите + Новое подключение в Data Locker и создайте там подключение:
- Дайте название подключению.
-
Выберите, куда в облачном сервисе должны записываться данные. Выполните одно из следующих действий:
- Выберите S3.
- Введите название своей корзины AWS S3. Префикс
af-af-af- является обязательным и должен быть введен вручную. - Нажмите Тестировать подключение.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Выберите, нужно ли сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Connection выберите созданный облачный сервис.
- Введите название своей корзины AWS S3. Префикс
- Выберите GCS.
- Введите название вашей корзины GCS.
- Нажмите Тестировать подключение.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Выберите, нужно ли сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Connection выберите созданный облачный сервис.
- [Бета] Выберите Azure.
- Введите имя подключения, имя аккаунта хранилища и ключ.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Выберите, нужно ли сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Connection выберите созданный облачный сервис.
- [Бета-версия] Выберите Яндекс.
- Введите Название корзины, Ключ доступа и Секретный ключ.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Выберите, нужно ли сделать это подключение совместимым с Adobe Experience Platform.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Connection выберите созданный облачный сервис.
- Выберите BigQuery.
- Введите идентификатор проекта BigQuery и имя набора данных.
- Нажмите Тестировать подключение.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Connection выберите созданный облачный сервис.
- Выберите Snowflake.
- Введите свой регион Snowflake и идентификатор аккаунта.
- Нажмите Тестировать подключение.
- Убедитесь в отсутствии сообщения об ошибке, указывающего на неверный путь к корзине.
- Нажмите Сохранить.
- В меню Cost ETL в раскрывающемся списке Connection выберите созданный облачный сервис.
- Выберите S3.
- Дайте название подключению.
- Если подключения к данным уже настроены, в раскрывающемся списке Connection выберите нужные для 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 уже настроены, в раскрывающемся списке Connection выберите нужные для Cost ETL.
- Если у вас ещё не настроено нужное вам подключение к Data Locker, нажмите + Новое подключение в Data Locker и создайте там подключение. Затем вернитесь к настройкам Cost ETL и выберите их из выпадающего меню Подключение.
- Если нужные вам подключения к Data Locker уже настроены, в раскрывающемся списке Connection выберите нужные для Cost ETL.
- Нажмите Сохранить изменения.
Переход от Cost ETL к подключению Data Locker
Прежде чем начать:
- Учитывайте, что после перехода на подключение к Data Locker вы не сможете вернуться к предыдущему подключению Cost ETL.
-
Обратите внимание, что при переходе на подключение к Data Locker структура пути к папке меняется на следующий формат, при этом данные в отчёте остаются без изменений:
/ / /t= /dt= /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 Management Console и откройте консоль Amazon S3 по адресу https://console.aws.amazon.com/s3/.
- В списке Корзины выберите имя корзины, для которой нужно включить S3 Object Ownership (владение объектами S3).
- Перейдите на вкладку Разрешения.
- В разделе Владение объектом нажмите Редактировать.
- ВыберитеПредпочтительно владелец корзины.
- Нажмите Сохранить.
Практические рекомендации
Расписание отчётов
Настройки расписания отчётов позволяют получать самые свежие данные именно тогда, когда они вам нужны.
При выборе расписания отчётов:
- Выберите время получения отчёта как можно ближе к моменту начала обработки данных в вашей 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 и т. д. Подробнее
Дополнительные сведения
Характеристики и ограничения
| Специфика | Примечания |
|---|---|
| Часовой пояс | При изменении часового пояса данные о расходах дублируются в день и на следующий день после изменения. Подробнее |
| Обновление данных |
Примечание: После того как данные о затратах попадают в вашу корзину, дальнейшая передача данных в BI-системы может сильно различаться в зависимости от отчета и размера файла parquet, который может составлять от нескольких КБ до нескольких ГБ. |
| Все отчеты о затратах |
|
| Полные данные о затратах кампании |
|
| Поддержка приложений для 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 не будут отображаться в отчёте. |