Как мы создали единый Личный кабинет покупателя и чему научились (3 часть)

Завершаю рассказ о том, как и почему мы строили — Личный кабинет покупателя (ЛКП) и Корзину. С первой и второй частью можно ознакомиться по ссылкам, а мы переходим к заключительной серии.
От «Помощника» до Корзины и новостроек
Первый релиз ЛКП работал только с нашим расширением для браузера «Нмаркет.ПРО: Помощник». Агент собирал объекты с «Авито» и «Циан», отправлял клиенту постоянную ссылку. Перейдя по ней, клиент мог ставить лайки, а агент это видел. Сразу стало ясно, что единая ссылка решает проблему потерянных объектов.
Затем мы подключили собственную базу вторички и переуступок (категории объектов недвижимости). Так появилась возможность отправить одной ссылкой и объекты с внешних площадок, и квартиры из Нмаркет.ПРО. Плюс добавили в кабинет клиента такой полезный инструмент, как ипотечный калькулятор.
На третьем этапе добавили то, ради чего все затевалось — кнопку «Добавить в корзину». Она появилась в карточках всех типов объектов: новостройки, вторичка, переуступки, коммерция, апартаменты, паркинги, кладовые, машино-места.
Кнопка работает так: агент собирает объекты, нажимает «Отправить» — создается клиент, генерируется ссылка на ЛКП. Все как в Ozon, только вместо товаров — квартиры.
Также добавили:
-
лайки и просмотры для новостроек;
-
быстрые действия из раздела «Клиенты» (бронь, фиксация, запись);
-
подсветку новых объектов для клиента;
-
ипотечный калькулятор внутри презентаций новостроек.

Два падения под нагрузкой
В первые дни после релиза Корзины система дважды упала.
Что произошло:
-
резкий рост одновременных пользователей;
-
всплеск операций отправки Корзин;
-
высокая нагрузка на агрегацию данных (сборка ЛКП из разных источников).
Узкие места были типичными: API, сборка данных для ЛКП, обработка корзины. Мы оперативно провели масштабирование:
-
оптимизировали запросы;
-
добавили кеширование;
-
переработали тяжелые операции;
-
стабилизировали инфраструктуру.
После этого система вышла на стабильную работу даже при высокой активности. Ирония в том, что падения стали признаком того, что продукт действительно нужен.

Блокировщики рекламы вырезали нашу Корзину
Второй проблемой стало то, что пользователи с включенными блокировщиками рекламы (AdBlock и аналоги) не видели кнопку «Добавить в корзину» и сам ЛКП. Блокировщики воспринимали наши элементы как рекламные и просто удаляли их из DOM.
Как решили:
-
переименовали классы и идентификаторы;
-
изменили структуру подключения скриптов;
-
убрали все триггеры, похожие на рекламные (слова типа banner, ad, promo).
Результат: корзина перестала пропадать у пользователей. Теперь этот пункт обязательный в нашем чек-листе тестирования.
Фронтенд и мобильный UX
Фронтенд ЛКП был построен как SPA с компонентной моделью и единым состоянием. Ключевые требования:
-
единый UI для разных типов объектов;
-
высокая скорость отрисовки;
-
адаптив без отдельного приложения, но с мобильной логикой.
На мобильных устройствах мы не просто адаптировали десктоп, а сделали отдельную мобильную логику:
-
быстрые действия (связь с агентом в WhatsApp/Telegram);
-
оптимизация под свайпы и скролл;
-
фиксированная шапка с фильтрами.
Провели A/B-тесты старой и новой версии с фокусом на мобильном UX, скорости взаимодействия и плотности контента. Новая версия показала лучшие результаты.
Система лайков, просмотров и бесшовная синхронизация
Лайки и просмотры фиксируются на бэкенде, агент видит их в реальном времени (без перезагрузки страницы — используем периодический опрос, в планах WebSockets). То есть клиент может лайкнуть объект, и агент сразу получает уведомление (сейчас разрабатываем push/email).
Бесшовная связь между веб-версией и мобильным приложением — это единый бэкенд и единое состояние данных. Что это дает:
-
корзина синхронизирована между платформами;
-
можно начать собирать объекты на вебе, а закончить в приложении;
-
отправка возможна с любого устройства.
Пример: агент добавил объекты в корзину на десктопе, потом открыл мобильное приложение — они уже там, можно отправить клиенту.

Немного о цифрах
Мы замеряли способы отправки контента с сайта. На текущий момент 80% всех отправок объектов клиентам из системы Нмаркет.ПРО происходит через ЛКП и Корзину.
Что особенно важно: до 65% роста — органический, без активного продвижения инструмента. Пользователи сами мигрируют в единый сценарий, а старые способы постепенно выводятся.
Подведем итоги
С помощью новых инструментов мы не просто добавили кнопки, мы пересобрали клиентский опыт в сегменте B2B-недвижимости. Поняли, что ЛКП — это не интерфейс, а единый сценарий сделки, который объединяет разрозненные инструменты и стандартизирует поведение пользователей.
Проблемными местами стали:
-
унификация данных из разных источников;
-
согласование логики между командами;
-
переход пользователей со старых сценариев на новый.

В ближайших планах:
-
система уведомлений (push/email) о лайках и просмотрах для агентов;
-
скрытие параметров в ЛКП (топ-1 запрос от партнеров);
-
полноценная интеграция чатов внутри ЛКП;
-
полная поддержка Корзины в мобильном приложении;
-
окончательное устранение дублирования клиентов.
Спасибо, что дочитали до конца. Оставляйте вопросы в комментариях.
Автор: rieltor_777

