Facebook Ads
Благодаря интеграции с Facebook Ads вы можете удобно отслеживать статистику приложения в Meta Analytics. Adapty отправляет события в Meta Ads Manager, помогая формировать похожие аудитории на основе данных о подписках для повышения отдачи от рекламы. Так вы сможете точно видеть, какой доход приносят ваши рекламные кампании за счёт подписок.
Интеграция Adapty с Facebook Ads работает следующим образом: Adapty отправляет в Facebook Ads все события подписок, настроенные в вашей интеграции. Это позволяет оценивать эффективность рекламных кампаний.
Настройка интеграции
Подключение Adapty к Facebook Ads
Чтобы интегрировать Facebook Ads и анализировать метрики приложения, настройте интеграцию с Meta Analytics. Отправляя события в Meta Ads Manager, вы сможете создавать похожие аудитории на основе событий подписок, например продлений. Для настройки перейдите в раздел Integrations > Facebook Ads в дашборде Adapty и укажите необходимые учётные данные.
Интеграция Facebook Ads работает только на iOS 14.5+ для пользователей, давших согласие на ATT.
- Чтобы найти App ID, откройте страницу вашего приложения в App Store Connect, перейдите на страницу App Information в разделе General и найдите Apple ID в левом нижнем углу экрана.
- Вам потребуется приложение на платформе Meta for Developers. Войдите в приложение и откройте расширенные настройки. App ID находится в заголовке страницы.
-
Отключите клиентское отслеживание в настройках Meta SDK, чтобы избежать двойного учёта выручки в Meta Ads Manager. Эту настройку можно найти в Meta Developer Console в разделе App Settings > Advanced Settings. Установите Log in-app events automatically в значение «No». Это гарантирует, что события выручки будут отслеживаться только через интеграцию Adapty.
Для отслеживания событий установки и использования необходимо активировать Meta SDK в коде. Подробности реализации — в документации Meta SDK для вашей платформы:
Эту интеграцию можно использовать и с Android-приложениями. Если вы настроили конфигурацию Android SDK в App Settings, достаточно указать Facebook App ID.
Настройка событий и тегов
Adapty сопоставляет свои события о покупках со стандартными событиями Meta, которые Meta использует для оптимизации кампаний: StartTrial, Subscribe и fb_mobile_purchase — событие покупки Meta. Subscription started, Subscription renewed, Trial started и Trial converted отправляют по одному событию Meta для каждого имени, выбранного в поле события, причём по умолчанию выбраны все имена. Например, начало пробного периода передаётся в Meta как три события. Чтобы отправлять меньше событий, удалите лишние имена из поля.
| Событие Adapty | Стандартные события Meta |
|---|---|
| Subscription started | Subscribe, fb_mobile_purchase |
| Subscription renewed | Subscribe, fb_mobile_purchase |
| Trial started | StartTrial, Subscribe, fb_mobile_purchase |
| Trial converted | Subscribe, fb_mobile_purchase |
| Non-subscription purchase | fb_mobile_purchase |
Meta не имеет стандартного события для остальных событий, поэтому Adapty отправляет их как пользовательские события под их именами в Adapty. Чтобы использовать собственные названия, измените имя в поле события.
| Событие Adapty | Событие Meta по умолчанию |
|---|---|
| Subscription expired (Churned) | subscription_expired |
| Subscription renewal cancelled | subscription_renewal_cancelled |
| Subscription renewal reactivated | subscription_renewal_reactivated |
| Subscription paused (только Android) | subscription_paused |
| Subscription deferred (только Android) | subscription_deferred |
| Subscription refunded | subscription_refunded |
| Trial expired | trial_expired |
| Trial renewal cancelled | trial_renewal_cancelled |
| Trial renewal reactivated | trial_renewal_reactivated |
| Entered grace period | entered_grace_period |
| Billing issue detected | billing_issue_detected |
| Non-subscription purchase refunded | non_subscription_purchase_refunded |
| Trial still active | trial_active |
| Subscription still active | subscription_active |
Trial still active и Subscription still active — это синтетические события: Adapty отправляет их в Meta по таймеру, и только если пробный период или подписка ещё активны на момент его срабатывания. Они не несут данных о выручке, поэтому Meta не учитывает их в стоимости покупки. По умолчанию оба отключены. Чтобы отправлять их, включите и задайте задержку.
Подключение приложения к Facebook Ads
Если вы выполнили описанные выше шаги, Facebook будет автоматически получать данные о подписках от Adapty.
После изменений в IDFA в iOS 14.5 мы рекомендуем запрашивать у пользователя facebookAnonymousId из Facebook. Тогда, если IDFA пользователя недоступен, интеграция продолжит работать. Следуйте гайду гайд по установке атрибутов пользователя iOS, Android, React Native, Flutter и Unity , чтобы задать этот параметр.
Структура события
Adapty отправляет события в Facebook Ads (Meta) через Graph API. Каждое событие имеет следующую структуру:
{
"event": "CUSTOM_APP_EVENTS",
"app_user_id": "user_12345",
"advertiser_id": "00000000-0000-0000-0000-000000000000",
"advertiser_tracking_enabled": 1,
"application_tracking_enabled": 1,
"custom_events": "[{\"_eventName\":\"Subscribe\",\"_logTime\":1709294400,\"fb_num_items\":1,\"fb_content_type\":\"in_app\",\"fb_content_id\":\"yearly.premium.6999\",\"fb_currency\":\"USD\",\"fb_order_id\":\"GPA.3383...\",\"fb_transaction_id\":\"GPA.3383...\",\"_valueToSum\":9.99}]",
"extinfo": "[\"i2\",\"com.example.app\",\"1.0.0\",\"100\",\"17.0.1\",\"iPhone14,3\",\"en_US\",\"GMT+3\",\"\",0,0,0,0,0,0,\"GMT+3\"]",
"anon_id": "facebook_anon_id_123"
}
Где:
| Параметр | Тип | Описание |
|---|---|---|
event | String | Всегда “CUSTOM_APP_EVENTS”. |
app_user_id | String | Customer User ID пользователя. |
advertiser_id | String | На iOS — IDFA, или IDFV, если IDFA недоступен. На Android — Advertising ID. Если у профиля нет идентификатора устройства, используется 00000000-0000-0000-0000-000000000000. |
advertiser_tracking_enabled | Integer | 1, если отслеживание разрешено (ATT авторизован), иначе 0. |
application_tracking_enabled | Integer | Всегда 1. |
custom_events | String | JSON-строка с объектами событий (см. ниже). |
extinfo | String | JSON-строка с информацией о приложении и устройстве (например, версия, ОС, локаль). |
anon_id | String | Анонимный ID Facebook (если доступен). |
Параметр custom_events — это JSON-массив, содержащий по одному объекту для каждого события Meta, которому соответствует событие Adapty. Только StartTrial, Subscribe и fb_mobile_purchase включают поля fb_content_id, fb_content_type, fb_num_items и fb_transaction_id. Каждый объект содержит:
| Параметр | Тип | Описание |
|---|---|---|
_eventName | String | Название события Meta Ads (например, “Subscribe”). |
_logTime | Long | Временна́я метка события в секундах. |
_valueToSum | Float | Сумма выручки. |
fb_content_id | String | ID продукта в сторе. |
fb_currency | String | Код валюты (например, “USD”). |
fb_order_id | String | ID исходной транзакции. |
fb_transaction_id | String | ID исходной транзакции. |
fb_content_type | String | Всегда “in_app”. |
fb_num_items | Integer | Всегда 1 для событий покупки. |
Устранение неполадок
access_level_updated отображается как неудача в Event Feed
access_level_updated — это событие только для вебхуков. Adapty не отправляет его в эту интеграцию. Однако Adapty фиксирует результат для каждой активной интеграции, и неподдерживаемое событие отображается как ошибка.