Дизайн карточки товара в e-commerce: как спроектировать компонент, который не теряет конверсию
- читать
- 11–15 мин
- опубликована
- разделов
- 14
Коротко:
- Карточка - это первый и часто единственный шанс убедить пользователя кликнуть. Если иерархия сломана, CTA не читается или цена спрятана - покупки не будет.
- Самая частая ошибка: проектировать только дефолтное состояние и забывать про hover, «нет в наличии», скидку, рейтинг без отзывов и мобильный вид.
- Бейджи и цена влияют на решение сильнее, чем название товара. Именно они захватывают взгляд первыми.
- Quick-add работает только когда не требует лишних решений: без выбора размера или цвета прямо в карточке он снижает трение, а не добавляет его.
- На мобильных карточки в один столбец теряют до трети полезной площади - и чаще всего жертвой становится CTA.
Листая каталог, пользователь принимает решение о клике за доли секунды. Он не читает - он сканирует. И если в этот момент что-то выглядит неправильно: цена не находится, кнопка добавления в корзину неочевидна, фото мелкое - он просто скроллит дальше. Конверсия теряется не на странице оформления заказа, а гораздо раньше.
Карточка товара - один из самых нагруженных UI-компонентов в e-commerce. Она должна одновременно передавать ценность продукта, провоцировать клик, выдерживать десятки состояний и корректно выглядеть на экране 320px. При этом визуально она занимает немного места.
В этом руководстве разберем компонент изнутри: какие элементы критичны, как расставить приоритеты, какие состояния нельзя пропускать и где чаще всего происходит провал. Без общих слов про «пользователя в центре» - только конкретные решения.
Из чего состоит карточка: анатомия компонента
Прежде чем говорить о конверсии, нужно понять, из каких слоев состоит этот элемент. Типичная продуктовая карточка включает несколько зон, и каждая из них несет свою функцию.
| Зона | Элементы | Функция |
|---|---|---|
| Медиа | Фото, галерея, видео | Захватить внимание, передать внешний вид |
| Идентификация | Бренд, название, артикул | Дать пользователю понять, что это за товар |
| Ценовой блок | Цена, старая цена, скидка | Мотивировать к покупке или фильтрации |
| Социальное доказательство | Рейтинг, количество отзывов | Снизить неопределённость |
| Бейджи | «Хит», «Новинка», «Осталось 2 шт.» | Создать срочность или выделить в списке |
| Действие | Кнопка в корзину, quick-add, избранное | Привести к целевому действию |
Каждый блок можно убрать или переставить - но только осознанно, под конкретную задачу. Маркетплейс с тысячами товаров и нишевый бренд с 30 позициями расставят приоритеты по-разному.
Иерархия информации: что пользователь должен увидеть первым
Взгляд на карточку движется сверху вниз и слегка слева направо. Это значит, что самое важное должно быть вверху и слева. Звучит банально, но при проектировании это нарушают постоянно.
Разберем порядок восприятия. Первым захватывает взгляд изображение - оно занимает большую часть площади. Дальше глаз ищет цену и название. Рейтинг считывается периферийно, бейджи - если они правильно расположены - работают как «аттракторы» еще до того, как пользователь сфокусировался.
Типичная ошибка: поставить название товара на первое место по размеру шрифта, а цену - маленьким текстом снизу. В e-commerce большинство пользователей сначала хотят понять стоимость, и только потом читают название. Особенно это критично для категорий с однородными товарами - электроника, одежда, косметика.
Пример иерархии для fashion-магазина:
- Фото (80% площади)
- Бейдж скидки (левый верхний угол фото)
- Бренд (маленький, над названием)
- Название (1-2 строки, с обрезкой)
- Цена + зачеркнутая старая цена
- Рейтинг + количество отзывов
- Цвета/варианты (если есть)
При проектировании в Figma удобно проверять иерархию через быстрый тест: закройте карточку на 1 секунду, откройте и запишите, что вы заметили первым. Если это не то, что важнее всего для покупки - меняйте веса и размеры.
Ценовой блок: главный мотиватор
Цена - это не просто число. Это целый микрокомпонент, который может существенно изменить поведение пользователя в зависимости от того, как он оформлен.
Несколько правил, которые работают на практике:
- Зачеркнутая старая цена рядом с актуальной усиливает восприятие выгоды даже при небольшой скидке. Скидка в 5% выглядит незначительной в тексте, но наглядной при сравнении двух чисел.
- Процент скидки в бейдже работает лучше, чем просто «Скидка». «-23%» - конкретно, читается мгновенно.
- Цена не должна быть мельче названия. Визуальный вес цены должен быть сопоставим с заголовком товара или больше.
- Цена за единицу vs цена за упаковку - если у вас есть такое разделение, показывайте обе. Иначе пользователь уйдет уточнять.
Отдельно стоит проработать состояние, когда цена варьируется - например, «от 1 290 ₽» для товара с разными конфигурациями. Это честнее, чем показывать минимальную цену без оговорок, и снижает количество разочарований на странице товара.
Бейджи: как не превратить карточку в ярмарочный прилавок
Бейджи - метки поверх или рядом с изображением - один из самых мощных инструментов управления вниманием. Но только при условии, что их немного.
Проблема возникает, когда маркетинг хочет показать всё сразу: «Хит продаж», «Новинка», «Скидка», «Эксклюзив», «Быстрая доставка». Пять бейджей на одной карточке превращаются в визуальный шум. Пользователь не считывает ни один из них.
Правило: не больше двух бейджей одновременно. Если нужно показать больше - введите приоритет: скидка важнее «хита», «осталось мало» важнее «новинки».
По расположению: бейджи на фото (левый верхний угол) работают лучше, чем рядом с текстом, потому что взгляд сначала попадает на изображение. Цвет бейджа должен быть семантически понятным: красный - срочность, зеленый - выгода или экологичность, серый - нейтральная информация.
Отдельного внимания заслуживает бейдж «Нет в наличии». Его часто делают через disabled-состояние карточки: затемняют изображение, убирают CTA. Это рабочий паттерн, но важно оставить возможность добавить в список ожидания или уведомить о поступлении - иначе вы теряете потенциального покупателя навсегда.
Рейтинг и отзывы: когда социальное доказательство помогает, а когда нет
Звёздный рейтинг - стандартный элемент e-commerce, но его реализация часто грешит небрежностью.
Главная ловушка: показывать рейтинг без количества отзывов. «4.8» выглядит убедительно, если это 200 отзывов, и подозрительно - если это 2 отзыва от родственников продавца. Всегда показывайте оба числа рядом.
Второй момент: не показывайте рейтинг для товаров без отзывов. Пустые звёзды или «0 отзывов» создают негативное впечатление. Лучше скрыть блок полностью и отобразить его только после первых 3-5 оценок.
По размеру: звёзды не должны занимать больше одной строки и конкурировать с ценой. Это вспомогательный элемент, не центральный.
Hover-состояния: где теряется мобильность карточки
Hover - один из самых недооцененных слоев при проектировании. На десктопе он дает возможность показать дополнительный контент без перехода на страницу товара: вторую фотографию, кнопку быстрой покупки, цвета.
Хороший hover для карточки товара должен решать одну из задач:
- Показать товар с другого ракурса (смена главного фото)
- Вывести CTA, которая не занимает место в дефолтном виде
- Показать quick-add без перехода на страницу
- Добавить анимацию масштаба на фото, чтобы дать ощущение интерактивности
Проблемы начинаются, когда hover перегружен: появляется несколько кнопок одновременно, текст накладывается на изображение без подложки, анимация слишком медленная или слишком резкая. Оптимальная задержка перед показом hover-контента - 100-200 мс. Если реакция мгновенная, карточки «мигают» при прокрутке. Если долгая - ощущение тормозного интерфейса.
Критически важный момент для Figma: hover-состояние нужно проектировать как отдельный вариант компонента, а не добавлять поверх основного слоя. Это позволяет передать разработчику четкие различия между состояниями без догадок.
Quick-add: когда кнопка в каталоге помогает, а когда мешает
Quick-add - кнопка добавления в корзину прямо из сетки каталога, без перехода на страницу товара. Звучит как очевидный способ снизить трение. На практике работает только в определенных условиях.
Когда quick-add уместен:
- Товар простой и не требует выбора параметров (например, книга, еда, расходники)
- Пользователь уже знает продукт и добавляет повторно
- Это сценарий быстрой закупки, а не исследования
Когда quick-add создает проблемы:
- Товар требует выбора размера, цвета или комплектации - тогда клик на кнопку либо блокируется, либо открывает popup, который перебивает сканирование каталога
- Кнопка перекрывает часть карточки и мешает основному сценарию - перейти и изучить товар
- На мобиле она слишком мала и провоцирует ошибочные тапы
Хорошее решение: показывать quick-add только в hover (десктоп) или выносить его как иконку-корзину без текста, которая не конкурирует с основным CTA.
CTA в карточке: кнопка, которую не видят
Основная кнопка действия в карточке часто проигрывает конкуренцию за внимание. Дизайнер делает ее маленькой, чтобы «не перегружать», и в итоге пользователь не понимает, куда нажать.
Несколько ориентиров по CTA:
- Минимальная высота кнопки - 44px на мобиле (рекомендация Apple HIG), 36px на десктопе.
- Текст кнопки должен отражать действие, а не состояние: «В корзину» лучше, чем «Купить» для многошагового флоу. «Заказать» лучше, чем «Добавить», если это один клик до покупки.
- Кнопка не должна сливаться с фоном карточки. Если карточка белая - кнопка не может быть белой с тонкой рамкой.
- На мобиле CTA лучше вынести на всю ширину карточки или сделать заметной иконкой-корзиной с фиксированным местом.
Отдельный вопрос: нужна ли вообще кнопка в карточке, если цель - перейти на страницу товара? Для большинства категорий с вариативными товарами - нет. Карточка служит для принятия решения о переходе, а покупка происходит уже внутри. В таком случае вся карточка работает как кликабельная зона, и кнопка избранного - единственный активный элемент.
Состояния, которые нельзя пропускать
Одна из системных проблем при проектировании - сдать в разработку только «идеальный» вид. Карточка товара живет в десятках состояний, и каждое нужно продумать заранее.
| Состояние | Что показывать | Частая ошибка |
|---|---|---|
| Нет в наличии | Затемнение фото, скрытый CTA, кнопка «Уведомить» | Просто убирают карточку из сетки |
| Товар со скидкой | Бейдж, зачеркнутая цена, акцентный цвет | Только зачеркивают цену без бейджа |
| Нет отзывов | Скрыть блок рейтинга | Показывают 0 звёзд |
| Длинное название | Обрезка с ellipsis, tooltip по hover | Перенос в 3-4 строки, ломающий сетку |
| Добавлен в избранное | Заполненная иконка сердца, смена состояния | Нет обратной связи после клика |
| Товар в корзине | Изменение CTA: «Уже в корзине» или счетчик | Кнопка остается без изменений |
При работе в Figma удобно создавать карточку как компонент с вариантами по осям: «Наличие», «Скидка», «Рейтинг», «Состояние CTA». Это дает матрицу состояний, которую можно передать разработчику и использовать для тестирования.
Адаптив: как карточка выживает на мобиле
Мобильный трафик в e-commerce давно превысил десктопный по объему, но конверсия на мобиле традиционно ниже. Часть причин - за пределами карточки, но плохой адаптив компонента вносит свой вклад.
Типичные проблемы мобильной реализации:
- Сетка 2 колонки на 320px. При ширине колонки 140-150px фото становится слишком маленьким, текст сжимается до 2-3 слов в строке, CTA превращается в точку. Для дешевых товаров с простой иерархией это работает. Для сложных категорий - нет.
- Hover-контент без мобильной альтернативы. Если quick-add или вторая фотография доступны только через hover, на мобиле пользователь их не увидит никогда.
- Бейджи, которые перекрывают лицо товара. На маленьком экране бейдж 40x40px может закрыть ключевую часть изображения.
- CTA ниже «линии прокрутки» карточки. Если для просмотра кнопки нужно скролить внутри карточки - это архитектурная ошибка.
Хорошая практика: проектировать мобильную версию карточки отдельно, а не просто масштабировать десктопную. На мобиле часто имеет смысл скрыть рейтинг или бренд и оставить только ключевые элементы: фото, название (1 строка), цена, CTA.
Проектирование в Figma: как собрать компонент правильно
Несколько технических рекомендаций для тех, кто строит карточку как переиспользуемый компонент в Figma.
Используйте Auto Layout. Карточка с фиксированными позициями рассыпается при изменении контента: длинное название сдвигает цену, большой бейдж перекрывает фото. Auto Layout позволяет контенту управлять геометрией в заданных ограничениях.
Вынесите все состояния в варианты компонента. Не создавайте отдельные фреймы для «карточка со скидкой» и «карточка без скидки». Один компонент с булевыми пропертями: Discount (true/false), InStock (true/false), HasRating (true/false), IsInCart (true/false).
Медиа-блок делайте отдельным компонентом. Это позволит легко тестировать разные соотношения сторон (1:1, 3:4, 4:3) и добавлять поведение галереи, не ломая основную структуру.
Проверяйте компонент на реальном контенте. Вставьте самое длинное название товара из вашего каталога. Вставьте самую большую цену. Вставьте товар без рейтинга. Вставьте изображение с другим соотношением сторон. Если карточка держится - компонент готов к передаче.
Типичные ошибки, которые снижают конверсию
Большинство потерь происходит не из-за плохого визуала, а из-за нескольких системных просчетов.
- Изображение слишком маленькое относительно текста. Пользователь приходит смотреть товар, а не читать о нем. Фото должно занимать минимум 60-65% высоты карточки.
- Название обрезается непредсказуемо. «Кроссовки Nike Air Max 90 мужск...» - ладно. Но если обрезка режет смысл («Биодобавка для укреп...»), пользователь не понимает товар и не кликает.
- CTA появляется только при hover и отсутствует в мобильном виде. Часть пользователей никогда не узнает, что можно добавить в корзину.
- Разные высоты карточек в одной сетке. Если название у одного товара 1 строка, у другого 3, сетка визуально разваливается. Используйте фиксированную высоту текстового блока с обрезкой.
- Цвет и размер CTA не выделяются. Кнопка «В корзину» серого цвета на белой карточке - это почти невидимый элемент.
- Нет промежуточного состояния загрузки. Когда список карточек подгружается, скелетоны должны повторять реальную структуру компонента, иначе интерфейс мигает и сдвигается.
Чеклист перед передачей компонента в разработку
- Продуманы все состояния: дефолт, hover, «нет в наличии», «в корзине», «в избранном», скидка, без рейтинга, длинное название
- Соотношение сторон изображения зафиксировано или вынесено как вариант
- Кнопка действия видна без hover на мобильном разрешении
- Бейджей не более двух одновременно, логика приоритетов описана
- Рейтинг скрыт при отсутствии отзывов
- Ценовой блок выглядит корректно для всех сценариев: цена от, диапазон, со скидкой, без скидки
- Текстовые поля обрезаются предсказуемо через ellipsis
- Компонент собран на Auto Layout, не на фиксированных координатах
- Скелетон повторяет структуру реальной карточки
- Мобильная версия спроектирована отдельно от десктопной
Итог
Карточка товара - это не просто блок с картинкой и ценой. Это компонент с собственной архитектурой, десятками состояний и прямым влиянием на то, дойдет ли пользователь до покупки. Слабая иерархия, невидимый CTA или отсутствие мобильной адаптации способны снизить конверсию каталога без каких-либо изменений в остальном интерфейсе.
Проектируйте компонент как систему, а не как картинку. Зафиксируйте все состояния заранее, соберите их в матрицу вариантов в Figma и проверьте на реальном контенте до передачи в разработку. Именно это отделяет карточку, которая просто выглядит хорошо, от той, что реально продает.
часто задаваемые вопросы
Зависит от типа товара. Для простых позиций без вариантов (книги, еда, расходники) - да, это снижает путь к покупке. Для товаров с выбором размера или цвета лучше вести пользователя на страницу продукта: CTA в каталоге создаст лишний шаг с popup-выбором параметров.
Зафиксируйте высоту текстового блока и обрезайте по количеству строк (обычно 2) через CSS line-clamp или text-overflow. В hover на десктопе можно показывать полное название в tooltip. Никогда не позволяйте названию растягивать карточку - это ломает сетку.
Не больше двух. Если у товара три признака (скидка + новинка + хит), выбирайте приоритет бизнес-логикой. Чаще всего скидка важнее. Слишком много меток создает визуальный шум, и ни одна из них не работает.
Скрывайте блок полностью. Пустые звёзды или «0 отзывов» создают негативное первое впечатление. Показывайте рейтинг только после накопления минимального числа оценок - обычно 3-5.
В обычном интерфейсе hover - это визуальная обратная связь на интерактивный элемент. В карточке товара hover - это дополнительный функциональный слой: смена фото, появление CTA, показ вариантов. Поэтому его нужно проектировать как отдельное состояние с собственной логикой, а не просто изменением цвета.
Для перехода на страницу товара - вся карточка должна быть кликабельной. Кнопки «В корзину» и «Избранное» при этом перехватывают событие клика и не вызывают переход. Это стандартный паттерн, и пользователи его ожидают.
Используйте плагин Mirror или встроенный Preview на реальном устройстве. Проверяйте на 320px (минимальная ширина) и 390px (iPhone 14). Оцените размер CTA пальцем, читаемость цены и название при двухколоночной сетке.