---
title: "Facebook Ads"
description: "Интегрируйте Facebook Ads с Adapty для эффективного маркетинга подписок."
---

Интеграция с Facebook Ads позволяет легко отслеживать статистику приложения в Meta Analytics. Adapty отправляет события в Meta Ads Manager, помогая формировать похожие аудитории на основе подписок для повышения отдачи от рекламы. Так вы сможете точно видеть, сколько денег приносит реклама благодаря подпискам.

Интеграция Adapty и Facebook Ads работает следующим образом: Adapty отправляет все события подписок, настроенные в вашей интеграции, в Facebook Ads. Это полезно для оценки эффективности рекламных кампаний.

## Настройка интеграции \{#set-up-integration\}

### Подключение Adapty к Facebook Ads \{#connect-adapty-to-facebook-ads\}

Чтобы интегрировать Facebook Ads и анализировать метрики приложения, настройте интеграцию с Meta Analytics. Отправляя события в Meta Ads Manager, вы сможете создавать похожие аудитории на основе событий подписок, например продлений. Для настройки перейдите в раздел [Integrations > Facebook Ads](https://app.adapty.io/integrations/facebookanalytics) в дашборде Adapty и укажите необходимые учётные данные.

:::note
Интеграция Facebook Ads работает только на iOS 14.5+ для пользователей, давших согласие на ATT.
:::

  <img src="/assets/shared/img/fd84ddf-CleanShot_2023-08-15_at_15.45.442x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

1. Чтобы найти App ID, откройте страницу вашего приложения в [App Store Connect](https://appstoreconnect.apple.com/), перейдите на страницу **App Information** в разделе **General** и найдите **Apple ID** в левом нижнем углу экрана.
2. Вам потребуется приложение на платформе [Meta for Developers](https://developers.facebook.com/). Войдите в приложение и откройте расширенные настройки. **App ID** находится в заголовке страницы.

  <img src="/assets/shared/img/4b326c4-001563-August-23-4tO3JVso.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

3. Отключите клиентское отслеживание в настройках Meta SDK, чтобы избежать двойного учёта выручки в Meta Ads Manager. Эту настройку можно найти в Meta Developer Console в разделе **App Settings > Advanced Settings**. Установите **Log in-app events automatically** в значение «No». Это гарантирует, что события выручки будут отслеживаться только через интеграцию Adapty.

   Для отслеживания событий установки и использования необходимо активировать Meta SDK в коде. Подробности реализации — в документации Meta SDK для вашей платформы:
   - [iOS SDK](https://developers.facebook.com/docs/ios/getting-started)
   - [Android SDK](https://developers.facebook.com/docs/android/getting-started)
   - [Unity SDK](https://developers.facebook.com/docs/unity/getting-started/canvas)

  <img src="/assets/shared/img/c4eb8eb-001565-August-23-483KKBbC.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

Эту интеграцию можно использовать и с Android-приложениями. Если вы настроили конфигурацию Android SDK в **App Settings**, достаточно указать **Facebook App ID**.

### Настройка событий и тегов \{#configure-events-and-tags\}

Интеграция Facebook Ads предназначена для компаний, использующих Meta для рекламных кампаний и оптимизирующих их на основе поведения пользователей. Она поддерживает стандартные события Meta для целей оптимизации. Поэтому изменение названий событий в интеграции Meta Ads недоступно. Adapty автоматически сопоставляет пользовательские события с соответствующими событиями Meta для точного анализа.

| Событие Adapty                | Событие Meta Ads            |
| :---------------------------- | :-------------------------- |
| Subscription initial purchase | Subscribe                   |
| Subscription renewed          | Subscribe                   |
| Subscription cancelled        | CancelSubscription          |
| Trial started                 | StartTrial                  |
| Trial converted               | Subscribe                   |
| Trial cancelled               | CancelTrial                 |
| Non subscription purchase     | fb_mobile_purchase          |
| Billing issue detected        | billing_issue_detected      |
| Entered grace period          | entered_grace_period        |
| Auto renew off                | auto_renew_off              |
| Auto renew on                 | auto_renew_on               |
| Auto renew off subscription   | auto_renew_off_subscription |
| Auto renew on subscription    | auto_renew_on_subscription  |

StartTrial, Subscribe, CancelSubscription — стандартные события.

  <img src="/assets/shared/img/8a5df9d-CleanShot_2023-07-04_at_12.47.312x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

Чтобы включить нужные события, просто активируйте их переключателем. Если выбрано несколько названий событий, Adapty объединит данные по всем выбранным событиям в одно событие Adapty.

### Подключение приложения к Facebook Ads \{#connect-your-app-to-facebook-ads\}

Если вы выполнили описанные выше шаги, Facebook будет автоматически получать данные о подписках от Adapty.

После изменений в IDFA в iOS 14.5 мы рекомендуем запрашивать у пользователя `facebookAnonymousId` из Facebook. Тогда, если IDFA пользователя недоступен, интеграция продолжит работать. Следуйте гайду <InlineTooltip tooltip="гайд по установке атрибутов пользователя">[iOS](setting-user-attributes), [Android](android-setting-user-attributes), [React Native](react-native-setting-user-attributes), [Flutter](flutter-setting-user-attributes) и [Unity](unity-setting-user-attributes)</InlineTooltip>, чтобы задать этот параметр.

<Tabs groupId="current-os" queryString>
<TabItem value="swift" label="iOS (Swift)" default>

```swift showLineNumbers

do {
    try await Adapty.setIntegrationIdentifier(
        key: "facebook_anonymous_id", 
        value: AppEvents.shared.anonymousID
    )
} catch {
    // handle the error
}
```
</TabItem>
<TabItem value="kotlin" label="Android (Kotlin)" default>

```kotlin showLineNumbers
Adapty.setIntegrationIdentifier(
    "facebook_anonymous_id",
    AppEventsLogger.getAnonymousAppDeviceGUID(context)
) { error ->
    if (error != null) {
        // handle the error
    }
}
```
</TabItem>
<TabItem value="rn" label="React Native (TS)" default>

```typescript showLineNumbers

try {
  const anonymousId = await AppEventsLogger.getAnonymousID();

  await adapty.setIntegrationIdentifier("facebook_anonymous_id", anonymousId);
} catch (error) {
  // handle `AdaptyError`
}
```
</TabItem>
<TabItem value="flutter" label="Flutter (Dart)" default>

```text
There is no official SDK for Flutter
```
</TabItem>
<TabItem value="unity" label="Unity (C#)" default>

```csharp
anonymousID is not available in the official SDK
https://github.com/facebook/facebook-sdk-for-unity/issues/676
```
</TabItem>
</Tabs>

## Структура события \{#event-structure\}

Adapty отправляет события в Facebook Ads (Meta) через Graph API. Каждое событие имеет следующую структуру:

```json
{
  "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 | IDFA (iOS) или Advertising ID (Android). |
| `advertiser_tracking_enabled` | Integer | `1`, если отслеживание включено (ATT разрешён), `0` — в противном случае. |
| `application_tracking_enabled` | Integer | Всегда `1`. |
| `custom_events` | String | JSON-строка с массивом объектов событий (см. ниже). |
| `extinfo` | String | JSON-строка с информацией о приложении и устройстве (версия, ОС, локаль и т.д.). |
| `anon_id` | String | Facebook Anonymous ID (если доступен). |

Параметр `custom_events` — это JSON-строка с массивом объектов, содержащих:

| Параметр | Тип | Описание |
|:---|:---|:---|
| `_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 для событий покупки. |