A catalog with a performance signal on every product.
Yandex reads your products from the feed. Feedance sends a complete, valid feed plus the signals Yandex does not have on its own.
Yandex AdsChannel · Ad platformsFeedance builds your Yandex Ads feed and adds product-level labels for score, 4T segment, price position and broken sizes, so every product carries its own performance signal.
Yandex reads your products from the feed. Feedance sends a complete, valid feed plus the signals Yandex does not have on its own.
Yandex Ads is the advertising ecosystem built around Yandex Direct, the ad platform behind Russia's largest search engine, and Yandex Market, its shopping marketplace. Rather than running keyword-only text ads, Yandex Direct can generate ads directly from a product feed -- the same kind of structured file that powers Yandex Market listings -- so a single feed can drive both organic-style marketplace presence and paid dynamic advertising.
The feed format at the center of this ecosystem is YML (Yandex Market Language), Yandex's own XML-based schema for describing offers: products or services with an id, price, category, and descriptive attributes. Feedance connects your product data to this format so it can be used across Yandex Direct's feed-driven ad types.
Yandex Direct's feed-based ad types exist specifically so you do not have to build and maintain individual ads by hand for a catalog that changes constantly. Once a feed is connected, Yandex Direct reads it directly to decide what to advertise, at what price, and whether an item is even in stock.
The practical upside is that price and availability changes in your feed can propagate into live ads without a campaign rebuild, and new products entering the feed become eligible for ads automatically as long as they meet the feed's requirements. For a catalog with regular price changes or stock turnover, that removes a recurring manual step that would otherwise sit between your product data and what shoppers actually see.
Yandex Direct's smart banners are, in its own words, "interactive banners with dynamic content" that are "automatically generated from a feed." The mechanic targets shoppers who already viewed products on your site or engaged with similar items elsewhere, then assembles a banner from your feed's images, name, and price for that specific product -- no manual banner design per product required.
Under the hood, the workflow Yandex Direct's API documents runs in a fixed sequence: the feed is uploaded via Feeds.add, a SmartCampaign is created via Campaigns.add, a SmartAdGroup is set up referencing that feed, product selection targets are configured through SmartAdTargets (bid and/or priority per target), and ads are created with Ads.add before going through Ads.moderate. One limitation worth knowing before you plan automation around this: creative design itself is only available in the Yandex Direct web interface today -- the API can retrieve and deploy an existing creative, but it cannot design one from scratch.
Yandex Ads runs on YML (Yandex Market Language), an XML-based feed format. Per Yandex Direct's own feed requirements documentation, a valid YML file uses <yml_catalog> as its root element, carrying a date attribute in YYYY-MM-DD hh:mm format that reflects when the file was generated. Accepted file extensions are .xml and .yml, and Yandex also accepts GZIP-compressed versions of either.
Feeds can be submitted either as an uploaded file or as a URL Yandex fetches directly; per Yandex Webmaster's feed documentation, a URL-hosted feed must return one of these HTTP Content-Type headers to be accepted: application/xml, application/octet-stream, text/xml, application/gzip, or application/x-gzip. If your feed sits behind authentication, Yandex supports credentialed URLs in the form http://username:password@example.com/feed.yml.
Every product in a YML feed is wrapped in an <offer> element. Yandex Direct's documented requirements specify the following as the core fields that determine whether an offer is accepted and eligible to generate ads:
| Attribute | Requirement |
|---|---|
id (offer attribute) | Unique identifier, maximum 100 characters; must stay identical for the same product across different feeds you submit (e.g. Yandex and any other channel). |
available | Boolean attribute (true/false) indicating current stock status. |
categoryId | Positive integer, maximum 18 characters; exactly one category per offer. |
price | Whole or decimal number using a dot separator; cannot be zero. |
currencyId | Supported currency code, e.g. RUB, USD, EUR. |
url | Direct link to the product page; maximum 2,048 characters, HTTP or HTTPS. |
name | Required for simplified-type offers; if missing, Yandex's system ignores the offer entirely and no ads are generated for it. |
vendor / model | Required together when an offer uses type="vendor.model"; omitting either causes an error and the offer is ignored. |
picture | Minimum 450x450 pixels; JPG, PNG, WEBP, or GIF; Yandex recommends around 5 images per offer. |
param | Optional structured specifications (color, size, material, and similar); Yandex allows up to 10 per offer. |
Feedance builds and maintains the YML feed Yandex Direct expects, without you hand-writing XML or reformatting your product data every time Yandex's requirements shift. In practice:
id, available, price/currencyId, categoryId, and either the simplified name path or the vendor/model path, depending on how your catalog is structured.Feedance handles the feed layer; campaign setup itself (SmartCampaign, ad groups, creative design in the Yandex Direct interface) still happens in Yandex Direct directly.
Yandex does not publish one universal refresh number that applies to every feed. Its own guidance is that you "specify the required update frequency in the settings" -- meaning update cadence is a merchant-configurable setting rather than a fixed platform rule, and different CMS integrations expose this differently. What is documented consistently is the consequence of staleness, not a fixed interval: since available and price feed directly into ads and smart banners, a feed that updates infrequently risks advertising out-of-stock items or the wrong price for longer than necessary.
For a smart banner feed reacting to real browsing behavior, and for any catalog with meaningful daily price or stock movement, syncing at least daily is the practical baseline -- Feedance can run this on a schedule matched to how often your source data actually changes, rather than leaving it to a default.
Per Yandex's own feed documentation, the failure conditions that most often keep offers out of Yandex Ads are:
name element on a simplified-type offer -- Yandex's system ignores the offer outright and no ads are generated for it.vendor or model on an offer declared as type="vendor.model" -- this produces an error and the offer is ignored rather than partially processed.id across every feed you submit it in; drifting IDs break the identity link Yandex uses to track a product.application/xml, text/xml, application/octet-stream, application/gzip, application/x-gzip), Yandex's fetcher can fail to read the feed at all.Yandex Webmaster's "Services and offers in search → Feeds and errors" page is the place to check any of these; after you fix an error, Yandex re-checks the feed after some delay rather than instantly.
name-based) or vendor/model-based, and populate the corresponding required fields consistently -- mixing the two inconsistently is what triggers ignored offers.available and price tightly synced with your actual storefront, since both feed straight into smart banners shown to users who already viewed the product -- a stale price or a sold-out item shown as available undermines the exact retargeting mechanic smart banners rely on.param entries deliberately for attributes that differentiate near-identical products (size, color, material) rather than leaving them blank, since these help Yandex Market and Yandex Direct distinguish variants within the same category.id for a given product across every feed you run (Yandex Ads, Yandex Market, or others) -- Yandex's own requirements call this out specifically, and it matters if you ever cross-reference performance across channels.Is YML the same thing as XML?
YML is Yandex's own schema built on top of XML -- every YML file is a valid XML document, but it follows Yandex-specific structure (yml_catalog, offer, required attributes like categoryId and available) that generic XML does not define on its own.
Can I use the same feed for Yandex Market and Yandex Direct smart banners?
Yes -- Yandex's own documentation notes that smart banners can use "the traditional Yandex.Market feed (YML) format," so a single compliant YML feed can serve both, provided the offer IDs stay consistent between the two.
What happens if I forget the vendor or model element on a custom-type offer?
Per Yandex's documentation, the offer produces an error and is ignored -- ads are not generated for it -- so both fields need to be present together whenever you declare a vendor.model type offer.
Does Yandex enforce a minimum feed update frequency?
Not a single fixed number. Yandex's guidance is that you configure the required update frequency yourself in settings; the platform does not publish one mandatory interval that applies across all feed types.
Where do I see if my feed has errors?
In Yandex Webmaster, under Services and offers in search → Feeds and errors. Yandex performs initial technical validation on upload, then ongoing quality checks that can surface mismatches between your feed and your live site.
Yandex Ads is the advertising ecosystem around Yandex Direct, the ad platform of Russia's largest search engine, and Yandex Market, its shopping marketplace. It is mainly used to reach shoppers in Russia.
Besides keyword text ads, Yandex Direct can create ads directly from a product feed. Smart banners, for example, are generated automatically from the feed's images, names and prices and shown to shoppers who viewed products on your site or similar items elsewhere. New products in the feed become eligible for ads, and price or stock changes reach live ads without rebuilding campaigns.
The feed format is YML (Yandex Market Language), Yandex's XML-based format for describing offers with an ID, price, category and other attributes. Feeds can be uploaded as a file or fetched from a URL, and the same kind of file also powers Yandex Market listings.
Because Yandex Direct reads the feed to decide what to advertise, at what price and whether an item is in stock, feed quality directly affects results. Missing required attributes, wrong prices or outdated availability lead to rejected offers or wasted ad spend.
Connect your feed and GA4. We show Product Score, 4T, Price War and Broken Size on your own catalog.