Как мы создали единый Личный кабинет покупателя и чему научились (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 запрос от партнеров);

  • полноценная интеграция чатов внутри ЛКП;

  • полная поддержка Корзины в мобильном приложении;

  • окончательное устранение дублирования клиентов.

Спасибо, что дочитали до конца. Оставляйте вопросы в комментариях.

ссылка на оригинал статьи https://habr.com/ru/articles/1029448/