Перейти к содержимому
OmniChannels.ai
Меню

Как снизить расходы на OTP по SMS: 9 рабочих тактик

Как снизить расходы на OTP по SMS: остановить фрод и лишние отправки, предложить аутентификацию WhatsApp до SMS и считать стоимость подтверждённого пользователя.

Обновлено 10 мин чтения

Автор: OmniChannels.ai Editorial Team · Проверил: BroadNet Messaging Solutions Team

SMS и OTP

Короткий ответ

Расходы на OTP утекают через мошеннические запросы (SMS pumping), лишние повторные отправки, отправки в страны, где вы не работаете, и проверку уже доверенных пользователей. Сократите их: поставьте перед отправкой защиту от ботов и ограничение частоты, составьте список разрешённых направлений, ограничьте повторы, предлагайте шаблоны аутентификации WhatsApp до SMS, пропускайте проверку для известных устройств и считайте стоимость подтверждённого пользователя, а не сообщения.

На этой странице
  1. Куда на самом деле уходят расходы на OTP?
  2. Что такое стоимость подтверждённого пользователя и как её считать?
  3. Пример: приложение вроде такси-сервиса
  4. Тактика 1: остановите ботов до отправки SMS
  5. Тактика 2: ограничивайте частоту по нескольким измерениям
  6. Тактика 3: составьте список разрешённых направлений
  7. Тактика 4: поставьте предохранители расходов
  8. Тактика 5: предлагайте шаблоны аутентификации WhatsApp до SMS
  9. Тактика 6: выбирайте порядок каналов для пользователя, а не для компании
  10. Тактика 7: настройте время переключения, чтобы не платить дважды
  11. Тактика 8: подтверждайте реже и умнее
  12. Тактика 9: сократите повторы за счёт лучшей доставки и UX
  13. Что измерять каждый месяц?
  14. Каких ошибок избегать?
  15. Чем помогает OmniChannels.ai

Главное

  • Важнее всего метрика стоимости подтверждённого пользователя: общие расходы на OTP, делённые на число пользователей, реально завершивших проверку. Стоимость сообщения скрывает фрод, повторы и отказы.
  • Самое дешёвое сообщение — то, которое вы не отправили. Проверка на ботов, лимиты на номер и устройство и список разрешённых направлений убирают платные отправки, о которых не просил ни один реальный пользователь.
  • Шаблоны аутентификации WhatsApp тарифицируются за доставленное сообщение по тарифу Meta для рынка получателя; недоставленные сообщения не тарифицируются. Сравнивайте каналы по собственному индексу цен и данным о конверсии, а не по общему правилу.
  • Порядок каналов — решение и о стоимости, и о конверсии: пробуйте более дешёвый канал только там, где он, вероятно, есть у пользователя, и переключайтесь на запасной после короткого тайм-аута подтверждения доставки.
  • NIST SP 800-63B считает внеполосную проверку через телефонную сеть ограниченной и требует предлагать альтернативы, поэтому многоканальное решение — ещё и лучшая практика безопасности.

Это руководство для команд продукта, разработки и антифрода, которые платят за одноразовые пароли (OTP) в больших объёмах и хотят снизить счёт, не ухудшая конверсию регистрации. Оно разбирает расходы на OTP по местам утечки, предлагает девять тактик в том порядке, в котором мы бы их внедряли, и показывает, как измерить результат. Цены здесь не называются; цифры берите из вашего договора и по ссылкам на страницы с ценами.

Куда на самом деле уходят расходы на OTP?

Расходы на OTP уходят в четыре места: настоящие первые отправки, повторы и ретраи, трафик в направления, которые вы реально не обслуживаете, и мошеннические запросы. Необходима только первая статья, а в остальных скрыта экономия.

Статья расходов Что это Как увидеть Типичный рычаг
Настоящие первые отправки Один код на каждое реальное действие пользователя Отправленные коды, завершившиеся подтверждённым действием Более дешёвый канал, пропуск проверки, когда она не нужна
Повторы и ретраи Пользователь не получил или не ввёл код Число отправок на подтверждённого пользователя выше 1,0 Быстрая доставка, лучший UX, время переключения на запасной канал
Необслуживаемые направления Коды в страны, где нет реальных клиентов Объём по странам и клиенты по странам Список разрешённых направлений
Фрод (SMS pumping) Боты запрашивают коды на номера, на которых наживается злоумышленник Отправленные, но не введённые коды по префиксам Защита от ботов, лимиты частоты, лимиты расходов

Поэтому первый шаг — измерение. Выгрузите отправки за месяц по странам и сравните с введёнными кодами. Наш калькулятор SMS-фрода (SMS pumping) превращает ваш собственный объём запросов, конверсию и тариф в оценку потерянных средств.

Что такое стоимость подтверждённого пользователя и как её считать?

Стоимость подтверждённого пользователя — это общие расходы на OTP за период, делённые на число пользователей, завершивших проверку за этот период. Это единственный показатель стоимости OTP, который учитывает фрод, повторы и брошенные попытки.

Стоимость подтверждённого пользователя = (отправленные SMS × стоимость SMS + доставленные сообщения WhatsApp × стоимость WhatsApp + другие каналы) ÷ пользователи, введшие верный код

Отслеживайте её по странам и сценариям (регистрация, вход, платёж). Два вспомогательных отношения объясняют её изменения.

  • Отправок на подтверждённого пользователя = отправленные сообщения ÷ подтверждённые пользователи. Значение выше 1,0 означает повторы, отказы или фрод.
  • Конверсия верификации = введённые коды ÷ отправленные коды. Падение в одной стране — первый признак pumping.

Пример: приложение вроде такси-сервиса

«Najm Go», условное приложение, подтверждает 170 000 пользователей в месяц. До изменений каждый код уходит по SMS, где s — стоимость одной SMS. После изменений 70 процентов верификаций начинаются в WhatsApp, где w — стоимость одного доставленного сообщения аутентификации WhatsApp. Числа иллюстративные, а не эталонные.

До После
Подтверждённые пользователи 170 000 170 000
Первые отправки по SMS 170 000 51 000
Первые отправки в WhatsApp 0 119 000
Повторы и ретраи 28 000 SMS 10 000 SMS и 7000 WhatsApp
Оплаченные накрученные запросы 40 000 SMS 4000 SMS
Всего SMS 238 000 65 000
Всего WhatsApp 0 126 000
Стоимость подтверждённого пользователя 1,40 s 0,38 s + 0,74 w

Вариант «после» дешевле, когда 0,74 w меньше 1,02 s, то есть когда w меньше примерно 1,4 s. Иными словами, даже если сообщение WhatsApp в какой-то стране стоит дороже SMS, экономия на фроде и повторах может сделать весь сценарий дешевле. Подставьте вместо s и w ставки из вашего договора и тариф Meta для вашего рынка; индекс цен и калькулятор стоимости показывают соотношение по странам.

Тактика 1: остановите ботов до отправки SMS

Поставьте проверку на ботов или оценку риска перед каждым эндпоинтом, отправляющим код, потому что сообщение, которое вы не отправили, ничего не стоит. Это касается регистрации, входа, сброса пароля, «отправьте мне ссылку по SMS» и реферальных форм.

MITRE ATT&CK описывает SMS pumping как технику T1496.003: злоумышленники инициируют большие объёмы сообщений на номера, которые они контролируют. Защита от ботов — первый рубеж против этого. Требуйте также, чтобы запрос приходил из действующей сессии или из подтверждённой установки приложения. Слои защиты подробно описаны в нашем руководстве по предотвращению SMS pumping.

Тактика 2: ограничивайте частоту по нескольким измерениям

Ограничивайте коды на номер телефона, на IP и сеть, на устройство и на сессию, с короткими и длинными окнами. Лимит по одному измерению обходят, меняя это измерение.

Стартовая политика, которую стоит адаптировать.

  • Небольшое число кодов на номер в час с растущей задержкой между повторными отправками.
  • Жёсткий суточный предел на номер.
  • Предел на устройство и IP, более низкий для неавторизованных сценариев.
  • Отдельный лимит неудачных попыток. NIST SP 800-63B указывает, что генерация нового секрета не должна сбрасывать счётчик неудачных попыток.

Тактика 3: составьте список разрешённых направлений

Включайте только страны, где у вас есть реальные пользователи. Для новых стран нужна заявка от бизнеса. В включённых странах блокируйте или проверяйте префиксы, показывающие признаки атаки, и в высоконагруженных сценариях проверяйте номера перед отправкой с помощью проверки номера.

Тактика 4: поставьте предохранители расходов

Установите почасовые и суточные лимиты расходов по странам и эндпоинтам и автоматически приостанавливайте направление, когда объём превышает кратное обычного, вызывая человека на проверку. Это ограничивает счёт от любой атаки, прошедшей предыдущие уровни.

Тактика 5: предлагайте шаблоны аутентификации WhatsApp до SMS

Для пользователей, у которых есть WhatsApp, шаблон аутентификации часто оказывается более дешёвым маршрутом, а модель платы за терминацию SMS, питающая pumping, к нему не применяется. Сравните каналы для своих стран, а не полагайтесь на предположения.

Факты из документации Meta.

  • Шаблоны аутентификации используют заданный текст с кодом, необязательную рекомендацию по безопасности и необязательную сноску о сроке действия от 1 до 90 минут. Они относятся к категории аутентификации (authentication) Meta.
  • Варианты кнопок: копирование кода, автозаполнение в одно касание и zero-tap на Android. В iOS 26 и новее подсказки клавиатуры могут определять код; в более ранних версиях iOS следует использовать копирование кода.
  • Meta тарифицирует сообщения аутентификации за доставленное сообщение по тарифу рынка получателя с месячными ступенями объёма по рынкам. У аутентификации нет бесплатного месячного уровня, а у некоторых рынков есть отдельный международный тариф аутентификации, поэтому уточните свои страны в актуальной тарифной сетке Meta.

В нашем руководстве OTP через WhatsApp и OTP через SMS показано, как создавать и отправлять шаблоны.

Тактика 6: выбирайте порядок каналов для пользователя, а не для компании

Самый дешёвый порядок — тот, что соответствует каналу, где пользователь действительно может получить код. Упорядочите каналы по самой низкой стоимости среди тех, что у пользователя, вероятно, есть, затем переключайтесь на запасной после короткого ожидания.

Сигнал Рекомендуемый первый канал Запасной
Вернувшийся пользователь, ранее подтверждавшийся в WhatsApp Шаблон аутентификации WhatsApp SMS
Новый пользователь, страна с высоким использованием WhatsApp в вашей базе WhatsApp, если пользователь указал номер, доступный в WhatsApp SMS
Новый пользователь, нет истории каналов SMS WhatsApp или голос по запросу
Рискованный запрос (новое устройство, смена номера) Канал, уже привязанный к аккаунту Более сильная проверка, а не очередной код

Голосовой OTP тоже доступен как крайний вариант, а его цену наша команда сообщает по запросу. Настройте порядок в правилах резервирования каналов и используйте один и тот же код во всех каналах.

Тактика 7: настройте время переключения, чтобы не платить дважды

Отправляйте запасное сообщение только если подтверждение доставки не пришло в течение короткого тайм-аута, измеряемого секундами. Если сообщение WhatsApp доставлено, не отправляйте SMS; если не доставлено, Meta его не тарифицирует. Не более одного запасного сообщения и один и тот же код в обоих.

Тактика 8: подтверждайте реже и умнее

Каждая безопасно пропущенная проверка — сэкономленное сообщение. Запрашивайте код при регистрации, на новых устройствах, после смены пароля и для действий с высокой ценностью. Для известных устройств с действующей сессией используйте токен запомненного устройства или ключ доступа. Сохраняйте проверки риска (невозможное перемещение, новая SIM-карта), чтобы пропуск кода не открывал путь к захвату аккаунта.

NIST SP 800-63B-4 ограничивает использование телефонной сети общего пользования для внеполосной проверки и требует от верификаторов сохранять доступными альтернативные типы аутентификаторов, поэтому снижение зависимости от SMS согласуется с рекомендациями по безопасности, а не только со стоимостью.

Тактика 9: сократите повторы за счёт лучшей доставки и UX

Повторы — это платные сообщения. Сократите их следующими способами.

  1. Доставляйте по прямым маршрутам с отчётами о доставке, чтобы медленные или молчаливые маршруты были видны. См. серые и прямые маршруты SMS.
  2. Держите SMS в одном сегменте, чтобы оно не делилось. Русское сообщение с кодом Код Najm: 482915. Действует 5 минут. Никому не сообщайте. занимает 57 символов в Unicode (70 на сегмент, так как кириллица не входит в GSM-7). Английский вариант Najm code: 482915. Valid 5 minutes. Never share it. — 51 символ в GSM-7 (160 на сегмент). Арабский вариант رمز نجم: 482915 صالح 5 دقائق. لا تشاركه مع أحد. — 47 символов в Unicode (70 на сегмент). Любой вариант проверяйте в счётчике символов SMS.
  3. Поддерживайте автозаполнение, например формат кода и кнопки в одно касание или копирования кода, чтобы пользователь не ошибался при вводе.
  4. Задавайте срок действия, достаточный для реальных пользователей. NIST требует, чтобы внеполосные секреты истекали в течение 10 минут; не делайте срок таким коротким, чтобы пользователям приходилось запрашивать код заново.
  5. Разбирайте жалобы по руководству OTP не приходит: диагностика.

Что измерять каждый месяц?

Ведите небольшую панель по странам и сценариям и пересматривайте её еженедельно во время изменений.

Метрика Формула Здоровое направление
Стоимость подтверждённого пользователя Расходы ÷ подтверждённые пользователи Вниз
Конверсия верификации Введённые коды ÷ отправленные коды Вверх, стабильна по странам
Отправок на подтверждённого пользователя Сообщения ÷ подтверждённые пользователи К 1,0
Доля WhatsApp среди первых отправок Первые отправки WhatsApp ÷ все первые отправки Вверх там, где доступно
Доля переключений на запасной канал Переключения ÷ попытки в WhatsApp Стабильна; скачок означает проблемы с доставкой
Заблокированные запросы Запросы, остановленные мерами контроля Всплески показывают атаки

Каких ошибок избегать?

  • Оптимизировать цену сообщения, пока в счёте преобладают фрод и повторы.
  • Блокировать целые страны после атаки вместо заранее составленного списка разрешённых, что вредит реальным пользователям за рубежом.
  • Отправлять SMS и WhatsApp одновременно «для надёжности», что удваивает стоимость.
  • Устанавливать очень короткий срок действия, вызывающий повторные запросы.
  • Считать, что WhatsApp есть у всех. Сохраняйте SMS как запасной канал и измеряйте досягаемость.
  • Убирать верификацию без проверок риска, меняя проблему стоимости на проблему захвата аккаунтов.

Чем помогает OmniChannels.ai

OmniChannels.ai на платформе BroadNet Technologies отправляет OTP по SMS через прямые подключения к операторам и через шаблоны аутентификации WhatsApp (в одно касание, zero-tap и копирование кода) с настраиваемым резервированием каналов и нормализованными вебхуками доставки для вашей собственной отчётности по затратам. Отчёты о доставке можно фильтровать и экспортировать в CSV. Интеграцию обеспечивают REST API и SMPP. Обсудите с командой ваши страны и объёмы и посмотрите опубликованные прайс-листы на страницах цен WhatsApp и цен на SMS по странам.

Часто задаваемые вопросы

Как снизить стоимость OTP по SMS?

Остановите платные отправки, которые никому не нужны: добавьте проверку на ботов и лимиты частоты на каждом эндпоинте, отправляющем код, включите только те страны, где вы работаете, и ограничьте повторы. Затем переведите оставшиеся отправки на более дешёвый для каждого пользователя канал, например шаблон аутентификации WhatsApp, с SMS в качестве запасного. Ежемесячно измеряйте стоимость подтверждённого пользователя, чтобы понять, работают ли изменения.

Какая доля моего счёта за OTP приходится на фрод?

Это зависит от того, насколько открыты ваши эндпоинты, а надёжного публичного среднего значения нет, поэтому измеряйте собственное. Сравните отправленные коды с введёнными по странам и префиксам номеров. Разрыв, который возникает в одном направлении при стабильном потоке настоящих регистраций, — признак pumping. Оценить потери по вашим данным поможет наш калькулятор SMS-фрода (SMS pumping).

OTP через WhatsApp дешевле, чем через SMS?

Может быть, но это зависит от направления, потому что Meta тарифицирует шаблоны аутентификации за доставленное сообщение по тарифу рынка получателя и месячным ступеням объёма, а тарифы SMS различаются по странам и операторам. Сравните оба варианта по нашему индексу цен для ваших стран и учтите объём запасного канала, поскольку пользователям без WhatsApp всё равно нужны SMS.

Какая длина и срок действия кода самые дешёвые и безопасные?

Длина и срок действия — настройки безопасности, а не рычаги стоимости. NIST SP 800-63B требует, чтобы внеполосные секреты содержали не менее шести десятичных цифр и истекали в течение 10 минут. Более короткий срок снижает риск повторного использования, но может увеличить число повторных отправок, которые стоят денег, поэтому выбирайте самое короткое окно, в которое комфортно укладываются реальные пользователи.

Нужно ли подтверждать каждый вход по OTP?

Не обязательно. Подтверждайте при регистрации, при рискованных событиях, таких как новое устройство или смена пароля, и для действий с высокой ценностью. Для известных устройств с действующей сессией пропускайте код или используйте ключ доступа (passkey) либо проверку в приложении. Каждая пропущенная проверка экономит сообщение и снижает трение, если ваши меры контроля рисков по-прежнему выявляют захват аккаунта.

Удваивает ли переключение с WhatsApp на SMS стоимость?

Только если доставлены оба сообщения. Meta тарифицирует сообщения аутентификации при доставке, поэтому недошедшее сообщение WhatsApp не оплачивается. Дождитесь подтверждения доставки или короткого тайм-аута перед отправкой SMS, отправьте не более одного запасного сообщения и используйте тот же код, чтобы пользователю не приходилось выбирать из двух.

Источники

  1. WhatsApp Business Platform pricing, Meta for Developers
  2. Authentication templates, WhatsApp Business Platform, Meta for Developers
  3. NIST SP 800-63B-4: Authentication and Authenticator Management
  4. Resource Hijacking: SMS Pumping (T1496.003), MITRE ATT&CK