Воронка оплаты — web2app: пользователь платит на вебе через Stripe, поэтому ключевые события (email → пейвол → оплата) отслеживаются и клиентским Meta Pixel, и серверным CAPI (дедуп по event_id). Единая точка клиентских событий — track(): один вызов фанаутит в GTM/GA4, Mixpanel и Meta Pixel.
2130151084074853 («Пиксель gfit», портфолио GFitTransform). Делает Костя в Meta.| Шаг | Событие | Meta Pixel | Meta CAPI | GA4/GTM | Mixpanel | AppsFlyer (апка) |
|---|---|---|---|---|---|---|
| Заход/шаг квиза | quiz_step_view | PageView | — | ✓ | ✓ | af_app_open |
| Оставил email | email_submitted | Lead | — | ✓ | ✓ | af_complete_registration |
| Пейвол показан | paywall_view | ViewContent | — | ✓ | ✓ | af_content_view |
| Начал оплату | checkout_start | InitiateCheckout | — | ✓ | ✓ | af_initiated_checkout |
| Старт триала (web) | start_trial | StartTrial | StartTrial | ✓ | ✓ | af_start_trial |
| Оплата (web/Stripe) | purchase | Purchase | Purchase | ✓ | ✓ | af_subscribe |
| Оплата в приложении (IAP) | — | ✗ | ✗ | ✗ | ✗ | af_subscribe |
| Регистрация | — | ✗ (web) | ✗ | ✗ (web) | ✗ | af_complete_registration / Firebase |
event_id (purchase_<id>, trial_<id>). CAPI шлётся только с прода (app.gfit.world, Stripe livemode). На dev/stage пиксель и GA не грузятся вовсе.| Система | Роль | Где | Что собирает |
|---|---|---|---|
| Meta Pixel | атрибуция рекламы (клиент) | web | Lead / ViewContent / InitiateCheckout / StartTrial / Purchase |
| Meta CAPI | серверное подтверждение покупок (дедуп) | web (Stripe) | Purchase, StartTrial |
| GA4 (через GTM) | веб-аналитика, отчёты | web (прод) | все события track() |
| Mixpanel | продуктовая воронка | web | все track() кроме чисто-пиксельных |
| AppsFlyer | мобильная атрибуция | только апка | registration / subscribe / trial / checkout |
| RevenueCat | мобильные подписки (IAP) → БД | mobile | статусы подписок (не в Meta/GA) |
| Firebase | мобильная продуктовая аналитика | только апка | sign_up / paywall / workout (не purchase) |
| BigQuery + Dataform + Looker | витрины выручки | — | выгрузка платёжных таблиц из Supabase (не event-стрим) |
| eSputnik | CRM / email-события | сервер | registration / checkout / payment для рассылок |
| PostHog | запись сессий, heatmaps, дропоффы воронки | web (lazy) | подключаем — для дизайнера/UA |
Почему Meta Pixel основной, а не CAPI.
Пиксель (клиент) видит всю воронку в браузере: PageView, шаги квиза, Lead, пейвол, чекаут. CAPI (сервер) видит только серверные события — покупки/триалы из Stripe-вебхука. Пиксель даёт охват + атрибуцию по cookie (fbp/fbc); CAPI страхует денежные события (переживает адблок/iOS, дедуп с пикселем). Правильно — оба, и у нас так.
Хватает ли данных? Продуктовая аналитика.
Для оптимизации рекламы — да. Для «где отваливается в квизе» данные уже есть: quiz_step_view с номером шага уходит в Mixpanel и GA4 → пошаговая воронка строится в Mixpanel уже сейчас (дизайнер может смотреть). Чего нет, а даёт PostHog: запись сессий, heatmaps, autocapture, A/B-эксперименты.
| Потребность | Есть сейчас | PostHog |
|---|---|---|
| Пошаговая воронка квиза, отвалы | Mixpanel | дублирует |
| Retention, когорты | Mixpanel / GA4 | дублирует |
| Атрибуция рекламы | Meta, AppsFlyer | нет |
| Запись сессий (watch) | нет | да |
| Heatmaps / клик-карты | нет | да |
| Autocapture (без разметки) | нет | да |
| A/B эксперименты, flags | нет | да |
Решено: подключаем PostHog — для дизайнера, UA и креативного продюсера: запись сессий + heatmaps, чтобы видеть, где в квизе дропоффы и как улучшать воронку. Это дополнение к Mixpanel/Meta, не замена. Важно: грузить лениво/асинхронно и без тяжёлой записи на старте, чтобы не замедлять загрузку онбординга.
Почему регистрация не учитывается.
На вебе CompleteRegistration не шлётся в Meta/GA4/Mixpanel — фиксируется только Lead (email). Регистрация есть только в апке (AppsFlyer, Firebase). Это дыра: если регистрация нужна как конверсия/якорь UTM — добавляем событие на вебе → Meta/GA4/Mixpanel.
UTM для регистрации (и на уровне кампании).
Для Meta кампания привязывается по fbclid/fbc — мы его уже ловим (attr_* в Stripe metadata → CAPI), покупки уже атрибутируются. Для GA4/Mixpanel нужны utm_* с лендинга: ловить на первом заходе (first-touch), класть в storage, прикреплять к событиям (включая registration и purchase). Сейчас utm_* к событиям не прикрепляются — задача.
Апселлы в апке + экран апселла после пейвола.
(1) Экран апселла (авторские за $32.99 после пейвола) — продуктовая фича (DEV-484). (2) Трекинг: на вебе покупка апселла уже шлёт Purchase, но апселлы/покупки в приложении (IAP) в Meta/GA/Mixpanel не видны — нужен мост RevenueCat→CAPI/Mixpanel.
2130151084074853 (Костя).gfit-analytics) — не в гите, правки моделей не доезжают в daily без ручной перекомпиляции. Проверить/настроить.Это живой документ. Правки — через Костю/Claude; при изменениях страница переразворачивается.