Поиск товаров для виджетов
По текстовому запросу
Задайте запрос, чтобы в виджете показывались товары, найденные по этому запросу. Чтобы нашлась конкретная модель, укажите в запросе ее основные параметры. Например: Sony PlayStation 4 Slim 500 ГБ
. Если модель не найдется, загрузятся результаты поиска Маркета для похожей модели.
Совет
Вставляйте код виджета в элемент body
. Этот элемент содержит контент, который отображается в браузере на веб‑странице сайта.
Как задать запрос
- В конструкторе: на вкладке Внешний вид введите запрос в поисковую строку.
- Вручную в коде: укажите запрос в параметре
searchText
(например,searchText: "Умная колонка"
).
Точный поиск
В виджете можно показывать только те товары, названия которых содержат все слова из вашего запроса. Для этого:
- В конструкторе (только для виджетов Маркета): включите опцию Точный поиск.
- Вручную в коде: добавьте параметр searchMatch: "exact".
Если товар не найдется (например, он уже не продается на Маркете), виджет не будет отображаться.
По запросу из HTML-элемента
Внимание
Поиск по запросу из HTML-элемента не поддерживается, если вы вставляете виджет на Турбо-страницу.
Выберите селектор для элемента, из которого взять поисковый запрос. В виджет загрузятся товары, найденные по этому запросу. Если на странице несколько подходящих элементов, используется первый.
Чтобы в виджет с предложениями попал нужный товар, используйте элемент только с названием товара и его параметрами. Если в запрос попадут другие слова, результат поиска может быть неточным. Если на странице нет подходящего элемента, вы можете добавить скрытый элемент (с атрибутом style="display: none;"
).
Как указать селектор
Используйте в коде виджета параметр searchSelector
. Чтобы задать отдельный атрибут, добавьте его в searchSelectorAttr
.
В конструкторе соответствующих опций нет, но вы можете сформировать в нем виджет и добавить в код параметры searchSelector
и searchSelectorAttr
.
Как задать запрос в коде контейнера
В качестве элемента для поиска можно использовать контейнер виджета, добавив к нему атрибут с названием товара. Для этого нужно указать селектор контейнера в параметре searchSelector
, а название атрибута — в параметре searchSelectorAttr
. Это удобно, если требуется вставлять одинаковый скрипт виджета на разные страницы, меняя только код контейнера.
Внимание
Если поисковый запрос задан в коде контейнера, виджет отобразится позже, чем при поиске по текстовому запросу, — только после загрузки полного HTML-кода страницы. Пользователи могут не увидеть виджет до его загрузки (например, если пролистают его или уйдут со страницы).
Пример
В элементе head
:
<script async src="https://aflt.market.yandex.ru/widget/script/api"
type="text/javascript">
</script>
<script type="text/javascript">
...
w.YaMarketAffiliate.createWidget({
containerId: "marketWidget",
type: "offers",
params: {
clid: 2310490,
erid: 'AX1LYwMgKYsyMqgz',
searchSelector: "div#marketWidget",
searchSelectorAttr: "data-search-text",
themeId: 2
}
});
...
</script>
В элементе body
:
<div id="marketWidget" data-search-text="Яндекс Телефон"></div>
Примечание
Вставляйте код виджета в элемент head
. Этот элемент содержит информацию, по которой браузеры и поисковые системы определяют, как должен выглядеть сайт.
Точный поиск
В виджете можно показывать только те товары, названия которых содержат все слова из вашего запроса. Для этого:
- В конструкторе (только для виджетов Маркета): включите опцию Точный поиск.
- Вручную в коде: добавьте параметр searchMatch: "exact".
Если товар не найдется (например, он уже не продается на Маркете), виджет не будет отображаться.
Примеры селекторов и запросов
Элемент на сайте |
Что указать |
Какой запрос получится |
Заголовок на странице:
|
Конструктор: Селектор — |
Обзор товара Яндекс Устройство |
Код:
|
||
Часть заголовка:
|
Конструктор: Селектор — |
Яндекс Устройство |
Код:
|
||
Название страницы:
|
Конструктор: Селектор — |
Обзор товара Яндекс Устройство |
Код:
|
||
Любой тег с атрибутом
|
Конструктор: Селектор — |
Яндекс Устройство |
Код:
|
||
Любой тег с любым атрибутом. Текст для запроса в самом теге:
|
Конструктор: Селектор — |
Яндекс Устройство |
Код:
|
||
Любой тег с любым атрибутом. Текст для запроса в атрибуте:
|
Конструктор: Селектор — Атрибут — |
Яндекс Устройство |
Код:
|
По ID товара на Маркете
В виджетах можно показывать товары, найденные по их идентификаторам на Маркете. Это могут быть товары с покупкой на сайте магазина или на Маркете. Если у товара есть различные модификации (например, он представлен в нескольких цветах), вы можете указать идентификатор нужной модификации, чтобы показать ее в виджете.
Как указать ID товаров
- В конструкторе: в поисковой строке на вкладке Внешний вид укажите идентификаторы через запятую.
- Вручную в коде: укажите идентификаторы в параметре
searchModelIds
, чтобы показать в виджете определенную модель товара, илиsearchSkuIds
, чтобы показать конкретный вариант товара. Примеры:searchModelIds: [1971204201, 177547282] // или searchSkuIds: [101077348745, 101077348748]
При указании ID товаров вручную в коде виджета «Подборка товаров» допускается одновременное использование параметров searchModelIds
и searchSkuIds
. При этом на первом месте в виджете всегда будут отображаться товары, добавленные по параметру searchSkuIds
.
Внимание
Для виджетов «Один товар», рекомендательных виджетов и виджетов с информацией о товарах можно указать только один идентификатор.
Как узнать идентификатор товара или его варианта
Откройте карточку товара на Маркете и посмотрите на ее URL. Идентификатор товара — это набор цифр перед вопросительным знаком (или, если его нет, в конце URL). Например:
- https://market.yandex.ru/product/368977000
- https://market.yandex.ru/product--kholodilnik-lg-ga-b509ceum/765615992?glfilter==...
Идентификатор варианта товара — это набор цифр после «...sku=». Например:
- https://market.yandex.ru/product--besprovodnye-naushniki-samsung-galaxy-buds-live/674368003?sku=101053681072&glfilter=...
Иногда вместо виджета появляется сообщение «Нет в продаже» и рекомендательная подборка «С этим товаром смотрят». Они отображаются, если:
- для указанного товара не нашлись подходящие предложения в регионе покупателя;
- товар больше не размещается на Маркете.
По ID категории
Самостоятельный поиск по ID категории поддерживается только для виджета Маркета «Подборка товаров». При этом он используется только вместе с другим видом поиска для виджетов:
В виджете Маркета «Подборка товаров» можно показывать товары из определенных категорий.
Как указать ID категорий
- В конструкторе: в поисковой строке на вкладке Внешний вид укажите не более трех идентификаторов через запятую.
- Вручную в коде: укажите идентификаторы в параметре
searchCategoryIds
. Например:searchCategoryIds: [1971204201, 177547282]
.
Если указать несколько ID категорий, товары из них будут отображаться в виджете вперемежку. Например, если указаны категории A, B, C, то порядок будет такой:
-
Первый товар из категории A.
-
Первый товар из категории B.
-
Первый товар из категории C.
-
Второй товар из категории A.
-
Второй товар из категории B.
-
Второй товар из категории C и так далее.
Как узнать идентификатор категории
Откройте страницу категории на Маркете и посмотрите на ее URL. Идентификатор — это набор цифр после «...?hid=». Например:
- https://market.yandex.ru/catalog/54726/list?hid=91491
По URL страницы Маркета
Внимание
Данный способ поиска доступен только в конструкторе виджетов.
Чтобы найти товары для виджета, в поисковой строке в конструкторе укажите ссылку на одну из страниц Маркета:
- карточку товара;
- страницу категории;
- страницу с результатами поиска.
После того как вы вставите ссылку в конструкторе, вы получите релевантные результаты поиска. Из них вы можете выбрать подходящий текстовый запрос или конкретный товар на Маркете.
По акции на Маркете
Чтобы показать на виджете акционные товары, в параметре searchShopPromoId
укажите идентификатор акции, например:
searchShopPromoId:"1234753_1V2FH8GF"
Поиск акционных товаров поддерживается только для виджета «Подборка товаров».
Как узнать идентификатор акции
Откройте страницу акции на Маркете и посмотрите на ее URL. Идентификатор — это набор цифр и букв после shopPromoId
. Например:
https://market.yandex.ru/special/promo-code-landing?shopPromoId=1234753_1V2FH8GF
По характеристикам товара
В виджете можно показывать товары, найденные по параметрам на Маркете (например, смартфоны Android с диагональю экрана 5.5"–5.9"). Вы можете указать все параметры, которые используются на Маркете.
Внимание
При этом в коде виджета также необходимо указывать какой-либо из поисковых параметров, упомянутых выше (например, searchText
или searchSelector
). См. пример.
Чтобы указать параметры товара в виджете:
-
Перейдите на Яндекс Маркет.
-
Откройте нужную категорию и выберите параметры фильтрации (например, операционная система Android, диагональ экрана 5.5"–5.9").
-
Скопируйте все параметры
glfilter
из адресной строки.
-
В код виджета добавьте параметр
searchFilters
со скопированным значением из адресной строки.<script async src="https://aflt.market.yandex.ru/widget/script/api" type="text/javascript"></script> <script type="text/javascript"> (function (w) { function start() { w.removeEventListener("YaMarketAffiliateLoad", start); w.YaMarketAffiliate.createWidget({ containerId: "marketWidget", type: "models", params: { clid: 2310490, searchText: "Смартфон", themeId: 1, searchFilters: "glfilter=13476053%3A1&glfilter=15156912%3A15934123" } }); } w.YaMarketAffiliate ? start() : w.addEventListener("YaMarketAffiliateLoad", start); })(window); </script> <div id="marketWidget"></div>
Поиск интим‑товаров для виджетов
Если вы хотите показать в виджете интим‑товары, используйте поиск по ID товара на Маркете или по текстовому запросу. В первом случае поисковый запрос можно задать в конструкторе или в коде вручную, а во втором — только в коде.
Если вы настроили текстовый поисковый запрос, добавьте в код виджета параметр searchAdult со значением true
. Для поиска по ID товара параметр указывать не нужно.
После настройки виджета он будет содержать интим‑товары из категории Товары для взрослых с возрастным ограничением 18+. Товары отобразятся после того, как покупатель подтвердит, что ему есть 18 лет.
Как улучшить результаты поискового запроса
Зачастую требуется улучшить результаты поискового запроса, чтобы в виджете показывались более релевантные товары и предложения. Для этого используйте советы по настройке поиска:
-
Попробуйте включить поиск по ID товара на Маркете. Этот способ является самым точным. Тогда в виджете отобразятся только те товары, идентификаторы которых вы укажете в конструкторе или в коде виджета.
-
Способы поиска по текстовому запросу или по запросу из HTML‑элемента настроены таким образом, что по умолчанию они выдают наиболее релевантные результаты поиска. Если вы используете один из этих двух способов, включите опцию Точный поиск в конструкторе или добавьте в код параметр searchMatch: "exact". Тогда в виджете будет показан только тот товар, название которого содержит все слова из запроса.
-
Иногда фильтр точного поиска приводит к тому, что в виджете товары не отображаются. Это происходит по разным причинам: товары, указанные в поисковом запросе, отсутствуют на Маркете или не продаются в малых регионах.
В этом случае попробуйте отключить опцию в конструкторе или удалить из кода параметр. Затем измените запрос. Если вы указали название конкретного товара, используйте вместо него более общее название для группы аналогичных товаров. Если вы указали, наоборот, неточное название, попробуйте задать в запросе модель и характеристики товара.
Пример
Допустим, в виджете нужно показать видеокарту ASUS GeForce GTX 1060. Если по текстовому запросу Asus GeForce GTX 1060 не найдены товары на Маркете, укажите поисковый запрос GeForce GTX 1060. В этом случае количество результатов поиска может увеличиться, и для всех регионов в виджете будут показаны видеокарты от различных производителей.
-
Если в виджете вам нужно в первую очередь показывать товары и предложения из региона покупателя, включите в конструкторе опцию Сначала местные предложения или укажите в коде виджета параметр searchLocalOffersFirst: true. Если этого параметра в коде нет или он принимает значение
false
, в результатах поиска ни один регион не окажется в приоритете, и в виджете сначала могут быть показаны товары и предложения из любого региона.