Действуй как product analyst. Спроектируй и проанализируй воронку для цели: {{funnel_goal}}. Источник событий: {{event_taxonomy}}.
Шаг 1. Step definition — events, не pageviews
Шаги воронки — это намерения пользователя, а не страницы. Один page может вмещать несколько шагов; один шаг может проходить на нескольких страницах.
Плохо
1. /landing
2. /pricing
3. /signup
4. /checkout
5. /thank-you
Хорошо
1. visited_landing (любая landing)
2. viewed_pricing (scroll до pricing section ≥80% OR клик "see pricing")
3. started_signup (заполнил email или клик "create account")
4. completed_signup (verified email или onboarding step 1)
5. started_checkout (открыл payment form)
6. completed_payment (платёж успешен)
Каждый шаг — observable behavior с однозначным определением.
Шаг 2. Time windows
Воронка без окна — мусор. Пользователь, который зашёл вчера и купил сегодня, может не быть частью одной сессии.
Типы окон
- Same-session — все шаги в одной сессии (30 мин неактивности = новая сессия)
- N-day window — все шаги в N дней с шага 1
- No window — все шаги когда-либо (только для очень длинных циклов)
Выбор
- E-commerce импульсная покупка → same-session
- SaaS trial-to-paid → 14-30 day window
- B2B sales → 30-180 day window
- Onboarding → 7-day window
Trap: оверлапы
Один user, который прошёл воронку дважды, считается один раз (distinct user_id) или дважды (each instance)?
- By user: для conversion rate (% людей которые конвертировались)
- By instance: для optimisation (где люди срываются в каждой попытке)
Зафиксируй явно. Смешивание = ошибки в разы.
Шаг 3. Cohort comparison
Сама по себе воронка ничего не говорит. Сравнивай:
- Across time: эта неделя vs предыдущие 4
- Across segments: paid vs organic, mobile vs desktop, new vs returning
- Pre/post change: до и после релиза / эксперимента
Без сравнения "drop-off на шаге 3 = 40%" — бесполезное число.
Шаг 4. Интерпретация drop-off
| Где падение | UX или intent? | Как проверить |
|---|---|---|
| Шаг 1 → 2 высокий drop | Чаще intent (зашли посмотреть) | Сегментировать по источнику; качество traffic |
| Шаг 2 → 3 высокий drop | Микс intent + value prop | A/B копи на pricing page |
| Шаг 3 → 4 высокий drop | UX (форма сложная, доверие) | Field-level analytics, session replay |
| Шаг 4 → 5 высокий drop | Тех проблема или payment friction | Error logs, payment failures |
| Шаг 5 → 6 высокий drop (после payment intent) | Платёжный провайдер | Stripe radar, gateway logs |
| Все шаги ровно падают | Норма, не проблема | Не "оптимизируй" каждый — фокус на самых жирных |
Эвристика: если drop-off шага > 70% — это либо качество трафика (UX bullshit не поможет), либо реальная UX проблема (тогда session replay + error logs).
Шаг 5. Segment-aware funnels
Aggregate funnel почти всегда врёт. Пример:
- Aggregate: 100 → 50 → 25 → 10 (10% conversion)
- Mobile: 80 → 30 → 10 → 2 (2.5%)
- Desktop: 20 → 20 → 15 → 8 (40%)
Aggregate скажет "оптимизируй шаг 1→2 (50% drop)". Mobile показывает что весь mobile flow сломан. Desktop — что почти всё ок.
Минимум для production funnel: 3-4 сегментные оси (device, channel, plan, geo). Сразу.
Шаг 6. Vanity funnel — чего избегать
"Vanity funnel" — воронка где numerator такой широкий, что conversion всегда выглядит хорошо. Признаки:
- Step 1 = "visited site" — поймает любого случайного, conversion маленький по дизайну
- Last step = "showed interest" — мутное определение, любое касание считается победой
- No deduplication — один пользователь × 5 visits = 5 "uniqueusers"
- Включает internal traffic — сотрудники, тесты, боты
- Без time window — конверсия растёт со временем "сама" по мере наблюдения
Тест: если ты не можешь сказать "если мы улучшим X на Y, conversion станет Z" — это vanity funnel.
Шаг 7. Output
## Funnel definition
1. <step> — <event/condition> — <expected % of total>
2. ...
## Time window
N days from step 1
## Counting
By distinct user_id (for CR) or by instance (for opt)
## Segmentation axes
- device
- acquisition_channel
- plan_tier (intent at signup)
## Findings
| Step | Volume | CR step | CR cumulative | Δ vs LW |
## Top drop-off hypotheses
1. ...
## Next experiments
1. ...
Анти-паттерны
- ❌ Воронка из URLs — теряешь behavior, путаешь шаги
- ❌ Без time window — "конверсия 50%" просто потому что считаешь всё время
- ❌ Aggregate без сегментации — Simpson's paradox, неправильные приоритеты
- ❌ "Optimisable everywhere" мышление — каждый шаг = эксперимент = месяцы, фокус на топ-1
- ❌ Не считать internal/bots — артефактно "плохая" воронка
- ❌ Конверсия без CI — N=50 это шум, не результат
- ❌ Сравнение разных периодов воронки если definitions менялись — нечестно
Прокачать CTA на странице
Найти все CTA, оценить и переписать с конкретикой и глаголами действия.
Аудит воронки конверсии
Где сливаются пользователи: каждый шаг воронки, причины отвала, гипотезы для тестов.
Таксономия событий
Названия событий и параметров так, чтобы аналитик через год не плакал.