Клиенты часто приходят к нам с разными запросами по реализации программ лояльности, логике работы скидок и наличия акционных предложений внутри сайта. Очень хорошо, когда человек знает свою аудиторию, не первый день продает в интернете и в целом знаком с механиками, что называется на практике. Но что делать, если бизнес только вышел в интернет, идей много, почву прощупать нужно? Да еще и аппетит приходит во время еды. Добавьте сюда стремление автоматизировать как можно больше аспектов работы интернет ресурса. Да и ковыряться в том, что есть, меняя уже устоявшиеся правила работы, для того, чтобы сайт работал - хочется далеко не всем.
С таким кейсом, проблемами реализации и подводными камнями, я сегодня вас познакомлю.
Как всегда это происходит в нашей компании, при разработке сайта с нуля, начали с проектирования будущего интернет-магазина и написания технического задания. Когда речь зашла о системе скидок, единственным пожеланием клиента было разделение пользователей. Достаточно просто спрашивать при регистрации “Вы чьих будете?” и определять пользователя в нужную группу. А исходя из группы, показывать нужные цены.
При регистрации клиенты делятся на две группы: “физические” и “юридические” лица.)
Уже на этом этапе возникли трудности.
Первая, у клиента старая версия 1С, которая не имеет интеграции с Битрикс в стандартном виде. Переходить на новые версии - значит обучать заново персонал, к чему персонал не готов и настроен крайне отрицательно. Пытаться интегрировать - дорого.
Вторая, в 1С в принципе заведена только одна цена - розничная. Разделять и дописывать еще 2 типа с повышающими коэффициентами - долго.
В итоге получаем разные цены для разных групп пользователей, каталог их показывает, в корзине всё считается, оформляет заказ корректно.
Для реализации всяческих акций, после обсуждения, было принято решение использовать правила работы с корзиной и предустановленный список маркетинговых акций. Штатный функционал битрикса покрывает достаточно широкий спектр потребностей. По крайней мере, для MVP (минимальной жизнеспособной версии проекта) этого вполне достаточно.
Подписывайтесь на наш телеграм-канал для директоров по маркетингу, где делимся полезными кейсами, разбираем аналитические отчеты и даем полезные материалы.
Клиентоориентированность - наше всё. И тут не важно, большой у вас бизнес или маленький. Любому человеку приятно чувствовать, что его помнят, его проблемы решают и работают с ним, как будто он единственный покупатель вашего магазина. У каждого магазина есть свои постоянные покупатели, с которыми партнерские отношения хочется продолжать и хочется быть к ним лояльнее.
А чем можно продемонстрировать свою лояльность? Конечно же персональными скидками! Помните, выше мы говорили о том, что завели два типа цен для групп пользователей? А получится ли сделать по той же схеме? Давайте сперва разберемся с понятиями.
Персональные цены можно настроить для любого товара, для любого зарегистрированного пользователя. На сайте или в 1С указывается конечная цена товара для конкретного клиента.
Нам нужно именно демонстрировать скидку. Поэтому вариант с ценами не подходит. Да и нет у нас их нигде, в 1С только базовая, которую мы потом пересчитываем и раскидываем по двум группам.
Напрашивается вариант решения, который используют многие вендоры. Создаем несколько групп пользователей с процентом скидки. Например:
Увеличиваем количество групп в 2 раза, просто потому что у нас уже есть деление на юридических лиц и физических и вроде должно работать. Но… не было бы этого кейса, если бы всё было так гладко.
Вдруг откуда ни возьмись… Появились новые идеи!
Значит разберем по очереди.
Компания “Ноунейм и партнеры” часто покупает товары бренда “А”, за это мы его и любим. Поэтому Ноунейм получает 30% скидки на бренд “А”. Но его партнеры еще чаще, но в меньших объемах просят заказать что-то еще, чем несомненно помогают нашему магазину. Поэтому нужно раскидать “на что-то еще” еще скидочек.
…И таких “Ноунеймов с партнерами” в нашем примере были сотни.
В целом задача ясна, но стандартными методами ее не решить. Начинаем декомпозировать. Было бы начало, будет и конец.
Скидки должны где-то храниться. Будь то инфоблок, хайлоад блок или даже кастомизировать правила работы с корзиной.
Читайте также нашу статью Как мы внедрили crm маркетинг и цепочку лид-магнитов через чат-ботов для увеличения продаж
Двигаемся дальше. Что там с правилами корзины? Отлично, функционал есть, он даже удовлетворяет нашим хотелкам, касаемо логики предоставления скидки. Скидка должна предоставляться конкретному пользователю из группы “юридические лица” и предоставляться на определенные бренды. Проблема, которую данный метод решить не может - отображение скидки в общем каталоге.
В таком виде персональные скидки не работают в общем каталоге, а это обязательное условие, пересчет только в корзине - не наш вариант, клиент должен сразу видеть сколько он заплатит за каждый товар. Так же невозможно выполнять сортировку и фильтрацию, поскольку цены считаются для каждого клиента на лету. А отключать кеширование и ждать загрузки страницы десятки секунд, просто смерти подобно, ваш сайт никогда не проиндексируется должным образом, а соответственно все деньги, вложенные в разработку - просто так потраченные деньги.
Вариант с инфоблоком откинули сразу, ибо для наших целей упрощенные таблицы highload блока подходят лучше. Снова лезем в 1С для того, чтобы организовать выгрузку. Что нам нужно?
Выгружаем. Помните я говорил, что условий много?
Дело за малым…
Валера! Front-end! Настало твое время!
Чтобы бы не отключать кеширование компонента, выбираем вариант откладывать показ цен (или выводим общую, без скидки). То есть в начале выводим цены без скидки, а после загрузки страницы запрашиваем js-ом новые цены по нашим условиям и выводим уже их (либо по отдельности по товару, либо собираем все ID товаров в блоке, и выполняем запрос, если есть ТП). И кроме отдельного запроса JS, после загрузки страницы, запрашиваем/подменяем цену в component_epilog.php - а далее заменяем в сгенерированном шаблоне.
И да, это работает! Наверное, вы немного устали, но дальше будет проще, обещаю.
Самое сложное мы прошли, пытаясь выстроить работы скидок для юридических лиц и не убить индексацию. Тут действительно всё намного проще:
Разработчики Битрикса позаботились о пользователях и сделали функционал предустановленных маркетинговых акций! Настраивается все в дружественном интерфейсе, просто и понятно. Назначается группа пользователей для которых программа должна работать, можно пользоваться, этап пройден!
На текущий момент сайт запущен, работает в тестовом режиме - lamps.ru.