Как сократить расходы на авторизацию пользователей в 2 раза

И не страдать с интеграцией нескольких решений

Как сократить расходы на авторизацию пользователей в 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:

  1. Пользователь вводит номер телефона — модуль передаёт его нам.
  2. ProPush генерирует одноразовый код на своей стороне и отправляет его пользователю через выбранный бизнесом канал. Мы помогаем компаниям подобрать самый эффективный канал под задачу: в одном кейсе звонок никак не повлияет на конверсию, в другом — код лучше отправить текстом.
  3. Пользователь получает код и вводит его в специальное поле.
4. ProPush сверяет код и отдаёт результат проверки: авторизирован ли пользователь и через какой канал. 
4. ProPush сверяет код и отдаёт результат проверки: авторизирован ли пользователь и через какой канал. 

А если схематично — всё выглядит так:

Как сократить расходы на авторизацию пользователей в 2 раза

Главное преимущество — возможность гибко менять приоритетность каналов отправки кодов. Всё это делается без переписывания бизнес-логики и без дополнительных затрат на интеграции.

Мы знаем, что нашим клиентам важна прозрачность. 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 — Каждый день рассказываем о новинках в коммуникациях.

И, кстати, расскажите, а как вы решаете проблемы с авторизацией? Давайте сравним подходы ↓

8
Начать дискуссию