# Интеграция с Singular

<Aside type="caution" icon="setting" title="Требуется помощь разработчиков">
Для настройки интеграции вам понадобится помощь команды разработчиков. Поделитесь с ними этим руководством.
</Aside>

## Обзор интеграции

[Singular](https://www.singular.net/) — это платформа для маркетинговой аналитики и атрибуции. Подключите ее к Pushwoosh, чтобы атрибутировать открытия приложений из ваших push-кампаний и измерять эффективность пушей в Singular наряду с другими маркетинговыми каналами. Вы также можете отправлять данные атрибуции из Singular в Pushwoosh через постбэки и использовать их для сегментации и рассылок.

### Сценарии использования

*   **Атрибуция push-уведомлений:** атрибутируйте открытия приложений из push-кампаний Pushwoosh в Singular, когда пользователи нажимают на ваши уведомления.
*   **Анализ эффективности кампаний:** сравнивайте результаты push-кампаний с другими маркетинговыми каналами на панели аналитики Singular.
*   **Оптимизация ROI:** определяйте наиболее эффективные push-кампании в Singular и применяйте эти знания при планировании новых кампаний в Pushwoosh.
*   **Сегментация в Pushwoosh:** используйте данные об установках и событиях в приложении из постбэков Singular для создания сегментов и персонализации кампаний в Pushwoosh.

### Предварительные требования

*   Активный аккаунт Pushwoosh
*   Активный аккаунт Singular
*   Singular SDK, интегрированный в ваше приложение
*   [Код приложения (Application Code)](/ru/developer/api-reference/api-identifiers/#application-code) и [токен доступа API (API Access Token)](/ru/developer/api-reference/api-identifiers/#api-access-token) из вашего аккаунта Pushwoosh

<Aside type="note" title="Минимальные версии Singular SDK">
*   Android: Singular Android SDK 12.11.0 или новее (старые версии не поддерживают атрибуцию из полезной нагрузки пуша)
*   iOS: Singular iOS SDK 12.0.5 или новее
</Aside>

### Тип интеграции

*   **Источник (Pushwoosh → Singular):** данные атрибуции передаются из полезной нагрузки пуша на устройстве в Singular через трекинговую ссылку Singular.
*   **Назначение (Singular → Pushwoosh):** Singular отправляет данные атрибуции в Pushwoosh через постбэки. Pushwoosh сохраняет их в виде тегов и событий для сегментации и аналитики.

### Как это работает

##### Атрибуция пушей (Pushwoosh → Singular)

1.  Pushwoosh доставляет пуш с трекинговой ссылкой Singular в качестве диплинка.
2.  Пользователь нажимает на уведомление.
3.  Приложение передает ссылку в Singular SDK.
4.  Singular регистрирует открытие как атрибутированное вашей push-кампании.

##### Постбэки (Singular → Pushwoosh)

1.  Пользователь устанавливает приложение, повторно взаимодействует с ним по отслеживаемой ссылке или вызывает событие в приложении, которое атрибутирует Singular.
2.  Singular отправляет постбэк в Pushwoosh с данными атрибуции.
3.  Pushwoosh сохраняет данные в виде тегов и событий в профиле пользователя.
4.  Вы используете эти данные для сегментации, аналитики и кампаний в Pushwoosh.

## Настройте ссылку для вашего приложения

Начните интеграцию Pushwoosh и Singular с создания партнерской ссылки в Singular. Этот шаг обязателен, независимо от того, используете ли вы постбэки, атрибуцию пушей или и то, и другое.

1.  В своем аккаунте Singular перейдите в **Attribution Setup** → **Manage Links**.

<img src="/integrations-singular-integration-2.webp" alt="Страница Singular Attribution Setup Manage Links для создания партнерской трекинговой ссылки"/>

2.  Выберите **Link Type** → **Partner** и укажите **Pushwoosh** в качестве **Source Name**. Введите **Tracking Link Name**, чтобы вы могли идентифицировать эту ссылку в аналитике Singular. В отчетах она будет отображаться как **Tracker Name**.

<img src="/integrations-singular-integration-3.webp" alt="Форма партнерской ссылки Singular с источником Pushwoosh, полем Tracking Link Name и кнопкой Generate"/>

3.  В **Link Settings and Redirects** определите, для какого приложения предназначена эта ссылка и куда будут перенаправляться пользователи при нажатии на нее. [Узнать больше](https://support.singular.net/hc/en-us/articles/13000445013531-How-to-Build-Tracking-Links).

4.  В **Attribution Settings** настройте методы и окна атрибуции для ссылки. [Узнать больше](https://support.singular.net/hc/en-us/articles/13000445013531-How-to-Build-Tracking-Links#links_attribution_settings).

5.  Нажмите **Generate**.

6.  В **Link Summary** просмотрите сгенерированные ссылки. Если вы настраиваете [атрибуцию пушей](#set-up-push-attribution-in-pushwoosh), скопируйте **Click-through tracking link**. Вы будете использовать ее в Pushwoosh.

<img src="/integrations-singular-integration-6.webp" alt="Раздел Singular Link Summary с выделенной ссылкой Click-through tracking link"/>

## Настройте атрибуцию пушей в Pushwoosh

Добавьте трекинговую ссылку Singular в ваши push-уведомления.

Вставьте **Click-through tracking link** из **Link Summary** в поле **On-click actions** → **Deep link in application** в [пресете пушей](/ru/product/content/push-presets/#define-the-next-step-for-users-who-click-on-the-notification).

<img src="/integrations-singular-integration-1.webp" alt="Действия при нажатии на push-уведомление с трекинговой ссылкой Singular, введенной как диплинк в приложении"/>

## Настройте постбэки

Singular собирает данные атрибуции о том, откуда приходят пользователи и что они делают в приложении. С помощью постбэков вы можете автоматически отправлять эти данные в Pushwoosh.

Например, если Singular зафиксирует, что пользователь установил приложение из определенной рекламной кампании, Pushwoosh может получить эту информацию в виде тега или события. Затем вы сможете создать сегмент пользователей из этой кампании и отправить им целевой пуш в Pushwoosh.

1.  В Singular перейдите в **Partner Configuration**.
2.  Создайте новую конфигурацию или отредактируйте существующую.

<img src="/integrations-singular-integration-4.webp" alt="Страница Singular Partner Configuration для создания или редактирования конфигурации постбэка Pushwoosh"/>

3.  Введите ваш **Application Code** и **API Access Token** из Pushwoosh.

<Aside type="note" title="Где найти ваши учетные данные">
*   **Application Code** (XXXXX-XXXXX): отображается под названием вашего приложения в Pushwoosh Control Panel.
*   **API Access Token:** перейдите в **Settings** → **API Access** и скопируйте токен. Подробнее см. в [API Access Token](/ru/developer/api-reference/api-access-token/).
</Aside>

<img src="/integrations-singular-integration-5.webp" alt="Форма конфигурации постбэка Singular с полями Application Code и API Access Token для Pushwoosh"/>

4.  В **Attribution Postbacks** выберите, какие события Singular будет отправлять в Pushwoosh:

*   **Install:** новые установки приложения, атрибутированные в Singular. Pushwoosh использует эти данные для записи того, откуда пришли пользователи.
*   **Re-engagement:** открытия приложения, атрибутированные отслеживаемой ссылке. Включите эту опцию, если хотите получать данные об источнике повторного вовлечения в Pushwoosh для сегментации.

    [Узнайте, как настраивать партнерские настройки и постбэки](https://support.singular.net/hc/en-us/articles/360053018851-How-to-Configure-Partner-Settings-and-Postbacks) в Справочном центре Singular.

<img src="/integrations-singular-integration-7.webp" alt="Таблица Singular Attribution Postbacks с опциями Install и Re-engagement для Pushwoosh"/>

5.  В **Attribution Windows Settings**, в разделе **Installs**, выберите, как долго Singular может ждать после того, как пользователь нажмет на вашу трекинговую ссылку или просмотрит рекламу, прежде чем перестанет засчитывать установку в пользу Pushwoosh. [Узнать больше](https://support.singular.net/hc/en-us/articles/115000526963-Understanding-Singular-Mobile-App-Attribution).

6.  В разделе **Re-engagements** выберите, как долго Singular может ждать после клика или просмотра рекламы, прежде чем перестанет засчитывать открытие в пользу Pushwoosh. Включите **Override app level inactivity window for this partner**, чтобы установить, как долго пользователь должен быть неактивен, прежде чем открытие будет считаться повторным вовлечением. [Узнать больше](https://support.singular.net/hc/en-us/articles/360044494651-Re-engagement-FAQ).

7.  Откройте вкладку **In app Events Postback** и добавьте события, которые должен получать Pushwoosh (например, `__SESSION__*` для сессий). Включите **Send All**, чтобы включить пользователей из любого источника.

8.  Сохраните конфигурацию.

### Что получает Pushwoosh

После сохранения Singular будет отправлять постбэки при возникновении настроенных событий. Pushwoosh обрабатывает каждый постбэк, преобразуя его в **теги** устройства и одно **событие** в профиле пользователя.

<Tabs>
<TabItem label="Теги">

Pushwoosh записывает или обновляет эти теги на сопоставленном устройстве:

| Тег | Источник |
| :-- | :----- |
| OS Version | версия ОС устройства |
| Application Version | версия приложения |
| Device Model | модель устройства |
| Country | страна атрибуции |
| City | город атрибуции |

</TabItem>
<TabItem label="События">

Pushwoosh записывает одно событие в профиле пользователя. Название события зависит от типа постбэка:

*   **События в приложении:** название события Singular, которое вы настроили (например, событие сессии).
*   **Постбэк установки или атрибуции:** если постбэк не содержит названия события, Pushwoosh записывает `Singular Attribution Event`. Используйте это название события при создании сегментов новых атрибутированных пользователей.

Данные о кампаниях и доходах передаются вместе с событием в виде **атрибутов события**. Вы можете использовать их для сегментации и фильтрации в Pushwoosh:

| Атрибут | Описание |
| :-------- | :---------- |
| Campaign name / Campaign ID | атрибутированная кампания |
| Subcampaign name / Subcampaign ID | атрибутированная подкампания |
| Creative name / Creative ID | атрибутированный креатив |
| Amount / Revenue / Currency | денежная стоимость события, если есть |
| Country / City | местоположение, указанное в событии |

</TabItem>
</Tabs>

<Aside type="note" title="Сопоставление устройств">
Pushwoosh сопоставляет каждый постбэк с устройством, используя идентификатор, который отправляет Singular: IDFV на iOS, или GAID, AIFA, или Android ID на Android. Постбэк также должен содержать ваш Application Code и платформу. Если Pushwoosh не может сопоставить устройство, постбэк не применяется.
</Aside>

### Проверка постбэков

После того как Singular отправит постбэк для настроенного события, проверьте, получил ли его Pushwoosh:

1.  Откройте **Audience → Events** и убедитесь, что событие появилось.
2.  Откройте профиль пользователя в [User Explorer](/ru/product/audience-data-and-segmentation/user-explorer/) и перейдите в [Events history](/ru/product/audience-data-and-segmentation/user-explorer/#events-history-tab). Убедитесь, что событие и его атрибуты (например, Campaign name) записаны для этого пользователя.
3.  События обычно появляются в течение нескольких минут.

## Устранение неполадок

### Трекинговая ссылка Singular не фиксируется

*   Убедитесь, что **Click-through tracking link** установлена в **On-click actions** → **Deep link in application**, а не в **Custom Data**.
*   Убедитесь, что Singular SDK настроен для обработки полезной нагрузки push-уведомлений. См. руководства для [Android](https://support.singular.net/hc/en-us/articles/35427027157275-Android-SDK-Supporting-Push-Notifications) и [iOS](https://support.singular.net/hc/en-us/articles/42098616285339-iOS-SDK-Configuration-Methods-Reference).

### Диплинк открывает приложение, но перенаправляет на главный экран

*   Убедитесь, что параметр `_dl` внутри трекинговой ссылки Singular правильно закодирован в URL-формате.
*   Убедитесь, что обработчик диплинков вашего приложения правильно зарегистрирован для используемой схемы (например, `myapp://`).
*   На Android проверьте, что у правильного `Activity` есть фильтр намерений для вашей схемы диплинка в `AndroidManifest.xml`.

### Атрибуция появляется в Singular, но засчитывается не та кампания

*   Убедитесь, что Singular SDK обрабатывает полезную нагрузку пуша до или во время инициализации, как описано в руководствах Singular SDK.
*   Убедитесь, что вы используете правильную **Click-through tracking link** из **Link Summary** для этой кампании.

### "Теплый" запуск (приложение уже открыто): атрибуция не регистрируется

*   Убедитесь, что ваше приложение обрабатывает нажатия на push-уведомления, когда оно уже запущено в фоновом режиме, как описано в руководствах Singular SDK.
*   Это самая распространенная причина отсутствия атрибуции при "теплых" запусках.