LisbonWe're at Web Summit, booth A1-33.See details
Feedance
Yandex Ads logoYandex AdsChannel · Ad platforms
Yandex integration

Send Yandex the products
worth showing.

Feedance 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 Ads product feed
Generated by Feedance
XML, CSV or JSON exportUpdated on every sync
<item>
  <id>TS-1042</id>
  <title>Crew neck T-shirt</title>
  <price>49.90 USD</price>
  <availability>in stock</availability>
  <custom_label_0>score_86</custom_label_0>
  <custom_label_1>top</custom_label_1>
  <custom_label_2>best_price</custom_label_2>
  <custom_label_3>size_ok</custom_label_3>
</item>
Feedance labels, written as custom labels
What Feedance sends to Yandex

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.

Product Scorecustom_label_0A 0 to 100 score from views, add to carts and purchases over 1, 7 and 30 days.
4T segmentcustom_label_1Top, Tolerable, Tranquil or Toxic, from each product's own traffic and return.
Price Warcustom_label_2Best, same or more expensive than named competitors.
Broken Sizecustom_label_3Flags styles whose size run is mostly out of stock.
Creativesimage_linkBranded images from Creative Suite, with price and campaign details from the feed.
How you use it: split campaigns, product groups or product sets by these labels, for example only Top products, or everything except Toxic and broken size runs. Label slots are configurable. Feedance does not change your bids or budgets.

What is Yandex Ads?

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.

Why connect your product feed to Yandex Ads?

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.

Smart banners and dynamic ads: how the feed becomes an ad

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.

What feed format does Yandex Ads require?

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.

Which product attributes are required?

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:

AttributeRequirement
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).
availableBoolean attribute (true/false) indicating current stock status.
categoryIdPositive integer, maximum 18 characters; exactly one category per offer.
priceWhole or decimal number using a dot separator; cannot be zero.
currencyIdSupported currency code, e.g. RUB, USD, EUR.
urlDirect link to the product page; maximum 2,048 characters, HTTP or HTTPS.
nameRequired for simplified-type offers; if missing, Yandex's system ignores the offer entirely and no ads are generated for it.
vendor / modelRequired together when an offer uses type="vendor.model"; omitting either causes an error and the offer is ignored.
pictureMinimum 450x450 pixels; JPG, PNG, WEBP, or GIF; Yandex recommends around 5 images per offer.
paramOptional structured specifications (color, size, material, and similar); Yandex allows up to 10 per offer.

How to connect Yandex Ads with Feedance

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:

  1. Connect your product source (store platform, spreadsheet, or existing feed) to Feedance.
  2. Feedance maps your fields into valid YML structure: id, available, price/currencyId, categoryId, and either the simplified name path or the vendor/model path, depending on how your catalog is structured.
  3. Feedance generates a hosted feed URL that returns the Content-Type Yandex's fetcher expects, so you can register it directly in Yandex Webmaster's "Feeds and errors" section or point a Yandex Direct smart banner feed at it.
  4. Ongoing price, stock, and attribute changes in your source data are re-synced into the feed automatically, keeping the offers Yandex Direct reads current without manual re-uploads.

Feedance handles the feed layer; campaign setup itself (SmartCampaign, ad groups, creative design in the Yandex Direct interface) still happens in Yandex Direct directly.

How often should the feed update?

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.

Common feed errors

Per Yandex's own feed documentation, the failure conditions that most often keep offers out of Yandex Ads are:

  1. Missing name element on a simplified-type offer -- Yandex's system ignores the offer outright and no ads are generated for it.
  2. Missing vendor or model on an offer declared as type="vendor.model" -- this produces an error and the offer is ignored rather than partially processed.
  3. Feed and live-site data mismatches -- Yandex Webmaster's validation explicitly checks for this after initial technical acceptance, and widespread mismatches can result in individual offers being blocked or the entire feed being rejected.
  4. Inconsistent product IDs across feeds -- Yandex's requirements state the same product must carry the same id across every feed you submit it in; drifting IDs break the identity link Yandex uses to track a product.
  5. Wrong Content-Type header on a URL-hosted feed -- if your server does not return one of the accepted types (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.

Optimization tips

  1. Decide up front whether each offer is simplified (name-based) or vendor/model-based, and populate the corresponding required fields consistently -- mixing the two inconsistently is what triggers ignored offers.
  2. Keep 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.
  3. Supply the full recommended set of around 5 images per offer at or above the 450x450 minimum; smart banners are visual by nature and a feed with only one small image limits what the ad builder can generate.
  4. Use 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.
  5. Keep the same 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.

FAQ

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.

About Yandex Ads

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.

See which
products earn.

Connect your feed and GA4. We show Product Score, 4T, Price War and Broken Size on your own catalog.