Меня зовут Станислав Хрусталёв, я автор сайта hardclient.com. Работаю в управлении клиентским опытом с 2009 года. Пишу на эту тему, собираю лучшие практики из мира Customer Experience и оцениваю сервисные модели компаний, в последнее время пишу на Habr про UX/UI в e-commerce и мобильные приложения. Сегодня мы пройдёмся по всему клиентскому пути приложения Магнит Доставка и проверим, насколько хорошо оно притягивает и удерживает своих пользователей. В этой статье я остановился на 160 замечаниях и намеренно «упустил» часть точек роста. Тем, кто хочет погрузиться в контекст, предлагаю скачать это приложение из App Store, пройти путь пользователя вместе со мной и поделиться вашими наблюдениями в комментариях. И конечно же подписывайтесь на мой канал в Telegram, там уже более 80 статей – я это очень ценю. Чтобы облегчить восприятие, статью я разбил на этапы клиентского пути: Узнавание о приложении Страница в App Store Онбординг Поиск товаров Каталог и листинг товаров Фильтрация и сортировка Просмотр карточек товаров Авторизация Работа с корзиной Оформление заказа Ожидание доставки Оценка заказа Получение поддержки Повторное использование О том, что сделать заказ можно через приложение, клиент узнает из блока в футере страницы доставки на сайте, привлекающего относительно мало внимания. Клиенту предлагаются 2 приложения. Чтобы пользоваться услугами полноценно, нужно скачать их оба. Почему функционал не объединён — вопрос. Кнопки сторов в версии для ПК бесполезны — в отличие от QR-кода, считав который со смартфона, можно было бы быстро перейти к скачиванию приложения. В мобильной версии скачать приложение призывают целых 2 баннера, причем расположенных один под другим. Зачем такая скученность, непонятно. Клиент заходит на сайт с iPhone, а ему, помимо App Store, предлагают ещё и скачать приложение из Google Play. В отличие от приложения Магнит, по приложению Магнит Доставка не подсвечиваются какие-либо преимущества сервиса или удобство заказа со смартфона. Какие-либо дополнительные механики, побуждающие пользователя скачать приложение, в блоке не предусмотрены. На главной странице блок с призывом к установке приложения Магнит Доставка отсутствует. Посетив в несколько магазинов Магнит, я заметил рекламу лишь основного приложения. Узнать о наличии сервиса доставки клиенту в магазине, мягко скажем, нелегко. Первый экран обзора видит большинство клиентов. При этом он минимально информативен и лишь рассказывает нам о том, что есть доставка товаров. Хотя в самом приложении часто можно встретить и более внушительные скидки, в экраны обзора вынесена лишь скидка «до 30%». Из 10 возможных экранов обзора используются только 7. Все преимущества сервиса на этом исчерпаны? Некоторые игроки используют экраны обзора, чтобы поделиться промокодами или рассказать о ключевых акциях и предложениях. Магнит в их число не входит. В то время как заголовки можно было бы реализовать в формате призыва к действию, большинство из них оформлены в виде существительных. Подзаголовки на экранах обзора то есть, то нет, хотя можно было бы добавить их везде, делая презентацию более консистентной. Панорамный дизайн (элементы начинаются на одном экране и продолжаются на другом) сделать попробовали, но получилось не совсем идеально. Судя по апдейтам, за последние 4 месяца разработчики не вносили каких-либо значимых изменений в приложение. Не лучший сигнал для нового клиента. Последние 20 обновлений выпускаются с одним и тем же текстом. Чисто для галочки? Никто их не будет читать? И так сойдёт? Текст обновлений можно было бы использовать, чтобы призвать клиента делиться обратной связью по работе приложения. Но эта возможность не используется. Аналогичным образом в текст обновлений можно было бы внедрять запрос на оценку приложения в App Store. В распределении оценок можно заметить достаточно большое количество резко негативных отзывов. Это может повлиять на восприятие качества приложения. 4 из 6 наиболее полезных отзывов, доступных на странице — резко негативные. Это также влияет на репутацию приложения и желание его скачать. На отзывы разработчик отвечает не всегда. Особенно в случае негатива подобное молчание со стороны компании — далеко не лучшая практика. В тексте описания в основном говорится лишь о фичах приложения, но не о преимуществах самого сервиса для клиента. Приветственных экранов в приложении нет, хотя на них можно было бы вынести ключевые преимущества сервиса. Запросы доступов — первое, с чем клиент сталкивается, зайдя в приложение. Такое «приветствие» нового пользователя — не лучшая практика. Более того, один запрос накладывается на другой: клиент не успел дать доступ к уведомлениям, а у него уже запрашивают доступ к геолокации. Хорошая практика — перед тем как запрашивать доступ, на отдельном экране пояснить, для чего он требуется. В данном случае она не применяется. Если клиент предоставил доступ к геолокации, но отключил точное местоположение, его вне зависимости от города приземляют на Красную площадь. Какие-либо прочие интерфейсные и маркетинговые механики, побуждающие сделать первую покупку, отсутствуют. Клиент остается предоставлен сам себе. При нажатии на иконку лупы в листинге категории клиент переходит к экрану поиска, но поисковая строка не активируется: приходится делать это вручную. Искать по всему товарному предложению Магнита клиент не может: поиск осуществляется лишь в выбранном магазине. Кнопка отмены вплотную «прилипает» к строке поиска, хотя места для того, чтобы сделать отступ, достаточно. В отличие от каталога, отфильтровать результаты поискового запроса по категориям не получится. Нужно уточнять запрос текстом либо дольше искать товар в листинге. При тапе по пустой области поиск не закрывается, хотя такая реакция была бы ожидаема. Вместо этого происходит лишь деактивация поисковой строки. При закрытии поиска тексты заголовков в каталоге по непонятной причине кратковременно меняются местами. Возможности просмотреть общий каталог товаров Магнита нет: ознакомиться с товарами можно лишь внутри конкретного формата магазинов. В каталоге вперемешку идут и категории товаров, и конкретные точечные акции. Это может усложнить поиск нужной категории. Подкатегории товаров — это просто plain text, без какой-либо визуализации. Хотя текст можно было бы сопроводить иллюстрациями для улучшения восприятия. У подкатегорий второго уровня кликабелен лишь текст, а не вся ячейка. Это усложняет переход к нужному листингу. При первом просмотре каталога изображения подборок не загружаются. Видны лишь placeholder’ы. Шанс испортить первое впечатление не упускают. При прокрутке горизонтальных коллекций вертикальная прокрутка не блокируется. Это делает опыт скролла менее удобным. При прокрутке подборок cell snapping не используется. Из-за этого карточка при скролле может остаться видимой лишь частично. Загрузка листинга при переходе из каталога занимает достаточно долгое время. Это может вызвать раздражение, если клиент заходит в разные категории товаров. По одним товарам вес отображается в названии, по другим — вынесен в отдельное поле. Есть ли в этом какой-то скрытый смысл? Напишите в комментах. Информации о том, сколько единиц товара доступно для покупки, в листинге нет. Об этом клиент может узнать лишь на более поздних шагах. В отличие от листинга, при быстром скролле каталога он иногда перестает реагировать на касания. Кнопки сортировки и фильтрации расположены в верхней части экрана. Из-за этого до них становится тяжелее дотянуться. При переходе в категорию по умолчанию видны не все товары, а первая из категорий. Причина применения такого фильтра не совсем понятна. Применение фильтров занимает достаточно долгое время. Это может вызвать раздражение, особенно если клиент пользуется ими часто. Значения некоторых фильтров пересекаются между собой, затрудняя поиск нужного товара. При переключении между полями с ценами происходит спонтанная деактивация. Чтобы скорректировать поле, приходится нажимать на него заново. При изменении цены в фильтрах к значению на какое-то время добавляется символ рубля, который затем пропадает. Скрытый смысл или просто баг? Блок с навигацией вверху карточки с фильтрами излишний, а анимированное переключение категорий может отвлечь внимание и дезориентировать. Часто встречаются категории лишь с 1 фильтром, названия которых фактически дублируют названия этого фильтра и не несут никакой дополнительной ценности. В главной карточке в формате бабблов отображается лишь часть фильтров. При этом переход к общему списку не интуитивен. При попытке смахнуть карточку фильтров экран затемнения не растворяется, а смахивается вместе с карточкой. При нажатии на кнопку сброса фильтров и смахивании карточки с фильтрами они фактически не сбрасываются, хотя это было бы ожидаемо. Возможности отсортировать товары листинга по рейтингу нет (не потому ли, что оценок по товарам нет в принципе?) Сортировка по размеру скидки также не предусмотрена, хотя могла бы быть полезна для части клиентов, особенно в скидочных разделах. Список характеристик в карточках товаров сильно ограничен по сравнению с конкурентами. Это делает их относительно менее информативными. Характеристики не всегда соответствуют типу товаров. Например, для садовых граблей минимальная и максимальная температура хранения – 0℃. Пищевая ценность указывается не на всех продуктах питания. При этом в случае отсутствия блок с КБЖУ не скрывается и продолжает отображаться с прочерками. По некоторым товарам фотографии не соответствуют действительности. В фото на примере масса — 1 килограмм, хотя фактический вес товара — 200 грамм. В описаниях товаров встречается системный текст HTML-разметки. На проверку качества текстов ресурса, видимо, не хватает. По некоторым товарам тексты описаний и составов представлены на английском. У части клиентов это может вызвать затруднение. Описания товаров выполнены в достаточно неконтрастном тексте. У части клиентов это может вызвать проблемы при чтении. По многим товарам изображения загружены в плохом качестве и заметно пикселят. Особенно это видно при просмотре в формате галереи. Фото товара, вероятно, загружаются в момент прокрутки слайдера. Из-за этого появляется заметная задержка в их отображении при скролле. Для того чтобы закрыть карточку галереи смахиванием проходится проделать длинный путь: длина свайпа, необходимая для смахивания, слишком большая. Значения характеристик не кликабельны, хотя могли бы играть роль фильтров, тем самым упрощая клиенту навигацию по каталогу. Upsell-блоки в карточках товаров не реализованы. Возможностью увеличить средний чек компания не пользуется. Блоков с похожими товарами в карточках также нет. В результате найти наиболее подходящий товар клиенту относительно труднее. Понравившийся или часто покупаемый товар нельзя добавить в избранное. Такой функционал в приложении в принципе не реализован. Очень значительная доля клиентов принимают решение о покупке на основе рейтинга товара и отзывов покупателей. В приложении этой функции нет. Поле ввода не промаркировано, как phone number. Автоподстановка номера не срабатывает, и его приходится вводить вручную. Пользовательское соглашение в тексте согласия по умолчанию никак не выделено, хотя это ссылка. Форматирование появляется лишь при вводе номера телефона. Пользовательское соглашение не оптимизировано под чтение с мобильного устройства. Более того, возможности приблизить текст документа нет. При вводе первой цифры placeholder исчезает полностью, хотя мог бы пропадать посимвольно по мере ввода номера телефона. При полном стирании текста placeholder уже не отображается, хотя это было бы ожидаемой реакцией интерфейса. Таймер повторной отправки кода не снабжен текстом, поясняющим, до чего именно идёт отсчёт. Это может быть неинтуитивно для части клиентов. В SMS с проверочным кодом текст «MAGNIT» без необходимости дублируется в теле сообщения и названии отправителя. При ручном вводе кода наблюдается мелькание автоподсказки и изменение положения кнопки повторной отправки кода. Поле «Имя» не промаркировано, как First Name. Заполнять его пользователю придется вручную. В поле «Имя» placeholder фактически дублирует заголовок, хотя при активации поля он мог бы уменьшаться в размерах и вставать на место заголовка. Как и в случае с именем и телефоном, поле ввода email не промаркировано соответственно — клиент снова тратит время на ручной ввод. В форме ввода данных профиля активное поле, кроме курсора, никак не выделяется и привлекает относительно меньше внимания. При вводе имени текст по умолчанию пишется со строчной буквы, и клиенту отдельно приходится корректировать этот момент. Переключение через return между полями не работает, хотя данная реакция интерфейса была бы ожидаемой. На экране заполнения профиля нет элементов выхода. Если клиент решил не заполнять данные, вернуться можно, только выгрузив приложение из памяти. Если клиент вводит год в формате двух последних цифр, система это событие никак не обрабатывает и лишь выдает ошибку. В отличие от даты рождения, компания не поясняет, зачем ей email клиента и что он начнет получать после регистрации в программе лояльности. Хотя дата рождения состоит из фиксированного числа символов, при вводе восьмого символа поле не деактивируется — приходится делать это вручную. Создание бонусной карты не происходит автоматически при регистрации. Клиенту предлагают подождать. Клиенту просто говорят, что скоро подключат карту. Но когда именно, уточнить забывают. Скоро — сегодня? Завтра? Через неделю? В этом году? В блоке выше говорилось о том, что меня уведомят о подключении карты. Но когда это произошло, push я не получил — лишь случайно заметил в профиле. Блок с картой в профиле никак визуально не изменился между состояниями, когда карты не было и когда она появилась. Хотя мог бы подсвечивать ее наличие. Единая корзина в приложении не реализована. Собрать один заказ из разных магазинов не получится. Чтобы добавить товар в корзину, необходимо авторизоваться. Возможности сделать гостевой заказ или войти уже на этапе оформления нет. Карточки не выделяются на фоне, а кнопка корзины размещается ближе к другим карточкам, чем к контенту своей карточки. Это может ввести в заблуждение. Клиенту приходится ждать ответа от системы по несколько секунд — каждый раз, когда он добавляет товар в корзину. Задать число единиц товара текстом нельзя — лишь через кнопки. Представить трудно, что чувствуют владельцы кошек, решившие заказать 20-30 пачек корма. В то время как в иконке корзины в таббаре можно было бы разместить сумму заказа, в ней отображается (менее полезное для клиента) число позиций. При каждом переходе в корзину клиенту приходится ожидать её загрузки. Это резонно может вызвать раздражение. В то время как Лента Онлайн запускает доставку от 500₽, в Магните заказать товары предлагают на сумму от 2,000₽. Разница значимая. Цены за единицу товара никак не отличаются по виду от наименований, хотя могли бы быть визуально вторичными. Форматирование цен со скидкой по непонятным причинам различается и изменяется при корректировке состава заказа. Вместо того чтобы явно подсветить факт бесплатности доставки, ее стоимость установлена в размере 1₽. Строка с доставкой визуально теряется. Хотя скидка и значительная, вместо того чтобы её подсветить, создав ощущение полученной выгоды, эта строка никак не выделяется и не привлекает внимание. Клиенту начисляется 0.5% бонусами от суммы заказа. На фоне прочих сервисов, использующих кэшбэк, такое предложение выглядит «не очень выигрышно». Товары в корзине отображаются единым списком, без разбиения по категориям. Это может усложнить проверку, если товаров в заказе много. В отличие от большинства конкурентов, какие-либо блоки допродажи на уровне корзины в приложении не реализованы. Решив отложить часть товаров на будущий заказ, клиент сталкивается с тем, что такой возможности нет. Единственный вариант — удалить их из корзины. При попытке ввести промокод поле ввода не активируется по умолчанию. Клиенту приходится делать это самостоятельно. Если клиент собрал корзину товаров, отвлекся и не перешёл к оформлению, его никак не побуждают это сделать (хотя push-уведомления включены). В отличие от конкурентов, изменить адрес на этапе оформления заказа в приложении нельзя — приходится откатываться на несколько шагов назад. Сделать заказ предлагается только в рамках текущего дня. Заказать доставку заранее у клиента возможности нет. Единственный способ оплаты — картой онлайн. Возможности не привязывать карту и оплатить картой или наличными в момент доставки нет. Возможность заранее проинструктировать сборщиков о том, что делать, если товара нет в наличии, у Магнита отсутствует. При вводе номера подъезда, домофона, квартиры, этажа клавиатура по умолчанию символьная, и в большинстве случаев её приходится переключать. Нажатие на return для переключения между полями не поддерживается. Чтобы перейти к следующему полю, приходится каждый раз тянуться до него пальцем. Помимо highlight’а временного интервала, компания больше никак не управляет ожиданиями клиента по процессу доставки и дальнейшим коммуникациям. В отличие от аналогичных сервисов, статус заказа и процесс доставки никак не визуализируются. Это делает интерфейс менее вовлекающим. Возможности изменить состав заказа после его оформления у клиента нет, даже если сборщики ещё не взяли заказ в обработку. Если заказ можно было бы дополнять, его карточку также можно было бы использовать для допродажи комплементарных товаров, повышая средний чек. Возможности связаться с курьером в рамках интерфейса заказа у клиента нет. Вся коммуникация ведётся через чат с поддержкой. Карточки товаров в заказе некликабельны: если клиент решил посмотреть информацию о купленном товаре, его придётся искать в каталоге заново. Возможность отменить заказ в интерфейсе в принципе отсутствует. Заказал? Будь добр получить — как бы ни поменялись твои планы. Аналогично ситуация обстоит и с изменением интервала доставки. Он железно устанавливается при оформлении и не может корректироваться в интерфейсе. По окончании выбранного интервала доставки заказ продолжает висеть в статусе «оформлен». Только один этот пункт может поставить крест на лояльности. Из внезапного push-уведомления я узнаю, что заказ доставят через Яндекс Go. Почему бы не уведомить меня заранее о том, что заказ доставляется партнёром? Тяжелый заказ из Магнита поручили доставлять… Алине? При всем уважении к равноправию полов заставлять женщину тащить тяжести — сурово. Функционал live activity в рамках приложения не предусмотрен, хотя с помощью него можно было бы динамически отражать статус доставки. Возможности оценить заказ в приложении с оповещением через push у клиента нет, хотя уведомления включены. Для сбора фидбэка используется лишь email. Email с призывом оценить заказ маркируется почтовой службой, как маркетинговый: по умолчанию я не получаю никакого оповещения о том, что он пришел. В отличие от ряда других email’ов, аватар отправителя письма не содержит логотип компании, делая его менее заметным в общем списке. В случае если клиент получил негативный опыт, ржущий смайл в заголовке email может быть воспринят «не совсем так, как ожидалось». 10-балльная шкала оценки не несет никакой добавленной ценности относительно привычной 5-балльной и лишь перегружает интерфейс — особенно на мобильных. В мобильной версии вёрстка email «едет»: в отличие от дизлайка, текст лайка визуально оторван от иконки. После оценки у клиента не уточняют причины, не предлагают оставить комментарий и не благодарят — лишь переводят на страницу в сторе или сайт. Индивидуальные товары в заказе оценить нельзя, хотя оценки могли бы использоваться для расчёта рейтинга товара в карточках и листинге. Время работы службы поддержки, указанное в описании приложения в App Store и на экране поддержки различается. Часовой пояс в графике работы поддержки не указан. Учитывая, что сервис работает в 100+ городах, у части клиентов это может вызвать проблемы. Возможности связаться с поддержкой через мессенджер нет, хотя эта опция может быть удобной для значительной части клиентов. При переходе в чат из профиля клиента не приветствуют каким-либо welcome-сообщением. Все, что он видит — пустой экран. В карточке заказа кнопка «Помощь» выполнена светло-серым текстом и может быть воспринята частью клиентов, как неактивная. Клиент перешёл в чат с поддержкой, нажав на кнопку в карточке заказа. Однако чат-бот это не отслеживает и просит ввести номер заказа. Не надо так. Еще больнее клиенту становится, когда он пытается скопировать номер заказа: такая функция не предусмотрена. Приходится его запоминать. Попытавшись отменить заказ, спустя более получаса после предоставления сотруднику поддержки его номера, ответа я так и не получил. Спектр вопросов в FAQ очень узкий и покрывает лишь небольшую часть тематик, влияя тем самым на загруженность операторов колл-центра. Если покрываемых вопросов в разделе FAQ станет больше, их можно разбить по категориям, чтобы клиенту было легче найти нужный ответ. Если клиент делает регулярные покупки одного и того же состава товаров, в 1 касание повторить заказ не получится — нужно добавлять все товары заново. Ещё одна палка в колеса при повторной покупке: заказ не просто нельзя повторить — товары из него нельзя быстро добавить в корзину. Клиент накапливает бонусы, но где посмотреть их текущий баланс — большой вопрос. Spoiler: в приложении я этой информации не нашёл. Аналогично дела обстоят и с использованием баллов: накопить я их накопил, но как мне их списать? При оплате заказа нигде такой возможности нет. Хотя карта лояльности и подключается к онлайн-заказам, карты со штрихкодом в приложении нет: при посещении магазина придётся диктовать 16-значный номер. В отличие от большинства конкурентов, возможность редактирования способов оплаты в настройках профиля отсутствует. Отвязать банковскую карту и удалить её из способов оплаты у клиента просто так не получится: необходимо отдельно писать в поддержку, причём не в чат, а на email. Кроме стандартных пушей с промокодами каких-либо более продвинутых механик удержания и побуждения к повторным заказам в приложении замечено не было. Как видим, приложение Магнит Доставка пока что далеко от идеала, но в долгосрочной перспективе решает не то, какой ты сейчас, а то, насколько ты готов меняться у лучшему. Желаю коллегам, ответственным за приложение успехов на этом пути. А если вам было интересно, буду рад, если поделитесь этим материалом с коллегами. Свои новые материалы я анонсирую в Телеграм-канале. Подписывайтесь, если хотите их не пропускать. На связи.  Customer Experience Management