Продуктовые сценарии и офферные события

Модуль Product Flow

Для использования функциональности Product Flow подключите модуль AppMetricaProductFlow.

Если вы используете Swift Package Manager, добавьте продукт AppMetricaProductFlow в зависимости вашего таргета.

Если вы используете CocoaPods, добавьте следующую зависимость в Podfile вашего проекта:

pod 'AppMetricaProductFlow', '~> 7.0.0'

Подробнее о способах интеграции SDK (SPM, CocoaPods, Package.swift, Tuist) см. в разделе Интеграция SDK.

Подробнее о подходе

Product Flow — это новая схема работы типовых событий AppMetrica для приложений с офферами, покупками, оформлением заявок и многошаговыми сценариями оформления продуктов и услуг.

Дополнительную информацию о модуле и полные пользовательские сценарии см. в разделе Офферные события в продуктовых сценариях.

Product Flow помогает стандартизировать аналитику следующих сущностей и сценариев:

  • продуктовые предложения;
  • маркетинговые офферы;
  • покупки товаров и услуг;
  • пользовательские воронки;
  • шаги оформления;
  • заявки и результаты одобрения;
  • асинхронные S2S-результаты.

Рекомендуем использовать подход Product Flow для следующих типов приложений:

  • банки;
  • страховые сервисы;
  • телеком-приложения;
  • сервисы бронирования и путешествий;
  • подписочные сервисы;
  • сервисы доставки;
  • маркетплейсы;
  • игровые приложения;
  • любые приложения с продуктовыми сценариями, покупками и аналитикой воронок.

Не расходуют лимиты custom events и DSA

Новые типовые события не учитываются в следующих лимитах:

  • custom events;
  • Data Stream API.

Это позволяет:

  • постепенно внедрять новую схему разметки;
  • отправлять больше продуктовых сценариев и шагов;
  • строить подробные воронки и аналитику без расходования лимитов кастомных событий и DSA.

Основные события

Схема взаимодействия строится на основе четырех основных событий:

Событие

Что означает

offerShown

Пользователь увидел оффер или предложение

flowStart

Пользователь начал оформление продукта

flowStep

Промежуточный шаг оформления

flowResult

Итоговый результат

Примеры событий

offerShown

Пользователь увидел баннер: «Вам предварительно одобрен кредит до 500 000 ₽ по ставке от 12.5%».

let event = ProductFlowEvents.offerShown(productOfferId: "credit_q1", offerType: "financial_product")
    .withProductId("personal_loan")
    .withBenefitType("discount_percentage")
    .withReferrer(OfferReferrer(type: "banner", identifier: "main_screen_credit_banner", screen: "main"))
    .withPayload([
        "campaign_id": "credit_spring_2026",
        "segment": "preapproved_users",
        "approved_limit": "500000",
        "currency": "RUB",
        "interest_rate": "12.5"
    ])
    .build()

AppMetrica.report(event: event)

flowStart

Пользователь нажимает на баннер и начинает оформление заявки.

let event = ProductFlowEvents.flowStart(productId: "personal_loan")
    .withProductOfferId("credit_q1")
    .build()

AppMetrica.report(event: event)

flowStep

Пользователь загружает документы.

let event = ProductFlowEvents.flowStep(productId: "personal_loan", stepType: "documents")
    .withProductOfferId("credit_q1")
    .withStepOption("passport_upload")
    .build()

AppMetrica.report(event: event)

flowResult

Позже банк присылает финальный результат через S2S.

let event = ProductFlowEvents.flowResult(productId: "personal_loan", status: .success)
    .withProductOfferId("credit_q1")
    .withPrice(OfferPrice(amount: 430000.0, unit: "RUB"))
    .withPayload([
        "application_id": "loan_app_12345",
        "decision_source": "s2s"
    ])
    .build()

AppMetrica.report(event: event)

Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.

Написать в службу поддержки Предложить улучшение для документации