[spoiler]
Автоматическая подстановка города по умолчанию
Первый мой кейс будет полезен как небольшим региональным проектам, таким как в моем примере, проект работает по Калининградской области, но львиная доля его заказчиков это жители Калининграда, так и крупным проектам.
В новой платформе первым элементом который важен при дальнейшем оформление заказа это регион доставки. И хотелось бы использовать автоматическую подстановку «Калининграда» для увеличения конверсии и уменьшении проблем с оформлением заказов.
Вот так это выглядит при первом входе сейчас:
Клиенты, конечно, могут щелкнуть по кнопке «Калининград» и произойдет заполнение, но многие клиенты, понимая что проект локальный, просто пропускают этот шаг, получая ошибку:
Данную проблему выявил «Вебвизор Метрики», конечно далее клиент заполняет все правильно, но это создает излишнее раздражение, тем более еще одним из критериев является самовывоз (80% заказов работают с ним), а для него не особо требуется правильный город.
Давайте проставим город по умолчанию и посмотрим сработает ли подстановка, идем в административный раздел магазина в настройки свойств:
И настраиваем местоположение по умолчанию:
А теперь переходим к оформлению заказа для проверки:
Отлично, местоположение заполнено и клиенту достаточно нажать «Далее».
Если требуется, можно изменить автоматическую подстановку на другой город.
Главное, заказ будет оформлен с минимальными неудобствами для клиента и мы максимально увеличим конверсию.
Для крупных магазинов можно аналогично собрать статистику и проставить города с быстрыми местоположениями, как на скриншоте, это: «Калининград», «Зеленоградск», «Светлогорск».
Можно установить самый популярный город по умолчанию, всегда проще изменить город или уточнить по звонку, чем потерять клиента.
Дополнительные ограничения в оплатах
Следующим шагом в оформление заказа у меня стоит блок с оплатой. Для оплат, ограничение которое хочется привнести, это ограничение по расчету наличными во время доставок курьером. Курьеры на проекте девочки, поэтому не хочется рисковать их здоровьем при больших суммах.
Введем ограничение с привязкой к определенным службам доставки и максимальной сумме чека.
Для этого идем в административный интерфейс на вкладку «Ограничения», для конкретного способа оплаты:
В данном случае нужно будет сделать две системы оплаты наличными, в одной, я ограничу использование для точки самовывоза, но там нет ограничений по цене, вторая, будет ограничиваться курьерскими службами и мы сделаем ограничение по сумме.
Установим ограничение по цене:
И ограничения по нужным доставкам:
В итоге у нас получается следующее:
Идем проверять оформление заказа с товарами на сумму менее 10 000 рублей и доставкой курьером:
Все отлично, требуемая оплата есть, заказ можно оформить.
Проверим с товаром более 10 000 рублей:
Отлично, наличная оплата отсутствует и можно оформить заказ с оплатой другими способами и не рисковать курьерами и большими суммами при доставке.
Удобно и клиентам, они не видят такого способа оплаты, соответственно не могут оформить заказ таким способом и не будут ругаться с операторами которым придется объяснять почему я заказ оформил, а теперь вы не хотите к нам ехать.
Дополнительные услуги в доставках
Нас часто просили дать возможность создавать требуемые услуги в доставках, и в новой платформе это стало возможным. Я сам на проектах не раз хотел добавить некий набор услуг для доставок, который можно было допродавать, тем самым увеличивая средний чек заказа.
Идем в настройки доставок:
В интерфейсе появилась отдельная вкладка с дополнительными услугами, которые будут отображаться в блоке доставок.
Услуги поддерживаются трех видов:
- Список услуг – формируется одна услуга в виде списка, клиент может выбрать один элемент из сформированного списка. По умолчанию выбирается первая из услуг списка, поэтому если вам не требуется увеличения цены вам необходимо первую услугу сделать с ценой «ноль»
- Количественная услуга – создается услуга с ценой за единицу, а клиент может указать сколько требуется данной услуги.
- Единичная услуга – самостоятельная услуга, отображается как чек-бокс, по умолчанию не применяется и клиент должен сам выбрать нужную.
Разберем настройку таких правил:
Настройки для всех типов услуг очень похожи, есть два блока которые и управляют основными элементами. Требуется задать название и описание услуги.
Установить кто может использовать данную услугу:
- Менеджер – услуга будет отображаться в административном интерфейсе
- Клиент – услуга будет отображаться во время оформления заказа в публичной части сайта.
Услуги открывают огромное поле возможностей по увеличению среднего чека заказа.
Динамический «Ввод личных данных»
Доставки оформлены и мы переходим к одному из важнейших элементов в оформление заказа, - запросу у пользователя данных для доставки или отпуска заказа.
В предыдущем компоненте у клиента запрашивался одинаковый набор полей, не важно какой тип доставки он выбирал, что было несколько избыточным для определенных видов доставки.
Новый компонент оформления заказа умеет запрашивать только требуемый набор полей для определенного типа, например доставок. Самый частый кейс, уменьшить количество информации требуемой для доставки «Самовывозом».
Сейчас, я попробую с вами это настроить. Какие поля нам потребуются, я считаю мне будет достаточно знать от клиента:
- ФИО
- Телефон
- E-mail – теоретически он не нужен и от него можно тоже отказаться J но хочется баловать клиента рассылками о новинках.
Привязываем только те «Службы доставки» у которых данное поле будет отображаться.
Идем в публичный раздел и пробуем оформить заказ, выбираем самовывоз, и видим, что магазин не спрашивает у нас адрес доставки.
Очень ожидаемый функционал от продукта. Очень неприятно отвечать на вопросы клиентов: «А зачем вам мой адрес, если я собираюсь забрать заказ самостоятельно?». Теперь этого делать не требуется.
Пункт выдачи заказа
Напоследок хочется рассказать об изменениях блока выбора «Пунктов выдачи заказа»
Самыми важными просьбами и идеями прошлого компонента были проблемы с отображением большого количества точек самовывоза, мелкая карта, не выбирался автоматически пункт самовывоза, если он был один, например.
В новом компоненте появилась настройка как отображать пункт выдачи заказов, когда он у магазина один в каком либо городе, мы показываем сразу свернутый блок и выводим все его данные с картинкой или показываем блок развернутым. Для отображения карты в первом случае, вам нужно будет войти в блок, во втором карта будет отображена сразу.
Мне понравился первый вариант и я поставил вот в таком виде:
Если мы отображаем блок развернутым, то клиент увидит следующую картину:
В завершение описания работы компонента, которую можно провести без вмешательства со стороны разработки. Хотелось бы сказать: «Спасибо всем, кому полезен этот текст!» Мы с удовольствием ответим на все ваши вопросы в комментариях к данной статье.
.
Чтобы было две разные службы доставки: ПВЗ и Постаматы.
И чтобы постаматы могли также отображаться списком и на карте. Это реально сделать без программного вмешательства ?
Если вы про пикпоинт и их дефолтный модуль...то никак, только кодить
Нужно не скрывать, а делать неактивным способ оплаты с пояснением, что этот способ оплаты не применим в этом варианте доставки. Вот так
Но всё-таки помедитируйте еще 10 секунд на картинку
И мне кажется тут нет очень уж большая сложность, раз это уже топовые магазины делают - значит это достаточно полезно, да и логично на самом деле.
Ограничения способов ОПЛАТ и ДОСТАВОК - они же срабатывают скрывая сразу целиком туже оплату или доставку... а так нужно их не скрыть (а затемнить) с причиной по которой это произошло (а она уж точно есть... ибо указываться в настройках (ограничений).
Например:
Оплата наличными (в настройках указано) что она для вариантов доставок таких-то.
Если выбран иной вид доставки, то будет в неактивной оплате написано (не подходит для данного вида доставки)
Например:
Доставка по городу доступна только от 5000 р. (это ограничение в настройках) тогда будет неактивная доставка в которой будет написано, что она не доступна (мин заказ от 5000 р)
Другими словами, это по логике цитирования самих правил (ограничений)
Самый крайний случай, это возможно добавление ещё 1 поля (комментария при срабатывании ограничения) в котором мы сможем более "человеческим" языком это описать.
В этом случая я создаю вариант доставки, прописываю условия и прочее .. а во вкладке ограничений после их определения .. рядом с ними пропишу что писать если это ограничение сработает.
Если ход моих мыслей более-менее рабочий (как мне кажется) я могу более детально это всё расписать (даже со скринами)
Но хотелось бы чтоб был ход этой задаче
Для меня она очень актуальна, и как я заметил я такой не один)
+ как мне кажется это добавит гибкость в настройках (индивидуальных). сразу будет понятно всё не только тем кто настраивает, но и клиентам.
Не доступна оплата наличными ... а клиент задаётся вопросом "ПОЧЕМУ?)" поверьте - наши менеджеры отвечают в 10-15% звонков на этот вопрос, хотя всё подробно прописано на страницах оплат и доставок.. но они звонят .. именно по причине того, что: "В их конкретном случае ПОЧЕМУ?)" .. а им например не хочется или тяжело понять что там описано на этих страницах "оплаты, доставки"
Была бы очень полезна такая функция (опциональная) из коробки, чтоб не ваять костыли.
Может конечно только я так делаю, но через скрытие служб. доставок , например для Почты России, ПикПоинт и т.п. когда API не может рассчитать стоимость, вывожу "активные" заглушки, с фиксированной ставкой 300, 500 и 1000 р в зависимости от региона. Это позволяет и гибко настроить службы и не терять клиентов, а 10 сереньких некликабельных блоков любого клиента отпугнёт
Сейчас пришлось создать необязательное свойство заказа Email, и прикручен обработчик события, который при заполненности этого свойства обновляет Email в учётной записи пользователя.
Если сделать поле необязательным, то приходится снять галочку "Использовать как Email". Страдают те, у кого есть Email, т.к. на него ничего не приходит.
Без дополнительных манипуляций всё время кто-нибудь страдает
p.s. поговорили с ребятами, сделаем чтобы можно было убрать обязательность, тогда если заполнят будет создан пользователь с емейлом и все будет отправляться ему, если нет, ну нет и нет сообщений.
p.s. готово, выйдет в обновление sale x.x.22
Но компонент-по-прежнему ругается.
В настройках стоит:
"Автоматически регистрировать";
"Использовать поле как E-Mail";
"Необязательное".
В чем может быть дело?
1. Отключите использование email в модуле main, опция "E-mail является обязательным полем:"
2. Снять обязательность с поля в настройках свойств
При таких настройках все прекрасно отрабатывает.
Распишите,пожалуйста людям как быть в случае складов самовывоза(заодно я проверю правильно ли я решил или нет)
задача в следующем:
служба доставки "самовывоз"
показываем все склады для самовывоза, производим выбор склада забора.
и + проверка остатков на складах чтоб нельзя было заказать со склада того, чего там нет
Единственно, что я не описал про склады, что у нас есть галочка которая может определить координаты клиента, и позиционировать карту к точке присутствия клиента, чтобы показать ближайшие склады. Карта будет масштабирована так, что бы попал минимум от 1 до 3х складов на карту (тут все зависит сколько складов вообще у клиента в данном населенном пункте).
довезти не вопрос, но надо же человеку сообщить о том, что "мы довезем" или "тут купить нельзя"
и с точки зрения логистики, когда склад в одном конце Москвы а магазин ровно в другом по диагонали, привозить иногда проблематично
а вообще, чем обычный розничный магазин отличается от склада? остатки есть? есть. Товар купить можно? можно. вопрос только с какого склада отгружает компания когда клиент заказывает различные службы доставки(ну это уже вопрос логистики)
p.s. допилите складской учет пжалсто
Я понимаю логику которую вы хотите, но как клиент магазина я бы очень был недоволен, что я во время выбора товаров все вижу в наличии, а на момент оформления начинаются танцы с бубном. Задача становится сложнейшей, это уже не пара галочек а конструктор, какие доставки предложить если товара нет, как клиенту подсказать, что товар есть но на другом складе, как подсказать когда его доставят и т.п.
с точки зрения кода реализуется сейчас только допиливанием какие службы доставки какой склад обрабатывают и небольшой правкой компонента(ofc при обновлении все полетит,либо вынести его).
Мы думали над такой реализацией. Но это следующие релизы. Готов с вами более детально обсудить этот вопрос и схему работы данного конструктора.
если нужен буду скайп kopobko_r
можно с вами пообщаться по поводу вашей доработки?
потом переведут серверную часть на nodejs представят ее как "1c-bitrix-node-fast-cms"
Затем ядро? Такое виденье развития системы?
Я же писал несколько про другое, я писал про шаблон, что мы не видим пока других вариантов сделать динамику в шаблоне, кроме JS. И это касается только визуальных элементов шаблона связанных с динамикой. Планов по переводу компонентов и тем более платформы на JS нет.
а хотя, why not
---
Лично я только в 10% случаев, когда клиенту без разницы дизайн корзины и процедуры заказа и ему лишь быстрее и дешевле сделать магазин.
В 90% случаев же корзина и заказ всегда с особенным уникальным дизайном и логикой, которые требуют гибкую разработку с помощью API
---
Так вот вопрос - когда ждать документации по новому API ?
Но думаю не удобно проработана система разворачивания и сворачивания блоков. Вот например в обычном состоянии все почти скрыто
Но если мне например нужно только поменять оплату то я не могу просто свернуть блок оплаты, плюс сиcтема мне предлагает кнопки Назад и Вперед которые меня только заблуждают в действии. На мой взгляд:
Это дефолтное состояние компонента у неавторизованного пользователя, раскрыть блоки не в последовательном выборе он не может. Для авторизованного происходит автозаполнение, при проходе по блокам можно вернутся к любому. Мне кажется в таком виде получилось не плохо, предлагаю дождаться обновления и высказать мнение.
Смена товаров в корзине в планах чтобы можно было отказаться от корзины совсем, если это требуется на проекте.
Спасибо и удачи вам, держите нас в курсе
Я вижу поменялась файловая структура шаблона компонента sale.order.ajax .
Вы теперь не используете отдельные php файлы (типа props_format.php, related_props.php, summary.php) а все загнали в один order_ajax.js . Так это? Но в таком случае, на мой взгляд, сильно урезается гибкость кастомизации шаблона. А если у людей вообще знаний по js нету так это вообще...
Может первый раздел назвать только "Тип плательщика", а "Местоположение" переместить в раздел "Покупатель". И что бы появлялось только при выборе доставки, так же как вы сделали с полем "Адрес доставки"?
Мне кажется так будет намного логичнее и посетителей не будет вводить в заблуждение.
Сейчас в шаблоне все и так понятно.
Да и блок этот может автонастраиваться, как я показывал в статье, все зависит от размера вашего магазина. Ну и в будущем попробуем прикрутить туда автоматику по IP и геопозиции.
Проблему вижу и в Хроме на Nexus 5, и в Сафари на айфоне. Проблема прекрасно воспроизводится и в эмуляторе мобильного устройства на десктопном Хроме. Прикладываю гифку с него.
Я записал со своей стороны ролик где все сработало, шаблон тоже сторонний, компонент штатный:
Установил демоверсию, там его не нашел.
Еще раз повторюсь, в доставках его нет, и в тестовых данных также.
Если не затруднит, и таковая есть, не приведете ссылку на описание данного функционала?
То есть принципиально изменили логику - покупатель еще ничего не выбрал, а его уже отправили в случае самовывоза в первый пункт выдачи по алфавиту... Сколько из покупателей придёт не туда, и сколько продавцов доставят товар в неверный пункт выдачи?
но инструкции в презентации и в курсах (
если кто знает не мазохистский способ пишите)
Куда лепить этот код? Весь день сижу, осталось только прикрутить оплату, долбанными бонусами....
Да, bootstrap популярен, но это опять же до поры до времени! Помимо bootstrap есть и другие фреймверки которые не хуже и тут появляются сложности при разработке, например я использую совершенно другой фреймверк и как вы уже понимаете верстка начинает ломаться когда на странице подгружается еще один целый фреймверк! Да, вы скажете, что я могу все переверстать, я с этим согласен, но это нужно убить не один час чтоб все переделать, хотя в целом страница оформления заказа меня устраивает и я хочу ее оставить но подключаемый бутсрап портит мне жизнь =)) и в дальнейшем если я все таки переделаю то как быть с обновлениями, вы там что то добавляете интересненькое анализируя метрику тд и тп а мне опять приходиться расстраиваться и трать кучу времени на доработку что быть в вашем тренде =)
Может быть вы с этим что нибудь придумаете, например что то модульное, чтоб не пересекалось, отдельно подключать сетку если нужна в компоненте, отдельно подключать базовые стили (шрифты, размеры, отступы тд и тп)
Но новый компонент sale.order.ajax видимо перечеркнул предыдущую идею. И теперь он превратился в многошаговое оформление заказа, на одной странице.
Я для теста на рабочем интернет-магазине(fanfan.perm.ru) начал использовать новый шаблон компонента. 2 недели использования, показали очень плачевный результат.
В метрике наблюдаю спад общей конверсии пользователей к оформленным заказам.
А веб-визаре вижу одно и тоже видео, где пользователь, просто не понимает, зачем ему кнопки далее и назад.
Большая часть заказов стала с уточнениями, когда пользователи случайно оформляют заказ с подставленными данными.
Мои конкретные предложения по новому шаблону в компоненте sale.order.ajax:
На сайте у вас стоит не последняя версия, мы как раз вносили правки в логику работы кнопки "оформить заказ", в логику раскрытия блоков по умолчанию. И представление для неавторизованных пользователей. Схожие проблемы в непонимание были и в наших случаях, которые как раз и привели к внесению правок вошедших в 22 апдейт sale (апдейт уже доступен).
В одном из тестовых сайтов мы немного поменяли названия кнопок, что тоже оказало улучшения на конверсию. Пока тестирование продолжается и компонент находится в бете, по этой же причине. Вот на этом сайте стоит апдейт и внесены правки для увеличения конверсии:
Но основной мой меседж был про то что, вы компонент превратили в пошаговый.
И все же скрытие полей и блоков очень не для всех подходит.
В моем примере сайт не поддерживает различные типы плательщиков, там всегда он один. Но если у вас несколько, то он выводится на вкладке с выбором региона.
Нужно предоставлять возможность изменять настройку логики оформления заказов. По нашим данным, после установки новой корзины и ужасных 5 шагов оформления, количество брошенных корзин подскочило до 40% от всех оформлений.
Почему разработчики навязывают свое видение данного процесса? Они должны предоставить настройки для простого выбора вариантов оформления пошагового или одним заходом, а не посылать тех кто не согласен идти и допиливать.
Это ужасно при заказе жать столько кнопок -пять раз кнопку ДАЛЕЕ, ДАЛЕЕ, ДАЛЕЕ, ДАЛЕЕ, ДАЛЕЕ
Посмотрите сколько людей поддержало Кирилла, не ужели Вам этого мало.
Не создавайте трудности - делайте свои решения компромиссным вариантом с возможностью настройки, а не только с Вашим видением.
Просьба - все пункты развернуть, убрать кнопку далее - Вот у Битроника все просто
Но старый шаблон был из того же количества шагов, и кроме кнопки далее не чего не изменилось, а для постоянных пользователей еще и все заполняется.
мне очень понравилась идея с доп блоками для доставки, если доставка самовывоз, то ajax добавляется блок с выбором складов.
Но все же у большинства Интернет-магазинов не больше 5 полей которые нужно вводить. И вот их и можно показать ('это даже преимущество).
В общем то это демагогия. спорить, что лучше что нет.
Факт: были шаблоны "одношаговое оформления заказа" и "пошаговое оформление заказа"
Мы использовали и тот и тот компонент. Так как у каждого были свои преимущества. И пошаговое оформление мы отлично садили на Ajax.
"одношаговое оформления заказа" - использовали как раз для маленьких форм. Это действительно очень часто пользуется спросом.
В общем если вы добавите возможность отключить "Аккордеон" (свернутое состояние блоков) при оформления заказа! я уверен, вам большая масса разработчиков, скажет большое спасибо!
Посмотрите на разработки других компаний - все делается с максимальными настройками под разные требования. А Вы решили - вот Вам один вариант и дерзайте. Но это не просто кнопка - от этой страницы зависит вся конверсия магазина и бизнеса.
Пожалуйста отнеситесь с пониманием и предоставьте своим клиентам выбор.
Спасибо.
Как минимум необходимо получить картинку товара и заменить тот путь, что вставляет компонент по умолчанию, так как картинки хранятся по другому пути
Я отвечал на форуме по возможностям кастомизации и немного давал подробности.
Кто додумался "Тип плательщика" и выбор профиля засунуть в "Регион доставки". Опускаются руки глядя на все это, искать в коде где это меняется желания как-то не возникает... При смене профиля на новый, тут же вываливается куча ошибок незаполненных полей, зачем они пользователю? Все это раздражает.
Профиль и регион перенесены вверх по причине необходимости знать эту информацию до начала работы с компонентом. Ситуация с ошибками при выборе профиля, если вы покажете деталей, это ошибка и мы исправим.
У меня ситуация немного другая, но будет в тему.
Клиент попросил перенести заполнение личных данных в топ (в принципе, нормальное требование). Есть свойство заказа: "точный адрес", чтобы не заморачиваться с географией, привязанное к доставке. В общем получается так, что если поменять доставку, в первом блоке появится обязательное незаполненное поле.
Куда удобнее было бы запихать его в блок с доставкой. Сроки горят, поэтому вместо того, чтобы разбираться с order_ajax.php, я просто буду js-ом переносить поле туда, куда мне нужно (уже представляю масштаб борьбы с ajax-ом).
1. Зачем кнопка "изменить" в списке товаров? Если в списке товаров нельзя менять товары?
2. Например последний раз заказ делался на Юридическое лицо, при оформлении заказа, всегда подставляется Физическое лицо, и первый попавшийся профиль и где тогда "Вы заказывали в нашем интернет-магазине, поэтому мы заполнили все данные автоматически." ?
Сам профиль покупателя, надо вынести хотя бы на отдельный шаг, ну никто не понимает зачем он во вкладке "регион". Вот регион можно было бы запихнуть в доставку и никто бы не жаловался .
1. При выборе Юридического лица и нового профиля, вываливаются вот эти ошибки заполнения. Они совсем не уместны тут, т.к. покупатель еще ничего не заполнял даже.
когда ждать?)
При смене с Самовывоза на Доставку курьером, мы опять получаем ошибку заполнения поля, хотя мы даже не дошли до заполнения этого поля еще.
Первое вложенное изображение незнамо как попало сюда, удалить конечно же нельзя...
При смене с Самовывоза на Доставку курьером, мы опять получаем ошибку заполнения поля, хотя мы даже не дошли до заполнения этого поля еще.
Для маленьких магазинов, или магазинов работающих в одном регионе, по умолчанию он может проставляться и блок будет свернут и пропущен.
необходимо подсчитывать бонусы - при создании заказа по определенному алгоритму расчитывается количество бонусов (для разных товаров свой процент бонуса, настраиваемый), при создании заказа хочу сделать данный расчет и записать количество бонусов в служебное свойство заказа
Также при изменении состава корзины через админку нужно пересчитывать количество бонусов. Начисление бонусов происходит в момент присвоения заказу статуса - выполнен.
Новая документация по событиям совсем плоха...
----
Сделала с помощью OnSaleOrderBeforeSaved
Оказывается как раз тут можно поменять значения свойства заказа, в OnSaleOrderSaved уже поздно, а события при расчете вызываются по несколько раз, что, в данном случае, ни к чему
Могу ли я для каждого сайтам определить город и пункты выдачи по умолчанию, чтобы клиент не выбирал свой город ?
так как ранее у нас приходили свойства из оформления заказа а теперь нет
"Автоматически регистрировать";
"Использовать поле как E-Mail";
"Необязательное";
В главном модуле убрал галочку "обязательность email";
"Проверять email на уникальность".
Теперь, если неавторизованный пользователь использует свой email, то не создается новый пользователь с новым ником, но тем же адресом, а в профиль к существубщему клиенту добавляется заказ.
Как-то неверно, по-моему. Понаделать заказов от чужого e-mail можно.
На мой взгляд, должна быть возможность исключить такое поведение, если вдруг жалобы пойдут.