В процессе модернизации сайта Фонда «Дальше» мы пришли к тому, что стало необходимо распределить информацию о пользователях в разные места и обеспечить защищенное хранение и обработку персональных данных.
Исходя из логики деперсонализации персональных данных нам нужно связать общие данные о пользователя из одной базы, с медицинскими данными из другой базы. В качестве связки используется id пользователя. А так как id пользователя в Битриксе можно получить только в момент регистрации пользователя в системе, нам пришлось разбить процесс регистрации на два этапа. Сначала создается пользователь с id, а затем к этому id прикрепляется медицинская информация из второй базы данных.
Выглядит это так:
При создании форм регистрации, кроме стандартных JavaScript масок для ввода данных email, телефона и даты рождения, мы использовали сервис DaData для ввода страны, области и населенного пункта. Это нам дало не только более удобный процесс регистрации, но и исключило ситуацию когда пользователи некорректно указывали свои географические данные, что в свою очередь делало невозможным сбор статистики о получаемых услугах Центра Вместе по разным регионам.











Олег В.
Подводим итоги года: двухшаговая регистрация у нас работает полгода. Конверсия выросла, но пользователи всё ещё жалуются, что “слишком много полей”. Какой минимальный набор полей на втором шаге можно оставить, чтобы и данные собрать, и людей не отпугнуть? И как в Битриксе быстро протестировать, что будет, если убрать одно поле?
Студия Фонарь
Олег Валентинович, здравствуйте! Поздравляю с успешным внедрением. Минимальный набор на втором шаге: 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?