Тема
Are you an LLM? You can read better optimized documentation at /guide\funnel.md for this page in Markdown format
Воронки
Воронка — это упорядоченный список «этапов», по которым проходит пользователь. Например:
- Зашёл по
/start - Дошёл до выбора тарифа
- Оплатил
MaxBotStat умеет считать, сколько контактов добралось до каждого этапа, и показывать конверсию.
Этапы
Этап описывается условием на сообщение. Поддерживаются:
- Текст: точное совпадение или подстрока.
- Команда:
/start,/help,/buy. - Intent: пользователь сказал что-то, что попадает в категорию (см. Намерения).
Пример воронки «Покупка тарифа Pro»:
| № | Название | Условие |
|---|---|---|
| 1 | Старт | команда /start |
| 2 | Открыл каталог | intent catalog |
| 3 | Выбрал тариф Pro | текст содержит pro |
| 4 | Подтвердил оплату | intent payment_confirm |
Настройка
Бот → Воронки → Создать воронку. Дайте имя, добавьте этапы по одному. Каждое условие срабатывает по direction='in' (входящему сообщению пользователя).
Расчёт
MaxBotStat для каждого контакта проверяет:
- было ли у него хоть одно сообщение, удовлетворяющее условию этапа N;
- если да — он считается «дошедшим» до этапа N.
Конверсия N → N+1 = count(дошёл до N+1) / count(дошёл до N).
TIP
Порядок имеет значение: «дошёл до 3» неявно означает «прошёл 1 и 2». В UI вы увидите визуальную воронку с уменьшающимся «горлышком».
REST API
Конфигурация воронки и расчёт доступны через приватные эндпоинты кабинета:
GET /api/bots/:id/funnel/config
PUT /api/bots/:id/funnel/config
GET /api/bots/:id/funnelВ REST API v1 (с API-ключом) воронок пока нет — данные считаются по приватному API кабинета (Bearer JWT).
Что попадает в шаги
- Только входящие сообщения. Ответы бота не считаются «прохождением этапа».
- Время прохождения этапа = время первого подходящего сообщения.
- Если пользователь повторно «прошёл» этап (написал то же самое второй раз) — это не считается ещё раз.
Связь с UTM
Воронку можно фильтровать по источнику в UI: «конверсия пользователей с utm_source=instagram». Полезно для сравнения каналов трафика.