GURUGROW — крупный D2C-бренд, специализирующийся на средствах от выпадения волос. Основные каналы продаж — собственный сайт и база из более 170 000 клиентов. Входящий трафик — преимущественно органический и ретаргетинговый, чувствительный к стабильности платформы и точности аналитики.
На старте клиент обратился к нам с запросом на техническую поддержку: предыдущий подрядчик не справлялся с задачами, накопилось большое количество багов, архитектура была не описана, документация отсутствовала. Проект представлял собой неудачно разделённый монолит с двумя самостоятельными кодовыми базами и общей базой данных MySQL.
Такое разделение бизнес-логики между двумя разными технологическими стеками, тесная связь через единую БД и устаревшие компоненты создавали высокую степень сложности поддержки, а отсутствие документации затрудняло развитие и автоматизацию процессов.
СПЕЦИАЛИСТЫ ПРОЕКТА
1 Frontend
|
3 Backend
|
1 PM
|
1 QA
СТЕК ТЕХНОЛОГИЙ
React
Vue
Laravel
Yii2
Задачи
Комплексное развитие всего бизнеса: ускорение, аналитика иновые клиенты
Внедрить сквозную аналитику заказов и акций
Ускорить работу сайта и админки
Расширить каналы продаж
Повысить доверие клиентов
Наша цель — не переписать всё с нуля, а в условиях ограниченного бюджета создать устойчивую среду разработки, в которой можно двигаться итерационно, не ломая то, что уже работает.
Решение
Интеграция иоптимизация через единую аналитику иускорения процессов
Создание единой событийной модели с интеграцией CRM, Google Analytics и Яндекс.Метрики
Оптимизация базы, собственные рекомендации товаров, кэширование
Локализованный сайт с валютой и логистикой для Казахстана
Прозрачные статусы заказов и уведомления
детали проекта
Как мы реализовали проект
Локализация для Казахстана: платежи, цены, доставка
Платформа изначально не поддерживала работу сКазахстаном: цены отображались в рублях, платежи проходили через конвертацию RUB→KZT с потерями на курсе, а расчёт доставки и интеграция с местными службами доставки были некорректными.
Ручное выставление счетов в тенге создавало лишнюю нагрузку на менеджеров, а пользователи видели несоответствующие цены и способы оплаты, что снижало доверие и увеличивало отток клиентов.
Мы реализовали отдельную версию сайта под домен .kz с сохранением архитектуры и функционала, адаптированную под местный рынок:
Отображение цен в тенге и автоматический пересчёт при изменении курса.
Подключение местных способов оплаты (Kaspi, Halyk Bank) с проверкой успешности транзакции.
Расчёт стоимости и сроков доставки казахстанских служб (Boxberry, КазПочта), чтобы пользователь сразу видел точную информацию.
Синхронизация с 1С: остатки и заказы из основной базы корректно отражались в казахстанской версии, исключая дубли и ошибки при импорте.
Клиенты видят корректные цены в тенге, могут оплачивать удобными местными методами, а доставка рассчитывается автоматически. Ручное вмешательство менеджеров стало минимальным, что повысило точность учёта и доверие пользователей.
Индексация поисковиками и дополнительная информация для пользователя
Теги формируются как отдельные странцы, индексируемые поисковыми системами.
Благодаря этому пользователь получает дополнительную структуру, удобную для навигации, а внешний трафик по низкочастотным запросам попадает сразу на релевантную категорию
Возможность задать вопрос специалисту, если клиенту нужно уточнение перед покупкой
Такой подход формирует доверие и сокращает путь от интереса к покупке: клиент получает ответы на свои вопросы сразу, не покидая сайт. А бренд воспринимается не просто как торговая площадка, а как надёжный источник информации и рекомендаций в теме здоровья.
Отказ от Retail Rocket: кастомные рекомендации вместо «черного ящика»
Retail Rocket предоставлял нерелевантные рекомендации, которые не учитывали специфику медицинской тематики. Например, при покупке миноксидила система часто предлагала шампунь, не связанный с нуждами пользователя. Внешние скрипты значительно замедляли загрузку страниц, ухудшая пользовательский опыт.
Стоимость подписки на Retail Rocket была сопоставима сзарплатой дополнительного маркетолога, что снижало экономическую эффективность решения. Использование чужих алгоритмов без возможности тонкой настройки привело к снижению конверсии и ухудшению восприятия бренда. Зависимость от дорогостоящего внешнего сервиса ограничивала гибкость маркетинга и увеличивала операционные расходы.
Мы разработали собственный алгоритм рекомендаций, который строится на анализе пользовательских действий с учётом специфики товара:
Фиксируем ключевые действия пользователей: просмотр товара, добавление в корзину, оформление заказа.
Каждому действию присваивается вес с учётом его значимости — просмотр имел наименьший вес, оформление заказа — максимальный.
Дополнительно вес корректируется в зависимости оттого, совершил ли действие текущий пользователь (увеличенный вес) или другие пользователи (сниженный)
Система собирает и агрегирует данные о действиях в течение двух недель, после чего формирует подборки товаров для показа.
Для минимизации нагрузки на сервер и обеспечения отказоустойчивости данные обрабатываются в фоновом режиме через очередь задач.
Кэширование рекомендаций реализовано на уровне CDN, что снижает количество обращений к базе данных и ускоряет выдачу персонализированного контента.
Блок «С этим покупают» теперь релевантен для узкой ниши, учитывая специфику спроса и поведения пользователей. После внедрения собственного алгоритма 5% пользователей, добавивших миноксидил в корзину, приобретали рекомендованные сопутствующие товары, что повысило средний чек и удовлетворённость покупателей.
Сохранение корзины: борьба с«разрывом» между оплатой исайтом
Ранее при сбое оплаты, например если клиент закрывал страницу банка, корзина полностью очищалась. Пользователь, возвращаясь на сайт, видел пустую корзину и часто не завершал заказ.
Стандартные механизмы не решали проблему: сессионные корзины существовали только до закрытия браузера, а корзины в аккаунте — лишь для авторизованных пользователей, которых было меньше 40%.
Восстановление корзины после перезахода в аккаунт
Мы реализовали сквозной механизм сохранения корзины на основе уникального идентификатора, который присваивается каждому пользователю сразу припервом взаимодействии с сайтом.
Все действия пользователя — добавление товаров, промоакции, изменения количества — фиксировались поэтому идентификатору и сохранялись в LocalStorage ссинхронизацией через сервер, что обеспечивало сохранение корзины между устройствами исессиями.
При авторизации или вводе email идентификатор связывался с аккаунтом, обеспечивая целостность данных и корректное восстановление корзины независимо от способа входа.
При повторном визите корзина автоматически восстанавливалась, сопровождаясь уведомлением: «Ваш заказ ждет вас!», что позволило пользователю продолжить оформление без потерь.
Это позволило сохранить собранные товары и значительно снизить потери заказов из-за технических сбоев.
Особенно важно для сложных наборов (например, «курс на 3 месяца»), которые пользователи могут собирать несколько дней.
Автоматизация акций: убрали ручное управление скидками
Маркетинг запускал акции «1+1», «Скидка 20%», но:
Менеджеры вручную меняли цены в админке, иногда забывая вернуть старую стоимость после окончания акции.
Бейджи «Акция» приходилось добавлять вручную ккаждому товару.
Чтобы устранить эти сложности, мы реализовали инструмент массового импорта акционных цен спривязкой к периоду действия и настроили автоматическое добавление бейджей на основе расписания акций, что исключало ручное вмешательство.
Маркетинг теперь самостоятельно управляет акциями без риска «сломать» базовые цены. Это ускорило запуск промо-кампаний — например, «Черная пятница» была подготовлена за 1 день вместо 3.
Существующая реферальная система была интегрирована в платформу, но пользователи не могли получать бонусы при переходе по ссылке и выводить ихвличном кабинете, из-за чего вовлечённость впрограмму оставалась низкой.
Мы полностью переработали архитектуру и логику работы:
Принцип работы системы изменён: реферал теперь получает не скидку, а накопительные баллы
Баллы можно использовать для оплаты следующих заказов или вывести на банковскую карту — что психологически воспринимается гораздо ценнее, чем стандартная скидка.
Реферальная программа реализована как собственное решение внутри платформы, без зависимости от внешних сервисов, что обеспечило гибкость управления и контроль над процессом.
Переработанная реферальная система повысила вовлечённость существующих клиентов, стимулируя их к активному привлечению новых покупателей через личные рекомендации.
Это помогло снизить стоимость привлечения клиентов, увеличить число повторных заказов и создать устойчивый виральный эффект, что особенно важно в нише с низкой частотой покупок.
Статусы заказов: прозрачность вместо звонков в поддержку
Значительная часть обращений в поддержку — вопросы «Где мой заказ?». Менеджеры тратили время на ручные проверки и ответы.
Статусы в CRM не синхронизировались с сайтом. Клиент видел только «Оплачен», даже если заказ уже был в пункте выдачи.
Интеграция обновления статусов была реализована через API RetailCRM, которая управляет заказами и доставкой, сдополнением прямых интеграций со службами доставки (СДЭК, Почта России) для автоматического получения актуальных данных.
Статусы автоматически обновляются в RetailCRM ипередаются на сайт.
Клиенты получают уведомления в личном кабинете и SMS при критичных изменениях (например, «Посылка задерживается»).
Количество «тревожных» обращений в поддержку заметно сократилось.
Появление статуса «Посылка в вашем городе» уменьшило поток звонков с вопросом «Когда придет заказ?», что повысило эффективность работы службы поддержки и улучшило клиентский опыт.
Сквозная аналитика: из «слепого» управления к данным
Ранее аналитика не фиксировала ключевые события и не связывала данные между собой. Из-за этого было невозможно видеть:
На каких этапах оформления заказа пользователи чаще всего уходят
Без этих данных доработки UX делались на догадках, а маркетинг не мог корректно оценивать эффективность кампаний. Мы создали единую событийную модель, описав цепочку действий пользователя от первого визита до оплаты и фиксируя все этапы оформления заказа.
Пример отображения карты скролла на главной странице
Интеграция с Google Analytics и Яндекс. Метрикой позволила учитывать нестандартные события, такие как активация промоакций, использование подарков и переходы по реферальным ссылкам.
Данные CRM были связаны с веб-аналитикой через идентификаторы заказов и клиентов, что позволило отслеживать каналы, приводящие к дублям, и выявлять узкие места. Критичные ошибки оформления заказа автоматически логировались и попадали в отчёты без участия разработчиков.
Теперь можно точно измерять конверсию по каждому этапу и каналу, сравнивать эффективность акций и находить узкие места в воронке.
Маркетинг получил возможность быстро проверять гипотезы, а UX-доработки стали основаны на данных, а не на догадках.
Оптимизировали производительность: стабильно быстро, даже для самых «тяжёлых» данных
Платформа регулярно тормозила по нескольким причинам:
Дубли товаров в базе данных из-за некорректного импорта из 1С
Огромные кеш-файлы PHP (200+ МБ), которые админка не могла обработать
Для ускорения работы добавили CDN-кэширование статики и API-ответов, а также внедрили множество улучшений
Мы переписали скрипт импорта из 1С с проверкой уникальности по SKU и внедрили регулярную фоновую дедупликацию данных с логированием удалённых записей.
Кеширование админки переработали: теперь оно хранится в компактных структурах через Redis, что исключило гигантские PHP-файлы. Критичные SQL-запросы оптимизировали, а тяжёлые сторонние скрипты, включая аналитику, вынесли в асинхронную загрузку, чтобы не блокировать рендеринг страниц.
Скорость загрузки страниц на мобильных устройствах увеличилась в среднем на 35−40%, админка перестала «падать» при работе с большими объёмами данных, а бизнес-процессы внутри компании перестали срываться из-за технических ограничений.
Итоги проекта
Стабильность и высокая производительность
Оптимизация базы данных, отказ от тяжёлых блокирующих скриптов и переработка кеширования устранили системные сбои и ускорили работу сайта и админки.
Платформа стала предсказуемой в пиковые моменты трафика, что особенно важно для органического и ретаргетингового потока.
Управляемый маркетинг на основе данных
Внедрение сквозной аналитики дало маркетингу и продуктовой команде прозрачную картину: где пользователи теряются в воронке, как работают акции и какие каналы приносят реальные заказы.
Решения теперь принимаются на основе фактов, а не предположений.
Масштабирование без усложнения процессов
Локализация под Казахстан, автоматизация акций, переработка рекомендаций и реферальной программы расширили каналы продаж и повысили конверсию без увеличения штата поддержки и маркетинга.
За времяпроекта была проделана масштабная работа по стабилизации и оптимизации платформы GURUGROW. На старте команда сосредоточилась на устранении критических багов, упрощении поддержки и ликвидации узких мест, которые мешали развитию бизнеса.
Сегодня мы уже работаем не только над исправлением ошибок, но и над внедрением новых функциональных возможностей, которые позволяют компании быстрее реагировать на запросы рынка и масштабироваться.