Шаблон исследования готовых решений для Telegram-бота
Задача
Выполнить ресёрч и проверить, какие готовые решения могут закрыть задачи PRD. Посмотреть решения типа Toolsy, Tribute, SaleBot и другие — не менее 10 сервисов, потому что перечисленные в примерах мы уже смотрели и они полностью не закрывают функционал.
Цель: найти максимально закрывающее функционал решение. Либо предложить варианты упрощения PRD по конкретным пунктам без потери результата.
ВАЖНО: если вы делаете этот отчёт нейросетью — проверять каждый пункт вручную. Непроверенный отчёт нейросети у меня итак есть.
Сравнительная таблица
| № | Название функционала | Краткое описание как работает | Пример конкретной механики | Какую пользу должен приносить | Почему нельзя отказаться | Есть ли такой функционал? | Как эту задачу решают другие пользователи сервисов? | Что пишут в отзывах? | Примечания и комментарии | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Toolsy | Tribute | SaleBot | PaidSub | Puzzlebot | BotHelp | Сервис 7 | Сервис 8 | Сервис 9 | Сервис 10 | |||||||||
| 1 | Deep-link вход с источником | Бот запоминает, откуда пришёл пользователь через параметр ?start=источник | Пользователь переходит по ссылке t.me/bot?start=blogger_masha — бот записывает в базу источник=blogger_masha | Понимать, какой канал привлечения работает; считать конверсию по источникам | Без этого не поймём, откуда приходят платящие клиенты — невозможно оптимизировать маркетинг | |||||||||||||
| 2 | Онбординг с текстом и фото | Серия экранов с текстами и фото, объясняющих ценность канала до оплаты | Экран «Что внутри» показывает 2 скриншота постов канала с затёртым промокодом — человек видит реальные скидки, но не может использовать без оплаты | Объяснить ценность канала и показать примеры реальных скидок до оплаты | Без понимания ценности человек не оплатит — нужно показать товар лицом | |||||||||||||
| 3 | Сбор телефона кнопкой Telegram | Бот просит поделиться телефоном нативной кнопкой Telegram до оплаты или выдачи бесплатного месяца | Пользователь нажимает кнопку «Поделиться контактом» — бот получает верифицированный номер телефона | Защита промокодов: бронь отеля должна быть на телефон подписчика. Ограничение бесплатного месяца: один телефон = один trial | Без телефона продукт не работает: нельзя проверить, что бронь сделал подписчик, и нельзя ограничить бесплатный месяц одним разом | |||||||||||||
| 4 | Оплата подписки (месяц 100₽ / год 700₽) | Пользователь оплачивает доступ к закрытому каналу: 100₽/мес или 700₽/год | После онбординга пользователь выбирает тариф, оплачивает картой, бот получает подтверждение оплаты и выдаёт доступ | Основной источник дохода канала | Это главная монетизация — весь продукт построен вокруг платного доступа | |||||||||||||
| 5 | Автовыдача доступа в канал после оплаты | После подтверждения оплаты бот автоматически одобряет заявку на вступление в закрытый канал | Пользователь оплатил → бот получил событие payment_succeeded → бот одобряет join request → пользователь в канале | Пользователь сразу попадает в канал без ожидания ручного одобрения | Ручное одобрение не масштабируется — при 100+ оплатах в день невозможно одобрять вручную | |||||||||||||
| 6 | Автокик при неоплате + grace period | Если подписка истекла и не продлена в течение grace period (3 дня по умолчанию), бот автоматически снимает доступ к каналу | Подписка истекла 1 июля → grace до 4 июля → не оплатил → 4 июля бот убирает из канала, но сохраняет данные пользователя | Автоматически убирать неплатящих, сохраняя ценность канала для платящих | Вручную невозможно отслеживать кто продлил — при сотнях подписчиков это неуправляемо | |||||||||||||
| 7 | Уведомление при неуспешном продлении | Если автопродление не прошло (карта не сработала), бот уведомляет пользователя и даёт grace period на исправление | Карта не прошла → бот пишет: «Не смогли списать оплату. Обнови данные карты в течение 3 дней, иначе доступ будет закрыт» | Дать шанс исправить проблему с картой до потери доступа | Без уведомления человек не узнает о проблеме и потеряет доступ, хотя хотел бы остаться | |||||||||||||
| 8 | Напоминание перед окончанием бесплатного месяца | Бот напоминает пользователю с бесплатным месяцем (story trial), что срок заканчивается, и предлагает оплатить | За 3 дня до конца trial бот пишет: «Твой бесплатный месяц заканчивается 15 июля. Оплати 100₽, чтобы остаться в канале» | Конвертировать бесплатных пользователей в платящих | Без напоминания человек забудет и потеряет доступ — упустим конверсию | |||||||||||||
| 9 | Бесплатный месяц за сторис (1 раз на аккаунт) | Пользователь выкладывает сторис с рекламой канала, присылает скрин — получает бесплатный месяц. Один раз на телефон | Пользователь выбирает «Бесплатно за сторис» → получает инструкцию и свою реферальную ссылку → выкладывает сторис → присылает скрин → бот проверяет, что этот телефон ещё не использовал trial → выдаёт доступ на месяц | Привлечение новых подписчиков через сторис тех, кто не готов платить сразу, но готов рассказать друзьям | Это альтернативный путь входа для тех, кто не готов платить сразу — без него теряем часть аудитории | |||||||||||||
| 10 | Отчёт по источникам для админа | Админ видит, откуда пришли пользователи: по какой ссылке/блогеру, сколько дали телефон, оплатили, ушли. Сам блогер статистику не видит | Админ открывает раздел «Источники и блогеры» → видит: ref_masha — пришло 50, дали телефон 30, оплатили 5, конверсия 10% | Понимать, какие каналы привлечения работают, и оптимизировать маркетинг | Без этого не поймём, откуда приходят платящие — будем тратить бюджет вслепую | |||||||||||||
| 11 | Экран накопленного (сумма платежей пользователя) | Пользователь видит сумму всех своих платежей за канал и инструкцию, как потратить эти деньги в «Зелёной Тропе» | Пользователь нажимает «Моё накопленное» → видит: «Ты оплатил 300₽. Напиши бронисту Тропы, чтобы использовать как депозит или возврат» | Показать пользователю, что его деньги не пропадают — можно потратить на проживание в Тропе | Ключевое УТП канала: деньги не пропадают. Без этого экрана пользователь не знает, что может вернуть деньги | |||||||||||||
| 12 | Режим брониста (поиск + пометка «использовано») | Бронист вводит телефон/ник клиента, видит его накопленное, нажимает «Оформил» — сумма помечается использованной | Клиент пришёл в Тропу и хочет использовать накопленное → бронист в боте вводит его телефон → видит «300₽, не использовано» → оформляет депозит → нажимает «Оформил» → бот помечает сумму использованной | Позволяет бронисту оформлять накопленное прямо в боте, без внешних таблиц | Без этого бронист не знает, сколько у клиента накоплено, и не может предотвратить повторное использование | |||||||||||||
| 13 | Догоны для неоплативших (серия сообщений) | Серия из 4 сообщений для тех, кто зашёл в бот, но не оплатил и не получил бесплатный месяц | День 1: «Ты так и не вступил — вот что пропускаешь». День 3: «Скидки уходят». День 7: «Последний шанс». День 14: «Месяц всего 100₽» | Конвертировать лидов в платящих — дожимать тех, кто не принял решение сразу | Без догонов теряем тёплых лидов, которые уже проявили интерес, но не дошли до оплаты | |||||||||||||
| 14 | Дайджест для ушедших (ежемесячно) | Раз в месяц бот отправляет бывшим подписчикам подборку прошедших предложений + тизер текущих без промокодов | «В июне были скидки 70% в Подмосковье. Сейчас есть что-то не хуже — вернись за 100₽ и увидишь» | Возвращать ушедших подписчиков — напоминать, что они теряют | Ушедшие — самая тёплая аудитория: они уже платили и знают продукт. Без дайджеста теряем канал возврата | |||||||||||||
| 15 | A/B тесты (варианты онбординга/догонов + отчёты по шагам воронки) | Бот случайно делит пользователей на группы A/B, показывает разные варианты экранов/текстов, считает конверсию по каждому шагу воронки для каждой группы | 50% видят онбординг A, 50% — B. Отчёт по шагам: A — дали телефон 80%, оплатили 15%; B — дали телефон 60%, оплатили 20%. Видим, где именно разница | Понимать, какие тексты лучше конвертируют на каждом шаге, и точечно улучшать воронку | Без разбивки по шагам не поймём, где именно один вариант лучше другого — будем менять не то | |||||||||||||
| 16 | Админка: отчёт по воронке | Админ видит сколько людей на каждом шаге: вошёл → дал телефон → увидел цену → нажал оплату → оплатил → в канале | Отчёт: 1000 вошли → 700 дали телефон (70%) → 500 увидели цену (71%) → 100 нажали оплату (20%) → 50 оплатили (50%) | Видеть, где теряются пользователи, и понимать узкие места воронки | Без отчёта по воронке не поймём, какой шаг оптимизировать — будем чинить не то | |||||||||||||
| 17 | Админка: поиск пользователя, управление доступом | Админ может найти пользователя по телефону/нику/ID, увидеть его статус, выдать или забрать доступ вручную | Пользователь пишет «не могу войти» → админ ищет по телефону → видит, что доступ слетел из-за бага → вручную выдаёт доступ | Решать проблемы пользователей и делать ручные корректировки | Нужна возможность помочь пользователю вручную — баги и edge cases неизбежны | |||||||||||||
| 18 | Настройка параметров через таблицу | Админ меняет тексты, флаги функций, параметры (grace days, тихие часы) через таблицу или панель без деплоя кода | Ирина хочет изменить текст напоминания — открывает таблицу, правит текст, сохраняет. Бот сразу использует новый текст | Быстро менять тексты, флаги, параметры без привлечения разработчика | Без этого каждое изменение текста — новый релиз. Невозможно оперативно реагировать на обратную связь | |||||||||||||
Рекомендация фрилансера
Рекомендуемое решение:
Что закрывает:
Что НЕ закрывает и как решить:
Предложения по упрощению PRD: