Ко мне регулярно приходят с запросом заказать личный кабинет для клиентов на сайт - обычно после того, как менеджеры устают вручную высылать статусы заказов, а клиенты пишут в директ «где мой заказ» и «пришлите счёт ещё раз». Личный кабинет закрывает эту рутину: клиент сам видит историю заказов, статус доставки, документы и может повторно оплатить заказ в пару кликов. Расскажу, как я проектирую такие кабинеты на практике - от простого блока на Tilda до SPA с ролями и API - и сколько это стоит по деньгам и срокам.
Зачем клиентам личный кабинет и когда он реально нужен
Личный кабинет оправдан не всегда. Если у вас 20-30 заказов в месяц, дешевле настроить нормальные email- и Telegram-уведомления о статусе заказа - это займёт пару дней работы и обойдётся в разы дешевле полноценного кабинета. Кабинет начинает окупаться, когда клиент возвращается регулярно и ему есть что смотреть: историю покупок, документы, персональные условия.
На практике чаще всего заказывают кабинет для четырёх сценариев:
- интернет-магазин с повторными продажами - история заказов, статус доставки, повторный заказ в один клик;
- b2b-продажи с индивидуальными ценами и отсрочкой платежа - прайс под конкретного клиента, счета, акты;
- онлайн-школы и курсы - доступ к урокам, прогресс, сертификаты;
- сервисные компании с записью на услуги - история визитов, документы, статус заявки.
Если ваш случай не попадает ни в один пункт - скорее всего, кабинет вам пока не нужен, и стоит начать с уведомлений и простой формы обратной связи.
Из чего состоит личный кабинет клиента: базовый и расширенный функционал
Базовый набор, с которым имеет смысл стартовать почти в любом проекте:
- регистрация и авторизация - email/телефон, СМС-код или соцсети;
- профиль с контактными данными и реквизитами для юрлиц;
- история заказов или заявок со статусами;
- уведомления о смене статуса - на почту, в Telegram или push.
Расширенный функционал добавляю по факту запроса клиента, когда бизнес-процесс уже понятен:
- загрузка и хранение документов - договоры, акты, сертификаты;
- тикеты в поддержку прямо из кабинета вместо переписки в мессенджерах;
- персональные цены и скидочные уровни для b2b;
- реферальная программа с отслеживанием начислений;
- повторная оплата сохранённой картой через эквайринг.
Важный момент: не пытайтесь на старте закладывать весь список сразу. Я обычно советую делить разработку на MVP с базовым функционалом и второй этап через 1-2 месяца эксплуатации, когда становится видно, чем клиенты реально пользуются, а что осталось нетронутым разделом в меню.
На какой платформе разрабатывать личный кабинет: Tilda, WordPress или кастом
Выбор платформы - это выбор потолка возможностей, а не только цены запуска. Сравнение по опыту моих проектов:
| Платформа | Когда подходит | Срок запуска | Ограничения |
|---|---|---|---|
| Tilda + кастомный скрипт | Простой кабинет: статус заказа, история, профиль | 1-2 недели | Нет полноценной ролевой модели, сложно масштабировать логику |
| WordPress / WooCommerce | Интернет-магазин с личным кабинетом «из коробки» плюс доработки | 2-4 недели | Производительность и безопасность зависят от плагинов |
| Кастомный SPA (React/Vue + API) | B2b-портал, SaaS, сложная логика ролей и интеграций | от 4-6 недель | Дороже старта, но нет потолка по функционалу |
На Tilda я обычно поднимаю кабинет через связку Tilda Members и собственный бэкенд на Node или Laravel, который отдаёт данные заказов по API - сама Tilda для хранения статусов и документов не годится. Похожие задачи - синхронизация статуса заказа с СДЭК, привязка оплаты через T‑Bank к конкретному пользователю - у меня уже отработаны, часть таких решений я собрал в библиотеке готовых скриптов для Tilda, можно посмотреть, что уже реализовано, прежде чем заказывать с нуля.
WooCommerce хорош, когда каталог и заказы уже там - тогда кабинет клиента расширяется через существующие хуки без переписывания логики магазина. Кастомный SPA беру, когда речь о b2b-портале с разными ролями (менеджер, бухгалтер, директор компании-клиента) или когда планируется рост функционала на годы вперёд.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Архитектура и интеграции: авторизация, оплата, CRM, доставка
Авторизацию делаю через JWT-токен с коротким временем жизни и refresh-токеном в httpOnly cookie - так меньше риска увести сессию через XSS. Для b2b добавляю роли на уровне API: менеджер клиента видит все заказы компании, обычный сотрудник - только свои.
Пример проверки токена в middleware перед отдачей данных из личного кабинета:
function requireAuth(req, res, next) {
const token = req.cookies.access_token;
if (!token) return res.status(401).json({ error: 'Не авторизован' });
try {
req.user = jwt.verify(token, process.env.JWT_SECRET);
next();
} catch {
res.status(401).json({ error: 'Токен истёк' });
}
}
app.get('/api/cabinet/orders', requireAuth, async (req, res) => {
const orders = await Order.findByClientId(req.user.id);
res.json(orders);
});
Оплату завязываю на T‑Bank эквайринг: при успешном платеже банк шлёт webhook на бэкенд, тот меняет статус заказа и обновляет данные в кабинете без участия менеджера. Со статусами доставки похожая схема - либо webhook от СДЭК, либо, если API у перевозчика не отдаёт события, опрос статуса по расписанию через n8n раз в 2-4 часа с записью изменений в базу.
CRM подключаю через штатные вебхуки Bitrix24 или amoCRM - карточка сделки в CRM остаётся источником правды для менеджеров, а личный кабинет просто синхронизируется с ней в одну сторону. Дублировать логику CRM внутри кабинета не стоит - это удваивает работу и рано или поздно рассинхронизирует данные.
Сколько стоит и сколько времени занимает разработка личного кабинета
Цены сильно зависят от платформы и набора интеграций. Ориентируюсь на такие цифры по своим проектам:
| Задача | Цена | Срок |
|---|---|---|
| Кастомный скрипт для Tilda (личный кабинет из готового блока) | от 3 000 ₽ | 1-3 дня |
| Комплексная интеграция для Tilda (CRM + эквайринг + СДЭК) | от 40 000 ₽ | 2-3 недели |
| Сайт на WordPress с кабинетом клиента | от 60 000 ₽ | 3-4 недели |
| Интернет-магазин под ключ с кабинетом | от 80 000 ₽ | 4-6 недель |
| CRM/админ-панель или b2b-портал на React | от 100 000 ₽ | от 6 недель |
| Веб-сервис/SaaS с личным кабинетом и API | от 300 000 ₽ | от 8 недель |
Для сравнения: в студиях за b2b-портал с личным кабинетом и CRM-интеграцией на рынке просят от 200 000 до 500 000 ₽, а сроки закладывают от трёх месяцев - это не мои цены, а общий рыночный ориентир, который стоит держать в голове при выборе подрядчика.
Отдельно закладывайте бюджет на техподдержку после запуска - у меня это от 15 000 ₽ в месяц, включает мониторинг ошибок, обновление зависимостей и мелкие правки. Без этого личный кабинет через полгода-год начинает сыпать ошибками из-за устаревших библиотек и смены API у платёжных систем или СДЭК.
Частые ошибки при заказе личного кабинета
- Сразу заказывают максимальный функционал. Кабинет с десятком разделов, половина из которых пустует после запуска - деньги, потраченные на неподтверждённые гипотезы. Начинайте с MVP и смотрите аналитику по использованию разделов.
- Хранят данные карт самостоятельно. Номера карт и CVC должны обрабатываться только на стороне платёжного провайдера - T‑Bank, ЮKassa и подобных. Хранение платёжных данных на своём сервере без сертификации PCI DSS - прямое нарушение требований платёжных систем.
- Не продумывают роли для b2b. Если кабинетом пользуется несколько сотрудников компании-клиента, без ролевой модели рано или поздно кто-то увидит чужие счета или отменит чужой заказ.
- Забывают про мобильную версию. У части моих клиентов больше половины входов в кабинет - с телефона, особенно если это b2c-сегмент с доставкой.
- Не закладывают бюджет на поддержку. Кабинет с интеграциями - живая система: у СДЭК меняется API, у платёжного провайдера - формат webhook. Без сопровождения интеграции постепенно ломаются.
Когда нужен не сайт, а сервис
SaaS / SPA
от 300 000 ₽
Подробнее →Частые вопросы
Сколько времени занимает разработка личного кабинета для сайта?
Простой кабинет поверх готового блока Tilda делаю за 1-3 дня, если нужна только доработка авторизации и вывода статуса заказа. Комплексный кабинет с интеграцией CRM, эквайринга и доставки - от 2 до 4 недель. Кастомный SPA с ролями и собственным API занимает от 6 до 10 недель в зависимости от количества разделов и интеграций.
Можно ли сделать личный кабинет на Tilda без перехода на кастомную платформу?
Можно, и это рабочий вариант для интернет-магазинов и сервисов без сложной ролевой модели. Tilda Members закрывает базовую авторизацию, а данные заказов, статусы и документы отдаёт отдельный бэкенд через API, который встраивается в блок кода на странице. Ограничение - сложную логику с несколькими ролями пользователей и глубокой аналитикой на такой связке реализовать неудобно, для этого лучше подходит кастомная платформа.
Нужна ли отдельная база данных для личного кабинета или хватит CRM?
Если объём заказов небольшой и нет требований к скорости отдачи данных, кабинет можно подключить напрямую к API CRM. Но при росте нагрузки или необходимости хранить специфичные для кабинета данные - документы, персональные настройки, историю обращений в поддержку - отдельная база с односторонней синхронизацией из CRM работает надёжнее и не создаёт лишней нагрузки на саму CRM-систему.
Как обеспечить безопасность личного кабинета с платежами и документами?
Данные карт всегда передавайте через виджет платёжного провайдера, не через свою форму - тогда номер карты вообще не попадает на ваш сервер. Токены авторизации храните в httpOnly cookie, а не в localStorage, чтобы их нельзя было украсть через XSS. Документы и персональные данные клиентов шифруйте на уровне хранения и разграничивайте доступ по ролям, а логи доступа к чувствительным разделам кабинета сохраняйте отдельно для разбора инцидентов.