Покупатель уже собрал корзину, а на финальном шаге выясняется: позиция закончилась. Задача интерфейса — сообщить неприятную новость так, чтобы не потерять ни часть заказа, ни самого клиента.







Самый простой, но и самый недружелюбный сценарий — оставить пользователю лишь кнопку «Удалить», а иногда и её не дать. Оправдать такое можно разве что честностью: если системе нечего предложить взамен, логика «товар кончился → убираем» хотя бы прозрачна. Другой вариант — решать за клиента: отсутствующая позиция исчезает из корзины сама. Выглядит по-технарски: с одной стороны, заказ очищен от лишнего, с другой — хочется надеяться, что автозачистка касается только чекаута, а сама позиция где-то сохраняется, чтобы человек мог поискать альтернативу.
Чаще всего магазины предлагают похожие товары или замену. При этом система не делает вид, что нашла равноценный аналог, а как бы говорит: «вот что есть рядом, продолжим поиск». Здесь у UX-редакторов есть тонкая дилемма: «Похожие» уместны, когда точную замену подобрать сложно (особенно в фешн), а «Заменить» — для утилитарных товаров, где важна задача, а не конкретная вещь. И чем сильнее покупателю нужен именно этот товар, тем осторожнее стоит формулировка «замена». Правда, хорошая замена манго — это что? Тот же вес, та же страна, нарезанное или целое, не дороже 1120? А для кроссовок — тот же размер, бренд, силуэт и цена?
Поэтому «похожий товар» — слишком грубое решение. Человек выбирал по цене, размеру, бренду, характеристикам, сроку доставки и многому другому, и замена должна учитывать контекст. Можно предложить другой цвет или модель с заменой в один клик, но тогда непонятно, по какому принципу подобраны варианты — тот же размер, производитель, вид, цвет, цена? Придётся заново погружаться в выбор. Кроме замены есть и другие пути: добавить товар в лист ожидания и сообщить о поступлении, желательно с понятным сроком. А вот кнопка «Изменить размер» смотрится рискованно: человек не может стать больше или меньше, а вот цветом подвинуть проще.
Некоторые магазины словно стесняются статуса «нет в наличии»: прячут его на отдельном экране или показывают так незаметно, что в списке товаров сложно уловить момент, когда позиция «пропадает». И главный недочёт — на отсутствующем товаре часто не пишут его последнюю цену или ту, с которой покупатель когда-то положил его в корзину. Без этого пропадает один из ключевых параметров для сравнения.
Отсюда вывод: корзина — это список зафиксированных решений пользователя, а не просто набор SKU. Большинство систем сохраняют результат («положил товар X»), но теряют причину выбора. Значит, стоит хранить всю историю попадания в корзину: откуда пришёл человек (поиск, категория, рекомендация, реклама, избранное), его запрос и фильтры, сортировку, какие товары открывал рядом, что сравнивал, какие характеристики изучал, смотрел ли отзывы и вопросы, цену и скидку в момент выбора, условия доставки. Тогда при отсутствии модели А система сможет показать три альтернативы 43 размера: А1 за 10 490 р. (+500 р.) — максимально близкую модель для бега, B за 9 790 р. (−200 р.), которую пользователь уже сравнивал с выбранной, и А2 за 9 990 р. — с той же ценой и назначением, но лучшей амортизацией. И это пригодится не только при «нет в наличии», но и в рекомендациях — без ИИ, восстанавливающего контекст решения прямо в интерфейсе, тут уже не обойтись.
