Авторизация звонком для сайтов и приложений

К нам обратилось несколько клиентов, которые заказывали у нас мобильное приложение с примерно одним и тем же вопросом - как бы переделать стандартную авторизацию через СМС так, чтобы при активной раскрутке не тратить много денег на смски. Делюсь нашими наработками в этом вопросе.

Генеральный директор Bright Mobile рассказывает о новом способе авторизации.

Зачем это, вообще, нужно?

Сперва, мне показался такой запрос достаточно странным, клиенты рассчитывали на раскрутку до 100-200 тыс пользователей. Учитывая, какой нужно бюджет на такую рекламу, то затраты в 1,5р на авторизацию каждого пользователя вроде не большие деньги. С другой стороны, 150-300 тыс на дороге тоже не валяются, а учитывая, что за весь LTV человек может авторизоваться несколько раз (стёр куку, удалил и поставил приложение, был авторизован в приложении и решил авторизоваться на сайте) то сумма с 1,5р за пользователя вырастают до 8-10р. А общие затраты вырастают до 800 тыс - 2 млн.р. А это уже совсем не смешные деньги.

Получив такую обратную связь начал изучать кто ещё жалуется на неудобство авторизации СМС. Нашёл две проблемы и обе влияют на конверсию из установки в авторизацию.

Проблема №1. Куда я попал? Она чаще всего присутствует на малоизвестных проектах, которые сразу при входе просят авторизоваться по СМС. Не доверяя проекту пользователю достаточно тяжело расстаться со своим номером телефона - многие боятся, что начнут звонить спамеры.

Проблема №2. Я устал, я ухожу... Сама авторизация по СМС для человека достаточно затратная с точки зрения количества прилагаемых усилий. Все давно уже выучили, что чем меньше кликов, тем выше конверсия. Давайте посчитаем действия, которые должен выполнить пользователь, чтоб авторизоваться по СМС:

Получается, чтобы начать пользоваться сервисом, человек должен правильно выполнить все 6 действий и, при этом, мотивация получить итоговый результат должна быть крайне сильна. Многие владельцы приложений рассказывали, что из установки в регистрацию доходят всего 40% клиентов. Т.е. 3 из 5 человек, поставили приложение и передумали пользоваться, увидев авторизацию по СМС (за привлечение которых, между прочим, заплатили).

Что есть на рынке, кроме СМС

Само собой, что кроме авторизации по СМС есть куча других способов. На сайтах чаще используется регистрация по email и соцсетям, в приложениях - номер телефона и соцсети. Старый подход "придумайте логин и два раза напишите пароль" уже мало где остался и очень похож на регистрацию по email, поэтому будем считать, что это один способ.

Авторизация по соцсетям решает обе проблемы - профиль не так страшно запалить, а действий для авторизации нужно сильно меньше - тыкнуть на соцсеть, подтвердить доступ в приложении, да и всё. Но в этом подходе есть один недостаток. Чаще всего, для владельца приложения, всё-таки, важно иметь номер телефона пользователя, причём, номер подтверждённый. В случае авторизации по соцсетям часто старый номер либо утрачен, либо, вообще, использовался арендованный фейк. Проверить рабочий это номер или нет в рамках авторизации невозможно.

Регистрация / авторизация по email, отчасти, похожа на СМС-авторизацию. Так же нужно дождаться стороннюю службу, подтвердить, а потом ещё помнить логин и пароль, либо восстанавливать доступ. Номера телефона, в этом случае, у нас нет, а холодные письма давно уже воспринимаются, как спам.

Рассмотрев все эти варианты мы пришли к такому идеальному конечному результату, который ждут пользователи:

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

Евгений Малаховский, Ведущий программист RTPlatform

Полученное решение лежало на стыке технологий.

Техническая реализация

В авторизации, как и в случае СМС задействованы 3 звена - телефон клиента, АТС и БД сервера, где хранятся учётные записи пользователей, а usercase будет следующим:

1. Клиент вводит номер телефона

2. Жмёт кнопку "Авторизация"

3. На сервер идёт запрос, что такой-то логин хочет авторизоваться

4. Пользователь звонит на номер сервиса

5. АТС определяет его номер и сбрасывает звонок

6. АТС передаёт в БД сервиса факт звонка

7. БД сравнивает логин изначального запроса и номер, возвращённый АТС и высылает в приложение клиента подтверждение или отказ в авторизации

Схематично это выглядит так:

Получается, что пользователь делает всего три действия:

1. Вводит номер телефона

2. Жмёт кнопку авторизоваться

3. Разрешает вызов на номер сервиса

После этого, звонок сбрасывается и пользователь авторизован. Кроме того, реализовали проверку, когда кто-то может отправить Ваш номер телефона и ждать, когда вы позвоните.

Конкуренты

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

  • Call Password. Авторизация проходит в обратную сторону - сервис тебе звонит, а ты должен запомнить и ввести последние 4 цифры номера и стоит 15 коп за авторизацию
  • Authentication by call. Логика, как у нас, но внедряешь сам через подключение API и на сайте нет публичной тарификации

Я думаю, что логичнее брать деньги просто за установку и передавать владельцу всю инфраструктуру (использовать его базу и АТС). При этом, у владельца будут дополнительные платежи только за АТС (600р./мес за 8-800 и 120р./мес за московский номер). Других трат нет.

Пишите мне в личку или на сайт у кого есть аналогичная задача - собрать номера, но облегчить авторизацию для клиентов.

0
43 комментария
Написать комментарий...
AK

Схема с колл пассворд выглядит лучше. Это гарантировано бесплатно, достаточно привычно (много где так регистрация в публичных вайфай происходит).
В вашей схеме пользователи могут опасаться звонить куда-то - вдруг трубку возьмут, какая будет тарификация? Вдруг мошенники и это платный номер? И т.д.

Ответить
Развернуть ветку
Евгений Малаховский

я думаю 8-800 снимет все возражения о тарификации

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Спасибо, пока вижу решением такой проблемы краткий нотис в форме авторизации - мол позвони на системный номер, трубку сбросят и использование 8-800 для большей уверенности

Ответить
Развернуть ветку
Выпил ли mojo?

Не раскрыта тема, зачем бизнесу номер телефона. Поди, слать такой же холодный спам?

Ответить
Развернуть ветку
Александр Казанский

А почему не реализовать звонок клиенту, приложение видит входящий от вашего номера, сбрасывает звонок и авторезирует пользователя.

Просто логика "пользователь не доверяет оставлять свой номер телефона" никуда не девается и в вашем случае... Я бы так же не хотел звонить куда и кому попало.

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Если я на своём телефоне укажу Ваш номер и система позвонит Вам, то вы либо возьмёте, либо сбросите трубку, а я получу доступ к вашей учётке. Как будет в этом случае осуществляться персонализация?

Со вторым тезисом согласен

Ответить
Развернуть ветку
Александр Казанский

Да не подумал, тогда робот диктует пин

Ответить
Развернуть ветку
Денис Гордиенко
Автор

есть такие сервисы, стоят где-то 50ком за звонок. Учитывая, что используется самая дешёвая телефония, то качество звонка - Г. Приходится слушать по три раза стапливая те же 1,5р. Да и сам способ мне видится более громоздким, чем исходящий вызов без факта общения

Ответить
Развернуть ветку
Александр Казанский

Оставьте исходящий вызов, но рекомендую дать людям выбор. Смс или звонок, это повысит доверие, как мне кажется

Ответить
Развернуть ветку
Александр Казанский

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

Ответить
Развернуть ветку
Влад Борщ

Заставлять пользователя звонить на свой номер полный бред. Используйте https://ucaller.ru

Ответить
Развернуть ветку
Алексей Волков

Как я понял, стоит вопрос - как подтверждать номер клиента и за это как можно меньше заплатить. СМС стоит около 1.50 руб. - 2.00 руб. CallPassword стоит 0,15 руб. это в 10-ть раз дешевле. По логике одно и тоже - пользователь сделал одинаковое действие, указал свой номер. В дальнейшем он передаёт пароль или из смс или из истории звонков.

Когда пользователю надо позвонить, это уже немного другая механика. Дополнительная точка отказа.

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

Решение с входящим звонком CallPassword, мне кажется наиболее удачным с точки зрения механики и цены.

Ответить
Развернуть ветку
SL Potapenko

при > 300 000 смс цена будет около 50 копеек за смс
Зачем бизнесу номер телефона, если звонить и/или слать sms дорого?

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Цена 0,5 при краткосрочном выкупе пакета. Если идёт 5-10 тыс регистраций в мес, то тариф менее демократичный.

Про дорого - это вопрос к тому для чего конкретно дорого. Просто за регистрацию - это дорого, если привлечь клиента на акцию или покупку высоко маржинального товара, то дёшево.

Ответить
Развернуть ветку
AK

А почему пуши не используют для этой задачи? Иногда встречаю, но массово вроде не используются

Ответить
Развернуть ветку
Евгений Малаховский

для подтверждения железки, не нужен Push, это можно сделать без участия пользователя

Ответить
Развернуть ветку
Денис Гордиенко
Автор

пуши не дают подтверждения номера телефона. Я такое встречал у Модуль-банка, когда приложение уже прошло двух-факторную авторизацию, то для подтверждения отправки платежа используют отправку пуша с кодом

Ответить
Развернуть ветку
VVV
Разрешает вызов на номер сервиса

На этом этапе лично я бы ушел. Хотя, скорее всего, ушел бы еще на этапе обнаружения звонков в разрешениях приложения.

Входящее СМС бесплатно всегда. Да, теоретически это может быть подписка какая-нибудь, но это надо прям постараться. А вот звонок...откуда вы знаете какой тариф у пользователя? Может ему этот звонок выйдет платным.

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Звонок сбрасывается до факта соединения. Проще говоря "трубку не берут". Планируем, что 8-800 позволит избежать этот страх.

Ответить
Развернуть ветку
VVV

Это вы знаете, а условный "я" не знаю и могу испугаться. Конкретно я вообще стараюсь не пользоваться приложениями, у которых есть доступ к звонкам или отправке СМС.

Ответить
Развернуть ветку
Евгений Малаховский

с разрешения пользователя само собой, обычная ссылка типа tel:

Ответить
Развернуть ветку
Roman Greshnik

Во-первых "100-200 тысяч пользователей" - это фантазии клиентов. Они будут, видимо, удивлены, когда пользователей будет в лучшем случае 5-10% от их ожиданий.

Второй непонятный момент - откуда ценник в 1.5р? Насколько я помню, ранее в одном из сервисов мне одно смс обходилось в 20-30 копеек

Ответить
Развернуть ветку
Денис Гордиенко
Автор

видимо, это было очень давно.

Ответить
Развернуть ветку
Roman Greshnik

Не очень давно, но я кажется понял в чем дело. У меня была стоимость за большой пакет смс для рассылок, полагаю в этом дело. Однако не думал, что разница в стоимости настолько колоссальная.

Ответить
Развернуть ветку
VVV

Разница будет огромной. При самых начальных объемах стоимость действительно ~1.5 руб. и это достаточно низко :)

Ответить
Развернуть ветку
Денис Гордиенко
Автор

По отдельным операторам доходит до 2,2р

Ответить
Развернуть ветку
Виктория Журавишкина

А вы брали пакет у одного оператора - или у какой-то компании с телефонией?

Ответить
Развернуть ветку
Vikarti Anatra

Входящий звонок клиенту может быть платным, даже если это НЕ роуминг.
Ну и например в моем случае если ваше приложение сможет убедить что надо дать позвонить...я сменю пару настроек и дам это сделать. Номер вы получите. Виртуальный от Тинькова (https://www.tinkoff.ru/mobile-operator/form/olv/virtual/ , который меняется на раз, заставить телефон делать исходящий с него можно, у других операторов аналогичная услуга есть но там входящие сложно подключить).

В реальности - если мне как пользователю покажется что номер тут реально не нужен - вероятно в Play Store улетит жалоба на попытку обхода Call permessions policy (не факт что это пройдет - формального нарушения нет ведь).

Ответить
Развернуть ветку
Максим Звонов

А подтвердить номер, позвонив с сип телефонии и подставив любой caller id, можно же получается

Ответить
Развернуть ветку
Евгений Малаховский

я не нашел работающих методов это сделать

Ответить
Развернуть ветку
Максим Звонов

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

Ответить
Развернуть ветку
Евгений Малаховский

интересно, а можете поделиться недобросовестной компанией?

Ответить
Развернуть ветку
Максим Звонов

Точных названий не знаю, но по моей просьбе для теста товарищ мне звонил с любого мобильного номера.

Ответить
Развернуть ветку
Евгений Малаховский

понимаю что вопрос конфиденциальный, но мне нужно удостовериться, что это реально. Написал вам в ВК.

Ответить
Развернуть ветку
Nikolay Kapustin

Это реально. Нужен рабочий PBX только

Ответить
Развернуть ветку
Максим Звонов

Для выполнения ФЗ при авторизации в публичных сетях wi fi подойдет, но не секьюрно

Ответить
Развернуть ветку
Alex Kurochkin

В чем не_секьюрность? какие угрозы?

Ответить
Развернуть ветку
Максим Звонов

Угроза только в спам ботах, которые могут наплодить аккаунтов в приложении и ты не будешь знать, где живой, а где спам

Ответить
Развернуть ветку
Alex Kurochkin

А как именно они "наплодят"?

Ответить
Развернуть ветку
Максим Звонов

Через сип каналы с динамическим коллером. Я писал под комментарием чьим-то

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Яўген Ціханаў

Не знаю, насколько это распространенная модель в России, но у нас в Беларуси многие пользуются пакетами мобильных услуг, например: у меня есть месячный пакет безлимитного трафика, сколько-то смс и 100500 исходящих на все белорусские сети. Чистых денег на счету — всегда ноль (в этом нет необходимости), поэтому на короткий, зарубежный, любой другой «особенный» номер я просто не смогу позвонить, даже если он бы и сбросил в конце: мой оператор оборвёт звонок в самом начале «из-за недостатка средств».

То же самое — в роуминге. В отличие от входящих смс, которые чаще бесплатны в роуминге, любой вызов (входящий/исходящий) будет отклонён при нуле на счету.

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

Так что это лишь моё мнение, но я не знаю, какого уровня должна быть компания, чтобы я доверил ей исходящий вызов. Microsoft, Apple и Google? — возможно. Facebook? — уже больше сомнений. NoNameStartup? — пфф, до свидания.

Ответить
Развернуть ветку
Олег Михальцов

Решение Нью-Тел лучше. Звонки проходят на любые номера даже иностранные, а стоимость одна и та же. Жирный плюс который делает решение callpassword лучшим.

Ответить
Развернуть ветку
40 комментариев
Раскрывать всегда