Доход
Доход в Tracehub — это события с суммой и валютой. На этой странице — общая модель: как передавать суммы, что происходит с валютами и возвратами, где смотреть цифры. Платформенные детали — на страницах «iOS SDK: события и доход», «Android SDK: события и доход» и «Web SDK: события и сессии».
Событие дохода
Заголовок раздела «Событие дохода»Отдельного «типа» для покупок нет: любое событие становится событием дохода, когда вместе с ним передана сумма. Признак дохода кабинет проставляет автоматически по факту прихода суммы — руками он не редактируется. Все события дохода собраны на вкладке Доход раздела «События».
Правила для суммы:
- сумма и валюта передаются только вместе: без валюты доход не будет учтён — всегда заполняйте оба поля;
- сумма не может быть отрицательной — SDK такие значения отбрасывают (возвраты передаются иначе, см. «Возвраты»);
- валюта — трёхбуквенный код ISO 4217 (
RUB,USD,EUR, …), любой — конвертация на стороне Tracehub.
Передача суммы в SDK
Заголовок раздела «Передача суммы в SDK»| Платформа | Как передать |
|---|---|
| iOS | event.setRevenue(299.0, currency: "RUB") |
| Android | event.revenue = 299.0; event.currency = "RUB" |
| Web | Tracehub.trackEvent({ eventToken: "purchase", revenue: 299, currency: "RUB" }) |
| S2S API | поля revenue и currency в теле события |
let event = TracehubEvent(eventToken: "purchase")event.setRevenue(299.0, currency: "RUB")event.deduplicationId = "order-84213"Tracehub.trackEvent(event)Валюта и конвертация
Заголовок раздела «Валюта и конвертация»Суммы можно слать в разных валютах — Tracehub конвертирует их в базовую валюту приложения, и все денежные показатели кабинета (доход, возвраты, расходы, ARPU, ROAS) показываются в ней. Базовая валюта задаётся при создании приложения (по умолчанию — RUB) и меняется на карточке приложения, блок Базовая валюта.
Дедупликация
Заголовок раздела «Дедупликация»Сети бывают нестабильны, а покупки дороги в двойном счёте. Задайте событию deduplicationId — уникальный идентификатор конкретной транзакции (например, номер заказа): событие с уже встречавшимся идентификатором отбрасывается и не задваивает доход. SDK помнит последние 10 идентификаторов; на Android и Web размер списка настраивается в конфигурации SDK.
Идентификаторы покупки
Заголовок раздела «Идентификаторы покупки»Вместе с событием дохода передавайте идентификаторы транзакции — по ним покупку можно сопоставить с отчётами магазина приложений:
| Платформа | Поля события | Откуда взять |
|---|---|---|
| iOS | transactionId, productId |
транзакция StoreKit (App Store) |
| Android | productId, purchaseToken, orderId |
ответ Google Play Billing |
Возвраты
Заголовок раздела «Возвраты»Возврат — событие с отрицательной суммой: оно уменьшает чистый доход, не переписывая историю. В отчётах доход раскладывается на три метрики: Доход (валовой) — только положительные суммы, Возвраты — сумма возвратов, Чистый доход = валовой − возвраты. Производные показатели (AOV, ARPU, ARPPU, ROAS, ROI) считаются от чистого дохода. Канал передачи возврата — S2S API: событие с отрицательной суммой revenue и валютой; мобильные и веб-SDK отрицательные суммы отбрасывают. Отдельного метода или флага «это возврат» нет — признак возврата один: минус перед суммой.
Что нужно соблюсти при отправке возврата:
| Условие | Почему |
|---|---|
| Валюта обязательна | Без валюты сумма игнорируется, и возврат не учтётся |
| Отдельный токен события | Возврат стоит отделить от покупки, иначе его не отличить в каталоге и отчётах |
| Идентификатор дедупликации отличается от идентификатора покупки | Событие с идентификатором, который уже встречался в течение суток, отбрасывается как дубль, и возврат не учтётся |
Доход в кабинете
Заголовок раздела «Доход в кабинете»| Где | Что показывает |
|---|---|
| Дашборд | Доход в KPI и графиках, разбивка по источникам |
| Отчёты | Метрики «Доход (валовой)», «Транзакции», AOV, «Возвраты», «Чистый доход», ARPU, ARPPU, ROAS, ROI |
| Когорты | Накопленный доход и LTV по когортам установок |
| События → вкладка «Доход» | Список событий дохода со счётчиками |
Показатели, которым нужны расходы (CPI, ROAS, ROI), считаются только при загруженных расходах: пока расходов по кампании нет, в отчётах на их месте стоит прочерк, даже если доход собирается.
Суммы покупок можно передавать и в рекламный кабинет: в настройках постбэков источника есть тумблер Передавать сумму покупки — см. страницу Постбэки.
Исключения из дохода
Заголовок раздела «Исключения из дохода»Доход на дашборде и в отчётах складывается только из событий дохода. Суммы рекламного дохода (trackAdRevenue) и подписок в денежные показатели кабинета не входят — если эти суммы нужны в отчётах, передавайте их обычным событием дохода с суммой и валютой.

