YML feed requirements
Goods list
General requirements for product feeds:
-
Each product must have a unique ID.
-
The IDs of the same product must be the same in different feeds, even when the feeds have different types. For example, the same product should have the same ID in your Yandex Market and Google Shopping feeds both.
To learn more about the YML format for the Yandex Market feed, see Yandex Market Help.
Any XML document may contain only one root element. The YML format uses the <yml_catalog> element as the root element. The date attribute of the <yml_catalog> element should correspond to the date and time the YML file was generated on the advertiser's side. The date must be in YYYY-MM-DD hh:mm format.
The list of the advertiser's product offerings is contained in the <offers>
element. Each product offering is described in a separate <offer>
element. Add the <currencies>
and <categories>
elements in the <shop>
element before the list of product offers. To learn more about elements included in <shop>
, see Yandex Market Help.
Offer description types
There are two types of offer description: simplified and custom. These description types differ only in how you pass the product name:
- In simplified offers, the product name is passed in a single
<name>
element. - In custom offers, the product name is passed in three elements:
<typePrefix>
,<vendor>
, and<model>
.
You can also use a combined description type and use elements from both the simplified and custom types. The advantage here is that you have more elements for generating a relevant ad.
Simplified type |
Custom type |
Combined type |
|
|
|
Simplified and custom offers can coexist within the same feed.
Offer examples
This is the basic, simpler type of description.
Example:
<offer id="0123456" available="true">
<url>http://www.надежнаятехника.рф/catalog/element/index.php?from=ya_market&utm_source=ya_market&utm_medium=cpc</url>
<price>1620.00</price>
<oldprice>1800.00</oldprice>
<currencyId>RUB</currencyId>
<categoryId>19</categoryId>
<picture>http://89.123.45.678/catalog/photo/19/6.JPG</picture>
<picture>http://89.123.45.678/catalog/photo/19/7.JPG</picture>
<store>false</store>
<pickup>true</pickup>
<delivery>false</delivery>
<name>Антивирус ESET NOD32 Platinum Edition</name>
<vendor>Eset</vendor>
<vendorCode>NOD32-ENA-NS(BOX)-2-1</vendorCode>
<description>Антивирус ESET NOD32 Platinum Edition - лицензия на 2 года NOD32-ENA-NS(BOX)-2-1</description>
<video>http://89.123.45.678/catalog/video/19/6.MP4</video>
<sales_notes>Оплата: Наличные, Б/Н, пластиковые карты, кредит</sales_notes>
<manufacturer_warranty>true</manufacturer_warranty>
<country_of_origin>Россия</country_of_origin>
<age unit="year">18</age>
</offer>
This type of description is practical and versatile. It's recommended you use it for describing products in most categories.
Example:
<offer id="1234567" type="vendor.model" available="true">
<url>http://www.надежнаятехника.рф/catalog/element/index.php?from=ya_market&utm_source=ya_market&utm_medium=cpc</url>
<price>889.00</price>
<oldprice>17000.00</oldprice>
<currencyId>RUR</currencyId>
<categoryId>1111</categoryId>
<picture>http://89.123.45.678/catalog/photo/19/6.JPG</picture>
<picture>http://89.123.45.678/catalog/photo/19/7.JPG</picture>
<store>false</store>
<pickup>false</pickup>
<delivery>true</delivery>
<typePrefix>Принтер</typePrefix>
<vendor>НP</vendor>
<model>Deskjet D2663</model>
<description>Серия принтеров для людей, которым нужен надежный, простой в использовании цветной принтер для повседневной печати...</description>
<sales_notes>Необходима предоплата.</sales_notes>
<manufacturer_warranty>true</manufacturer_warranty>
<country_of_origin>Япония</country_of_origin>
</offer>
Attributes of the <offer>
element
The type
attribute can have only one value — "vendor.model"
, — which means that the offer is custom.
- Custom type:
<offer id="1234567" type="vendor.model" available="true">
- Simplified type:
<offer id="0123456" available="true">
The type
attribute determines which elements will be checked by the Yandex Direct robot when the feed is uploaded:
-
If you don't pass the
type
attribute, the offer will be simplified. The robot also checks for the<name>
element. If it's missing, the offer is ignored and ads for the product aren't generated. -
If you pass the
type
attribute, the offer will be custom. Remember to specify the<vendor>
and<model>
elements. If they are missing, an error occurs and the offer is ignored, meaning the product ads won't be launched.Attribute
Description
Can be used for filter setup
Required element
id
Product ID.
The IDs for each product must be unique.
Check that the product
IDs
in E-commerce match theoffer ids
specified in the feed. This is necessary for offer retargeting impressions in YAN. Offer retargeting is only available for advertising products on a site.The
ID
value can consist of numbers, letters, or a combination of both. It may contain characters. Maximum length: 100 characters.Example
- 18295
- 1223abc
- a12b34fq
yes
yes
type
Product offering description type.
The value must be
vendor.model.
If you pass the
type
attribute, this indicates you're using a custom description type. Yandex Direct checks for the<vendor>
and<model>
elements. If they are missing, the offer is ignored and product ads aren't generated.no
for a custom description type
available
Availability of product:
true
: Product in stock;false
: Product out of stock.By default, Yandex Direct assumes that all products present in the feed are in stock. If your feed includes out-of-stock items, you need to specify the
available
attribute for each offer. This allows filtering out offers when generating ads.The product availability information in the feed should match that on the landing page and checkout pages.
yes
required if the filter by product availability is used
Child elements of <offer>
element
Element |
Description |
Can be used for filter setup |
Required element |
||||||||||||
|
Product offering name It's recommended that names of simplified offers include the manufacturer's name and code, as well as key offer features that the user may think important. To create product names, you can use a universal formula:
To ensure that Yandex Direct creates ads correctly, the product name should match the contents on the landing page. The name shouldn't contain promotional text, such as “free delivery”. You also can't use all caps or special characters to attract user attention. Example
|
yes |
For a simplified type |
||||||||||||
|
Product type / category. Specify the type of product based on how it's presented by the manufacturer. For example, “mobile phone”, “washing machine”, or “corner sofa”. Avoid using overly generic product type descriptions and ambiguous words. Example
|
yes |
for a free-form type |
||||||||||||
|
Manufacturer or brand (trademark). Providing the correct brand name is key for providing a good user experience and boosting sales. Specify your own brand only if you sell own products or non-branded products of other manufacturers. Example
|
yes |
for a free-form type |
||||||||||||
|
Model and key parameters (for example, name, model index, special modification features, and others). Example
|
yes |
for a free-form type |
||||||||||||
|
Product category ID assigned by the advertiser (a positive integer of no more than 18 characters). The product offering can belong to only one category. Example
|
yes |
yes The |
||||||||||||
|
A product page URL for advertising a site or a tracking link for advertising a mobile app. If you're advertising a mobile app, we recommend adding deferred deeplinks. Maximum link length: 2048 characters. You can use links in Cyrillic. (We recommend converting links in Cyrillic characters using Punycode). The URL format follows the RFC 3986 standard. Example
How to encode characters in a URL?
URLs must not contain spaces. Replace spaces with |
yes |
yes |
||||||||||||
|
Image link. We recommend adding five images to the feed. For example, images of the product shown from different angles or in different interiors. The product should occupy at least 2/3 of the entire image area. In the Yandex Advertising Network, a single-product banner can be displayed as a carousel. If a format supports only one picture, the first image is selected, provided that its width and height are greater than or equal to the size of the ad unit. If the first image doesn't fit these requirements, the next one is considered for placement. Product images should have a white background with a white frame of at least one pixel, without text and bright fonts.
The image URL should include the Technical requirements:
How do I change the image in the ad?For the Yandex robot to update the product image in ads, change the link to it in the feed. For example:
|
no |
|
||||||||||||
|
Product offer description. Provide a detailed description of important product characteristics that users base their choice on. The description must not contain promotional text, such as “free delivery”, links to the site of the store, sales details, or information about competitors or other products, and their accessories. Example
|
yes |
no |
||||||||||||
|
Order information:
Example
|
no |
no |
||||||||||||
|
Specifying product characteristics and parameters. The When matching queries, Yandex Direct takes into account the following four types of If the manufacturer uses custom color names — for example, Example
|
no |
no |
||||||||||||
|
The price at which this product is being offered. Format: whole or decimal number. The separator between the whole and decimal parts must be a dot. The price must match the product price shown on the site and can't be zero. This element is recommended for unified performance campaigns. Example
|
yes |
For impressions in the product gallery |
||||||||||||
|
The old product price, which must be higher than the new price ( Format: whole or decimal number. The separator between the whole and decimal parts must be a dot. The price must not equal zero. Your site should show both the old price and the current price. You can display discounts in your ads if the feed includes the Example
|
yes |
no |
||||||||||||
|
Currency code. Supported values
|
no |
if the |
||||||||||||
|
Link to product video. Please provide an MP4 video up to 45 seconds long, that also meets other technical requirements. Note If the video is hosted on a platform that uses the HTTP protocol, it won't be served on resources using the HTTPS protocol. The video should be filmed using a stable camera. Content recommendations:
Make individual videos for each product: this will make sure they match your ad title and text. You can only have one video per product. Impressions only in YAN. Example
|
no |
no |
||||||||||||
|
Product code (enter the vendor code). Example
|
no |
no |
||||||||||||
|
Product category to be used on Yandex Market. |
yes |
no |
||||||||||||
|
Product available in retail stores:
|
yes |
no |
||||||||||||
|
Customer pickup from delivery point:
|
yes |
no |
||||||||||||
|
Delivery by courier:
|
no |
no |
||||||||||||
|
Official warranty:
|
yes |
no |
||||||||||||
|
Country of origin. Example
|
no |
no |
||||||||||||
|
Product age category. A non-negative integer with or without the + prefix. If you use +, be sure to place it before the number. We recommend specifying this element if the product is intended for certain age groups. Example
|
yes |
no |
||||||||||||
|
This product belongs to the “adult” category:
|
yes |
no |
||||||||||||
|
Product download:
|
no |
no |
||||||||||||
|
To serve ads in a combined format (ads for catalog pages and product ads), pass product links to the catalog. The value equals The value can consist of numbers, letters, or a combination of both. One |
yes |
recommended if the feed has |
||||||||||||
|
Custom elements. Free-form description. Latin and Cyrillic characters and numbers. The maximum length of one element is 175 characters. You can only use custom feed elements to create filters in unified performance campaigns. They don't affect the way creatives are generated. These filters are used for offer segmentation by specific parameters with no standard filters available. For instance, for e-commerce, you can set a filter by whether a product is part of a certain promotion. |
yes |
no |
||||||||||||
|
Custom element. Value: 0 or any positive integer. You can only use custom feed elements to create filters for unified performance campaigns. They don't affect the way creatives are generated. These filters are used for offer segmentation by specific parameters with no standard filters available. For instance, for e-commerce, you can set a filter by an offer's profit margin. |
yes |
no |
Catalogs
In a YML feed, you can transmit information about product catalogs. In the tree structure, the <collections>
element comes after the <offers>
element.
Unified performance campaigns use information about catalogs only to advertise sites. Ads for mobile apps won't have any impressions.
Example of product sales feed:
<?xml version="1.0" encoding="utf-8"?>
<yml_catalog>
<shop>
<categories> ... </categories>
<offers>
<offer>...
<collectionId>dukhi1</collectionId>
<collectionId>kosmetika2</collectionId>
</offer>
<offer> ... </offer>
</offers>
<collections>
<collection id="dukhi1">
<url>httpss://example.ru/catalog/dukhi</url>
<picture>httpss://example.ru/img/1.jpg</picture>
<picture>httpss://example.ru/img/2.jpg</picture>
<name>Мужские духи в интернет-магазине Example</name>
<description>Мужские духи – подчеркните свой стиль </description>
</collection>
<collection id="kosmetika2">
<url>httpss://example.ru/catalog/kosmetika</url>
<picture>httpss://example.ru/img/3.jpg</picture>
<picture>httpss://example.ru/img/4.jpg</picture>
<name>Косметика для бритья в интернет магазине Example</name>
<description>Косметика для бритья: приятный ежедневный уход</description>
</collection>
</collections>
</shop>
</yml_catalog>
Child elements of the <collections>
element
Element |
Description |
Required element |
||||||||||||
|
Unique catalog ID. Maximum length: 60 characters. The value can be numeric, alphabetic, or alphanumeric. The IDs for each catalog must be unique. |
yes |
||||||||||||
|
URL of the catalog page. Maximum link length: 2048 characters. You can use links in Cyrillic. (We recommend converting links in Cyrillic characters using Punycode). The URL format follows the RFC 3986 standard. The URL must specify the How to encode characters in a URL?
URLs must not contain spaces. Replace spaces with |
yes |
||||||||||||
|
Image link. You can add multiple image links, each in its own picture element. How do I change the image in the ad?For the Yandex robot to update the catalog image in ads, change the link to it in the feed. For example:
|
for impressions in the Yandex Advertising Network and the product gallery |
||||||||||||
|
Catalog name. |
yes |
||||||||||||
|
Catalog description. |
no |
1C-Bitrix users can quickly generate a feed with catalog pages by following the instructions.
If you work with the InSales platform and have set up automatic feed updates, catalog info will be automatically added to it, — with no additional actions required on your part. You can also create a feed with catalogs using a custom export to Yandex Market by following the instructions.
Questions?
Alert
Our customer service department can only help you with the campaigns created under the same username you use to contact us. You can check your username by opening ya.ru in another browser tab. Our team can access your data only when processing your request.