The Feedance AI features is rolling out. Check it out!
How Feedance can help your revenue growth
250+ channel and platform integrations
Start optimizing with powerful integration
Wordpress compatible e-commerce integration
Start optimizing Magento very quickly
Open source e-commerce platform integration
Integrate ChatGPT Ads Catalog in seconds
Optimize Meta Catalog Ads
Optimize your Google Shopping visibility correctly
Optimization of TikTok Catalog 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.
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.
Feeds.add
SmartCampaign
Campaigns.add
SmartAdGroup
SmartAdTargets
Ads.add
Ads.moderate
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.
<yml_catalog>
date
YYYY-MM-DD hh:mm
.xml
.yml
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.
application/xml
application/octet-stream
text/xml
application/gzip
application/x-gzip
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:
<offer>
id
available
true
false
categoryId
price
currencyId
RUB
USD
EUR
url
name
vendor
model
type="vendor.model"
picture
param
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:
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:
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.
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.
yml_catalog
offer
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.
vendor.model
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.
We’ll tailor your demo to your immediate needs and answer all your questions. Get ready to see how it works!