Как настроить самовывоз из магазина в AI Search
Если вы продаёте товары в физических магазинах, функция самовывоза из магазина позволяет покупателям выбрать свой магазин на странице поиска и видеть у каждого товара, есть ли он в наличии в этом магазине. Чтобы включить эту функцию, добавьте список своих магазинов в Advanced Settings.
Что видят покупатели?
- Переключатель “In-store pickup” в верхней части поисковых фильтров.
- Список магазинов, который открывается, когда покупатель включает переключатель. У каждого магазина есть кнопка Select store и ссылка See store address.
- Строку остатков на каждой карточке товара для выбранного магазина, например “In Stock at Downtown Store”. Отображается In Stock, если в этом магазине 3 или более единиц товара, Low Stock — если 1 или 2, и Out of Stock — если товара нет.
Самовывоз из магазина помечает товары, но не скрывает их. Покупатели по-прежнему видят все результаты, поэтому они также могут заказать товары, которых нет в наличии в их магазине. Выбранный магазин запоминается на их устройстве до следующего посещения.
Перед началом
- Платный тариф. Advanced Settings, где вы перечисляете свои магазины, доступны на платных тарифах.
- Магазин Shopify, который отслеживает остатки для каждой точки продаж. Строки остатков формируются на основе данных инвентаря Shopify по каждой локации.
- Поисковые фильтры слева или в плавающей панели. Переключатель появляется в этих двух вариантах расположения фильтров. Если ваши фильтры находятся над результатами, измените параметр Filter position в разделе Customize AI Search.
Шаг 1: Найдите Shopify location ID каждого магазина
- В админке Shopify перейдите в Settings > Locations.
- Нажмите на магазин.
- Скопируйте число в конце адреса страницы. Например, в
admin.shopify.com/store/your-shop/settings/locations/64924319816идентификатор location ID —64924319816.
Повторите это для каждого магазина, который хотите предложить покупателям.
Шаг 2: Добавьте список магазинов в Advanced Settings
В админке Shoply перейдите в Settings и прокрутите до Advanced Settings. О том, где находится этот редактор и как он работает, см. How to Configure Advanced Settings.
Добавьте список pickup_stores, по одной записи на каждый магазин:
{
"pickup_stores": [
{
"location_id": "64924319816",
"name": "Downtown",
"label": "Downtown Store",
"address_lines": ["123 Main St", "San Jose, CA 95118"]
},
{
"location_id": "27214544968",
"name": "Berkeley",
"address_lines": ["2727 Milvia St", "Berkeley, CA 94703"]
}
]
}| Поле | Обязательно | Что делает |
|---|---|---|
location_id | Да | Shopify location ID из шага 1. Остатки считываются из этой локации. |
name | Да | Название магазина. Показывается покупателям, если не задан label. |
label | Нет | Название, которое видят покупатели, если оно отличается от name. |
address_lines | Нет | Адрес, отображаемый под See store address, по одной строке на каждый элемент. |
Магазины отображаются в том порядке, в котором вы их перечислите. Запись без location_id или name будет пропущена.
Уже используете Advanced Settings? Добавьте pickup_stores как ещё один ключ внутри того же JSON-объекта, отделив его от предыдущего ключа запятой. Не создавайте второй блок { }.
Чтобы удалить магазин, удалите его запись. Чтобы отключить самовывоз из магазина, удалите весь ключ pickup_stores.
Шаг 3: Проверьте страницу поиска
Изменения появляются на витрине примерно в течение 10 минут. После этого ваши покупатели смогут пользоваться самовывозом из магазина в вашем живом магазине. Попробуйте сами так же, как это будут делать они:
- Найдите товар в своём магазине.
- Включите In-store pickup в фильтрах.
- Нажмите Select store рядом с одним из ваших магазинов.
- Убедитесь, что на каждой карточке товара отображается строка остатков для этого магазина, например “In Stock at Downtown Store”.
Откуда берётся информация об остатках?
Данные об остатках берутся из инвентаря Shopify. Shoply считывает их во время обычной синхронизации каталога.
- Shoply считывает остатки каждого магазина из Shopify. Для каждого варианта товара Shoply получает количество “available” в каждой Shopify-локации через Shopify Admin API.
- Строки остатков не обновляются в реальном времени. Они обновляются при синхронизации каталога. Частота зависит от вашего расписания синхронизации. Например, каталог магазина с высокой активностью может синхронизироваться примерно раз в день.
- Shopify не уведомляет Shoply о каждом изменении остатков. Продажа или пополнение появятся только после следующей синхронизации.
- Результаты поиска также могут повторно использоваться до 24 часов. Это может добавить задержку.
Считайте строку остатков ориентиром. Точная актуальная доступность показывается на странице товара и при оформлении заказа.
Как считаются остатки?
- Единицы суммируются по всем вариантам товара, например по всем размерам и цветам, в выбранном магазине.
- У товаров без записей об остатках ни в одном из указанных вами магазинов строка остатков не отображается. Это часто бывает у цифровых товаров, подарочных карт и позиций, для которых не ведётся учёт остатков.
Можно ли привести цвета в соответствие с фирменным стилем?
Да. Добавьте правила в CSS вашего поиска. Где именно это сделать, см. в how to customize AI Search with CSS.
/* The switch, Select store buttons, and links */
.shoply-pickup-filter { --shoply-pickup-accent: #00823d; }
/* Stock line colors on product cards */
.shoply-product-pickup-stock-in .shoply-product-pickup-stock-status { color: #00823d; }
.shoply-product-pickup-stock-low .shoply-product-pickup-stock-status { color: #d13a00; }
.shoply-product-pickup-stock-out .shoply-product-pickup-stock-status { color: #b21109; }Другие классы, которые можно стилизовать:
| Class | Element |
|---|---|
.shoply-pickup-filter | Весь раздел самовывоза из магазина в фильтрах |
.shoply-pickup-store-name | Название магазина в списке |
.shoply-pickup-select-store | Кнопка Select store |
.shoply-product-pickup-stock | Строка остатков на карточке товара |
Устранение неполадок
Переключатель не появляется.
- Убедитесь, что в Advanced Settings под редактором не отображается JSON Error, и что вы сохранили изменения.
- Убедитесь, что у каждого магазина указаны и
location_id, иname. - Убедитесь, что ваши поисковые фильтры находятся слева или в плавающей панели.
- Подождите около 10 минут после сохранения, затем перезагрузите страницу поиска.
У каждого товара отображается Out of Stock.
- Убедитесь, что каждый
location_idсоответствует Shopify location ID магазина, как описано в шаге 1. - Убедитесь в Shopify, что для этой локации включён учёт остатков.
У некоторых товаров нет строки остатков. У этих товаров нет записей об остатках в указанных вами магазинах. См. How is stock counted?.
О других параметрах поиска см. Advanced Settings for AI Search.
