Статьи

Статьи

Двухэтапная регистрация на Битрикс

Двухэтапная регистрация на Битрикс

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

Исходя из логики деперсонализации персональных данных нам нужно связать общие данные о пользователя из одной базы, с медицинскими данными из другой базы. В качестве связки используется id пользователя. А так как id пользователя в Битриксе можно получить только в момент регистрации пользователя в системе, нам пришлось разбить процесс регистрации на два этапа. Сначала создается пользователь с id, а затем к этому id прикрепляется  медицинская информация из второй базы данных.

Выглядит это так:

  1. пользователь вносит общие данные о себе;
  2. на email указанный при регистрации приходит письмо содержащее ссылку перейдя по которой пользователь подтверждает email и создает свой аккаунт в системе;
  3. после авторизации в системе пользователь видит сообщение о том, что он не может пользоваться услугами сайта и обязан внести оставшиеся данные для окончательной регистрации;
  4. после внесения медицинской информации пользователю приходит сообщение об успешном окончании регистрации и что теперь ему доступны все услуги.
Разработка видеохостинга

При создании форм регистрации, кроме стандартных JavaScript масок для ввода данных email, телефона и даты рождения, мы использовали сервис DaData для ввода страны, области и населенного пункта. Это нам дало не только более удобный процесс регистрации, но и исключило ситуацию когда пользователи некорректно указывали свои географические данные, что в свою очередь делало невозможным сбор статистики о получаемых услугах Центра Вместе по разным регионам.


К списку статей



Комментарии (23)

Олег В.

Подводим итоги года: двухшаговая регистрация у нас работает полгода. Конверсия выросла, но пользователи всё ещё жалуются, что “слишком много полей”. Какой минимальный набор полей на втором шаге можно оставить, чтобы и данные собрать, и людей не отпугнуть? И как в Битриксе быстро протестировать, что будет, если убрать одно поле?

Студия Фонарь
Ответ на комментарий Олег В.

Олег Валентинович, здравствуйте! Поздравляю с успешным внедрением. Минимальный набор на втором шаге: 1) телефон или второй фактор (SMS/мессенджер) — для подтверждения; 2) согласие на обработку — обязательно по 152‑ФЗ; 3) роль/тип аккаунта (если критично для дальнейшей логики). Всё остальное собираем позже. Для теста убираем поле, запускаем A/B на 20–30 % трафика и смотрим конверсию в целевое действие (заказ, активация). В битрикс для A/B достаточно простого флага в настройках компонента и двух шаблонов. Если скажете, какое поле хотите убрать и какую цель считаете ключевой (регистрация, заказ, скачивание прайса), подскажем, как настроить тест и какие метрики смотреть, чтобы принять решение без гаданий.

Алина Д.

Хочется добавить немного юмора на первый шаг: например, заголовок “Почти у цели!” и иконку кота, который машет лапой. Это нормально для корпоративного сайта или будет выглядеть непрофессионально?

Студия Фонарь
Ответ на комментарий Алина Д.

Здравствуйте, Алина! Юмор — дело вкуса, но если он уместен для вашей аудитории, он реально снижает тревожность при регистрации. “Почти у цели” — отличный заголовок, он даёт позитив и ощущение прогресса. Кота можно поставить как лёгкую иллюстрацию рядом с формой, а не в самом тексте. В CMS это просто картинка/SVG в шаблоне: главное, чтобы она не мешала восприятию полей и была доступна (alt, размер). Если скажете стиль вашего сайта (строгий, дружелюбный, молодёжный), подскажем, какой тон и какие визуальные приёмы лучше использовать, чтобы и конверсия росла, и бренд не страдал.

Максим

Сделали двухшаговую регистрацию, но теперь в логах куча ошибок 500 при отправке форм. Подозреваем, что это из‑за доработок в result_modifier.php. Как быстро найти причину и не сломать весь сайт?

Студия Фонарь
Ответ на комментарий Максим

Здравствуйте, Максим! Ошибки 500 — это почти всегда синтаксис или исключение в обработчике. План действий: 1) включите расширенное логирование в .settings.php; 2) посмотрите error.log и логи модулей; 3) временно отключите кастомную логику в result_modifier.php и проверьте, исчезла ли ошибка; 4) проверяйте код по частям, а не всё сразу. В CMS лучше выносить сложную логику в отдельные файлы/агенты, а не держать в шаблонах. Если пришлёте фрагмент кода (без чувствительных данных), подскажем, где вероятна ошибка и как её исправить, не затрагивая ядро.

Станислав Игоревич

Приветсвую. Иногда люди на втором шаге случайно закрывают браузер и потом не могут продолжить с того же места. Можно ли в Битриксе сделать автосохранение черновика регистрации, чтобы при возврате форма была уже заполнена?

Студия Фонарь
Ответ на комментарий Станислав Игоревич

Здравствуйте! Автосохранение — это большой плюс к UX. Реализуем так: при каждом изменении поля AJAX отправляет текущее состояние в инфоблок как “черновик” с привязкой к сессии/cookie. При возврате скрипт проверяет наличие черновика и подтягивает данные в форму. Чтобы не засорять базу, ставим TTL (например, 7 дней) и чистим старые черновики агентом. В битрикс - это отдельный мини‑сервис, который не трогает ядро. Если скажете, какие поля хотите сохранять, покажем пример обработчика и как оформить очистку старых записей.

Никита

Я молодой разработчик, делаю первый проект на Битриксе. Подскажите, пожалуйста, самый простой способ сделать двухэтапную регистрацию без написания своего компонента с нуля. Может, есть какой‑то готовый шаблон или пример, который можно просто скопировать и адаптировать?

Студия Фонарь
Ответ на комментарий Никита

Здравствуйте! Самый простой путь: берём стандартный компонент bitrix:main.register, копируем его в /local/components/, называем, например, local:main.two.step.register, и в result_modifier.php добавляем логику разделения шагов. Шаблоны (template.php) оставляем почти как есть, только убираем лишние поля на первом шаге. Такой подход не ломает обновления ядра и даёт полный контроль. Если скажете, что именно хотите на каждом шаге, дадим заготовку кода и список файлов, которые нужно поменять.

Роман

Хочется на втором шаге показать пользователю короткий ролик (30 секунд) про сервис, и только после просмотра открывать кнопку “Зарегистрироваться”. Это вообще нормально с точки зрения UX, или это будет раздражать?

Студия Фонарь
Ответ на комментарий Роман

Здравстуйте! Тут важно не переусердствовать. Короткий ролик — ок, если он реально помогает принять решение (не реклама, а польза). UX‑практика: показываем ролик как опциональный блок (по кнопке “Посмотреть”), а не как обязательный барьер. Альтернатива: сделать из ролика слайды с текстом, чтобы те, кто не хочет смотреть видео, могли быстро прочитать. В CMS ролик ставим через iframe или тег video с lazy load, чтобы не грузить его, если пользователь не нажмёт. Если скажете цель ролика (онбординг, доверие, демо), подскажем, как лучше его встроить и где поставить кнопку.

Виктор

Хочу на втором шаге добавить поле “Откуда вы о нас узнали” с выпадающим списком. Но боюсь, что это отпугнёт людей. Есть ли какие‑то UX‑правила, сколько полей можно просить на втором шаге, чтобы не убить конверсию?

Студия Фонарь
Ответ на комментарий Виктор

Здравствуйте! Правило простое: на втором шаге только то, без чего нельзя двигаться дальше. Поле “Откуда узнали” — это nice to have, лучше вынести в отдельный опрос после регистрации или в анкету в личном кабинете. Оптимально: 2–3 поля максимум (телефон, роль, согласие). Если нужно больше данных — собираем их позже, когда пользователь уже стал “своим”. Если скажете, какие данные критичны для вашего бизнеса, подскажем, как расставить приоритеты и где безопасно собрать остальное.

Ольга Михайловна

Здравствуйте. Мы хотим на втором шаге просить скан паспорта для верификации. Это вообще законно и как хранить такие файлы в Битриксе безопасно, чтобы потом не было проблем с 152‑ФЗ?

Студия Фонарь
Ответ на комментарий Ольга Михайловна

Ольга Михайловна, здравствуйте! Хранение сканов — это чувствительная зона. По 152‑ФЗ нужно отдельное согласие на обработку биометрических данных, ограниченный доступ и шифрование. В Битриксе файлы храним на диске с правами только для нужных групп, не в публичных папках. Лучше вообще не хранить сканы на сайте: принимаем, проверяем, сохраняем хеш/метку верификации и сразу передаём в защищённое хранилище. Если скажете, для чего нужна верификация (B2B, финтех, маркетплейс), подскажем безопасную архитектуру и какие поля добавить в инфоблок, чтобы было удобно и безопасно.

Ольга Михайловна
Ответ на комментарий Студия Фонарь

Спасибо!

Марина Викторовна

У нас интернет‑магазин, и мы боимся, что двухэтапная регистрация снизит конверсию: люди хотят купить, а не проходить квест. Как понять, что мы не теряем клиентов, и как правильно тестировать такой сценарий на сайте на Битриксе?

Студия Фонарь
Ответ на комментарий Марина Викторовна

Марина Викторовна, здравствуйте! Тестируем через A/B: на 50% трафика — обычная регистрация, на 50% — двухэтапная. В битрикс считаем конверсию в заказ и процент брошенных корзин. Для аналитики ставим цели в Метрике и передаём события через JS. Чтобы не потерять клиентов, на первом шаге оставляем только email, а на втором — сразу форму заказа с автозаполнением. Если скажете, какая у вас воронка (корзина, быстрый заказ), покажем, как настроить A/B и какие метрики смотреть, чтобы принять решение.

Игорь Д.

А можно сделать первый шаг вообще из одной кнопки “Войти через VK/Telegram”? Чтобы человек не вводил ничего, а сразу попадал на второй шаг, где мы уже попросим подтвердить телефон. Это реально в CMS Битрикс или это только в Битрикс24?

Наши клиенты

 

© Студия Фонарь, 2009-2026.
info@fonarstudio.ru