Как сократить расходы на авторизацию пользователей в 2 раза
И не страдать с интеграцией нескольких решений
Привет, это SIGMA messaging! Мы разработали модуль ProPush — универсальный сервис для авторизации пользователей: все каналы в одном решении. Он снижает нагрузку на команду и уменьшает расходы. В статье расскажем, как именно, но сначала погрузимся в контекст.
Что не так с рынком авторизации
Решений для авторизации пользователей много — есть, из чего выбрать. Но есть несколько нюансов, на которые предприниматели обычно не обращают внимание:
1. Каналов стало слишком много. Сегодня это не только SMS, но и звонки, сообщения в WhatsApp, Telegram, SIM-Push. С одной стороны, возможности доставить код пользователю расширились, но реализация стала запутанной и неудобной.
Обычно компании либо застревают в решении, какой канал выбрать, либо подключают всё сразу. И тогда мультиканальность работает против них.
Если в форме авторизации написано, что код может прийти куда угодно, пользователь озадачится. В лучшем случае он потеряет нервные клетки на то, чтобы разобраться и найти код, в худшем — уйдёт, так и не подтвердив вход.
Давать пользователю выбрать канал самому — тоже не вариант. Практика показывает, что в 99% случаев он по привычке выберет SMS, а для компании это самый дорогой канал. Значит, сэкономить не получится и расходы продолжат расти.
Есть ещё и e-mail. Этот канал самый дешёвый, но и у него есть два серьёзных минуса. Во-первых, низкая защищённость. Во-вторых, низкая конверсия прочтения: код может уйти в спам или письмо просто не откроют.
2. Экосистемные ID не универсальны. Tinkoff ID, Яндекс ID, VK ID уже доказали, что могут безопасно передавать коды и помогать компаниям снижать расходы на авторизацию. Но пока не все клиенты готовы устанавливать дополнительные приложения, чтобы подтвердить вход, и это ограничивает масштабирование.
Кроме того, использование экосистемных ID часто означает, что компании делятся частью своей клиентской базы с внешним игроком. Это нормально для партнёрской модели, но тут тоже есть риски.
3. Коммуникация дорожает. Десять лет назад те же SMS стоили 35 копеек, а сейчас — от 2 до 6 ₽ за сообщение. При этом цена постоянно растёт, как и растут расходы на интеграцию, поддержку каналов и само обслуживание инфраструктуры авторизации.
Как бизнесу экономить на авторизации
Мы на рынке мультиканальной коммуникации давно, и практически в прямом эфире наблюдаем, как с годами раздуваются бюджеты компаний на авторизацию пользователей. Ещё 5-7 лет назад такие суммы казались немыслимыми, а сейчас — минимум, чтобы система продолжала работать.
SMS сейчас стоят от 2 до 6 ₽ за сообщение, FlashCall — около 0,55 ₽. В WhatsApp нужно платить за каждое доставленное шаблонное сообщение, которое обойдётся в среднем в ~4–8 ₽. И если здесь ничего не менять, то каждый миллион подтверждений превращается в ощутимые суммы.
Так появилась идея создать ProPush. Его задача — экономить более 50% бюджета на авторизацию по сравнению с привычными методами, прежде всего с SMS. При этом решение не требует доработок, если компания решит сменить канал или протестировать новый — функционал простой и гибкий.
Кроме того, мы забрали на себя весь процесс настройки — от хранения кодов до обработки ошибок. Командам, которые будут подключать авторизацию через ProPush, не нужно будет ничего разрабатывать дополнительно.
Как работает ProPush:
- Пользователь вводит номер телефона — модуль передаёт его нам.
- ProPush генерирует одноразовый код на своей стороне и отправляет его пользователю через выбранный бизнесом канал. Мы помогаем компаниям подобрать самый эффективный канал под задачу: в одном кейсе звонок никак не повлияет на конверсию, в другом — код лучше отправить текстом.
- Пользователь получает код и вводит его в специальное поле.
А если схематично — всё выглядит так:
Главное преимущество — возможность гибко менять приоритетность каналов отправки кодов. Всё это делается без переписывания бизнес-логики и без дополнительных затрат на интеграции.
Мы знаем, что нашим клиентам важна прозрачность. ProPush фиксирует всё, что происходит в процессе авторизации: сколько раз пользователь запросил код, сколько попыток ввода сделал, через какие каналы проходили подтверждения. А значит, можно будет не просто пофиксить ошибки, а доработать слабые места и повысить конверсию.
В архитектуре мы предусмотрели несколько важных функций:
- Каскад каналов — если через один доставить код не получилось, мы отправляем через следующий по приоритетности.
- Настраиваемые тексты под выбор каналов, чтобы пользователь понимал, где именно ждать код: в SMS, в мессенджере или через звонок.
- Таймауты и триггеры переотправки, чтобы настроить логику под разные сценарии.
- Аналитика и защита от брутфорса. Если коды начинают запрашивать слишком часто или вводят неправильно, то новые попытки временно блокируются.
- Поддержка SIM-Push. Это особый канал, где нет привычной отправки кода. Если подтвердить через SIM-Push не удалось, оператор досылает код в SMS. Мы интегрировали этот сценарий в общую логику.
Плюс — лёгкая масштабируемость. Мы сделали единое API для всех каналов и готовый модуль SDK на TypeScript. С ним можно быстро настроить эндпоинты на fastify, express.js, NestJS или Bun и использовать методы так, как удобно команде интеграции. Благодаря этому им не нужно переписывать бизнес-логику при подключении новых каналов — сервис растёт вместе с задачами компании.
Перед запуском мы провели полный цикл нагрузочного тестирования. Проверяли устойчивость системы, стабильность и работу при пиковых нагрузках. Только после этого вывели в прод.
Какие каналы авторизации используются в ProPush
В ProPush есть несколько способов авторизации, и каждый решает свою задачу:
1. SimPush — сообщение приходит прямо на SIM-карту. Полезен там, где интернет работает нестабильно или стоимость SMS слишком высока: в роуминге, удалённых регионах или при использовании корпоративных SIM-карт.
2. OTPcall (Voice OTP) — пользователю звонит робот и диктует код. Этот вариант дешевле SMS и помогает, когда важно, чтобы код получил именно держатель устройства. Сценарий особенно ценен в офлайне, например, при подтверждении скидки на кассе.
3. FlashCall — код встроен в последние цифры входящего звонка. Пользователь видит пропущенный вызов и вводит эти цифры. Для бизнеса это один из самых экономичных каналов при больших объёмах трафика, где низкая стоимость доставки — в приоритете.
4. SMS — классический канал. Он работает из коробки и поддерживается у всех операторов и устройств, никакой дополнительной настройки не требует.
5. Мессенджеры — привычные каналы для общения. Сообщение в них отправляются от имени сообщества бренда (VK), официального аккаунта (WhatsApp, Viber). А в Telegram сообщение может отправляться от канала бренда или от общего «Verification Codes».
Для всех каналов доступны гибкие настройки. С ними можно подстроить авторизацию под продукт и пользователей:
- Срок жизни кода. Обычно — около 45 секунд. Этого хватает, чтобы пользователь ввёл код без спешки. Но время можно увеличить, если, например, бизнес ориентирован на пожилых пользователей.
- Длина кода. У каждого канала свои особенности, — FlashCall — 4‑значный код. OTPcall допускает 5–6 цифр, но мы рекомендуем не более четырёх — чем длиннее код, тем сложнее его запомнить на слух. SMS позволяет использовать буквы и цифры, создавая сложные пароли. Однако, исходя из нашего опыта, — чем короче код, тем ниже риск ошибки при вводе.
- Перезапуск канала. Технически ограничений нет, код можно перезапускать сколько угодно. Но практического смысла в этом обычно немного. Частые повторы не повышают успешность авторизации. Поэтому, как правило, компании устанавливают лимит в две попытки.
- Количество попыток ввода. Нужны, чтобы никто не перебирал коды вручную.
Как планируем дорабатывать решение
Автоматизация — ещё не закрытая задача. Мы продолжаем расширять набор каналов и улучшать сценарии.
Например, недавно мы добавили Telegram в список каналов для авторизации. А сейчас работаем над новым сценарием внутри него — QR-вызовы. С ними пользователь в Telegram сканирует QR и сам инициирует звонок на наш номер, а мы подтверждаем действие и авторизуем его. Этот канал один из самых дешёвых на рынке, поэтому может быть полезен для массовых кампаний.
Также мы работаем над безопасностью. В ближайших планах — внедрить капчу, лимиты по количеству запросов и ограничение затрат в сутки. Дополнительно готовим защиту от ботов и сгенерированных запросов. Это ещё больше снизит риск атак и поможет бизнесу лучше контролировать расходы.
У авторизации все-таки ещё много слоёв. Точно будем докручивать решение дальше. А если нащупаем что-то полезное — обязательно поделимся.
***
Если хотите протестировать ProPush у себя — пишите или звоните нам!
А ещё подписывайтесь на нас в Telegram — Каждый день рассказываем о новинках в коммуникациях.
И, кстати, расскажите, а как вы решаете проблемы с авторизацией? Давайте сравним подходы ↓