PostHog

PostHog — это аналитическая платформа с инструментами для отслеживания поведения пользователей, визуализации использования продукта и анализа удержания. Благодаря отслеживанию событий, анализу пользовательских потоков и флагам функций платформа помогает лучше понимать продукт и совершенствовать его. Интеграция PostHog с Adapty позволяет отслеживать события, связанные с подписками: начало триалов, продления и отмены. Отправляя эти события в PostHog, вы можете анализировать, как изменения в подписках влияют на поведение пользователей, оценивать эффективность пейволов и глубже понимать свои стратегии монетизации — всё в рамках привычного аналитического процесса.

Характеристики интеграции

Характеристика интеграцииОписание
РасписаниеВ реальном времени; события могут появляться на дашборде PostHog не сразу.
Направление данныхСобытия Adapty отправляются с сервера Adapty на сервер PostHog.
Точка интеграции Adapty
  • SDK PostHog и Adapty в коде мобильного приложения
  • Сервер Adapty

Структура события PostHog

Adapty отправляет выбранные события в PostHog в соответствии с настройками в разделе Events names на странице интеграции с PostHog. Каждое событие имеет следующую структуру:

{
  "distinct_id": "[email protected]",
  "timestamp": "2025-01-08T11:06:12+00:00",
  "event": "subscription_started",
  "properties": {
    "$set": {
      "email": "[email protected]",
      "first_name": "John",
      "last_name": "Doe",
      "birthday": "1990-01-01",
      "gender": "male",
      "os": "iOS"
    },
    "timezone": "America/New_York",
    "ip_address": "10.168.1.1",
    "*": "{{other_event_properties}}"
  }
}

Где

ПараметрТипОписание
distinct_idStringУникальный идентификатор пользователя (например, profile.posthog_distinct_user_id, customer_user_id или profile_id).
timestampISO 8601 date & timeДата и время события.
eventStringНазвание события, которое вы задали в разделе Events names в настройках PostHog.
propertiesObjectСодержит properties.$set и все свойства, специфичные для события. Каждое свойство необязательно и не будет отправлено в PostHog, если отсутствует.

Параметры properties.$set

Каждый параметр объекта properties.$set является необязательным и не будет отправлен в PostHog, если отсутствует.

ПараметрТипОписание
emailStringАдрес электронной почты пользователя.
first_nameStringИмя пользователя.
last_nameStringФамилия пользователя.
birthdayString (Date)Дата рождения пользователя.
genderStringПол пользователя.
osStringОперационная система устройства пользователя.

Настройка интеграции с PostHog

  1. Откройте страницу Integrations -> PostHog в дашборде Adapty и включите переключатель.

    posthog-on.webp
  2. Войдите в дашборд PostHog.

  3. Перейдите в Settings -> Project.

  4. В окне Project прокрутите вниз до раздела Project ID и скопируйте Project API key.

  5. Вставьте API-ключ в поле Project API key в дашборде Adapty. У PostHog нет специального режима песочницы для серверной интеграции.

  6. Выберите PostHog Deployment:

    ОпцияОписание
    us/euСтандартные развёртывания PostHog.
    CustomДля self-hosted инстансов. Введите URL вашего инстанса в поле PostHog Instance URL.
  7. (опционально) Если вы используете self-hosted развёртывание PostHog, введите адрес вашего развёртывания в поле PostHog Instance URL.

  8. (опционально) Настройте параметры Reporting Proceeds, Exclude Historical Events, Report User’s Currency и Send Trial Price. Подробнее об этих опциях — в разделе Настройки интеграции.

  9. (опционально) В разделе Events names можно настроить, какие события отправляются в PostHog. Отключите ненужные события или переименуйте их по необходимости.

  10. Нажмите Save, чтобы завершить настройку.

Настройка SDK

Чтобы получать данные атрибуции от PostHog, передайте значение distinctId в Adapty, как показано ниже:

Если вы используете сторонний user ID в качестве Customer User ID, не передавайте его во время activate() — сторонний SDK может ещё не успеть его сгенерировать. Вместо этого сначала вызовите activate() без CUID, затем setIntegrationIdentifier(), а потом identify() с CUID.

Теперь Adapty будет отправлять события в PostHog и получать от него данные атрибуции.