Практика проектирования первой сессии, часть 1

Я уже писал о том, что первая сессия — это не только первый логин в ваш интерфейс. Это весь путь от промо-сайта до сервиса. В Идеалисте этот путь был, прямо скажу, нифига не простым. Жизнь учит. Хоть и не сразу, мать её.

Про сложные формы, которые нужно засовывать сами знаете куда

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

В общем-то, здесь всё максимально просто. Но у такого подхода есть несколько проблем, которые нужно было как-то решить.

Первая — это проверка телефона. Нам нужно, чтобы человек оставил свой телефон, а не тот, по которому аккаунт-менеджер никогда не дозвонится. Есть три пути решения:

  1. Надеяться на наших пользователей и думать, что они введут правильный номер без проверок.
  2. Подтверждать кодом SMS.
  3. HLR-запросы, которые придумал сам боженька.

Первый вариант я выкинул сразу, посмотрев базу регистраций после того, как мы отключили проверку. Второй пришлось выкинуть, потому что он сильно бьёт по конверсии (оператор может подвести и прислать SMS спустя пару минут). А вот третий нужно подробнее. Обратимся к Википедии:

HLR (англ. Home Location Register) — база данных, которая содержит информацию об абоненте сети GSM-оператора.

Так вот, проверка номера в базе HLR — это, по сути, проверка на доступность абонента. На наш запрос сервис (а их очень много) возвратит ответ, в котором скажет, что абонент сейчас доступен. Или абонент пытается нас наебать и ввёл не свой номер телефона.

Такой запрос не занимает много времени и операторы на нём не факапятся. Когда с этой базой были проблемы у Мегафона, страдали все. Такое случается крайне редко.

Пользователи, которые не желают оставлять свой телефон, обычно оставляют случайный набор цифр, не задумываясь о «реалистичности» номера. Такие номера не провалидируются, а сайт попросит указать свой номер телефона.

Главное для нас — сохранить этот номер телефона и создать сделку в amoCRM.

И всё же

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

Что это даёт? Во-первых, пользователь ещё раз увидит, что Идеалист ему подходит. Во-вторых, мы загрузим в его подписку нужный пресет базы данных и при первом логине не возникнет проблем. В-третьих, нам нужна почта, чтобы отправить данные о подписке.

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

А во второй части будет про то, что пользователь увидит уже в Идеалисте.