How to work with dynamic ads

Dynamic ads are generated by Yandex.Direct automatically. The data source for generating ads can be either the advertised site or a feed (a file with product offers). Yandex.Direct will analyze the website content and automatically generate ad titles and targeting criteria.

Dynamic ads are not suitable for certain categories of products. For more information, see Dynamic ads in the Help for Yandex.Direct.


Currently, the Yandex.Direct API only provides full support for working with groups of dynamic ads that have a website as the data source.

Ads generated from website pages: how it works

  1. Create a campaign with the DYNAMIC_TEXT_CAMPAIGN type: the Campaigns.add method.

    For details about working with this type of campaign, see the section Campaign type.

    For information about available display strategies, see the section Display strategies.

    For information about other campaign parameters, see the section Campaign parameters.

  2. Add an ad group to the campaign with the DYNAMIC_TEXT_AD_GROUP type: the AdGroups.add method.

    A required group parameter is the domain that ads will be generated for. Pass the domain in the DynamicTextAdGroup structure.

    For details about working with this type of group, see the section Group type.

  3. Add dynamic ad targets to the group: the DynamicTextAdTargets.add method.

    A dynamic ad target defines the set of pages with product descriptions to create ads for. You can set a bid and/or priority for dynamic ad targets.

    For more information about dynamic ad targets, see DynamicTextAdTarget — Webpage.

  4. Add one or more ads with the DYNAMIC_TEXT_AD type to the group: the Ads.add method.

    A required ad parameter is the text that will be used in all generated ads. Pass ad parameters in the DynamicTextAd structure.

    For details about working with this type of ad, see the section Ad type.

  5. Submit ads for review: use the Ads.moderate method.

Ad displays will begin after ads and targeting criteria are generated, provided that the domain and ad text are approved after review.

Ads generated from feed data: partial support

If the data source for generating ads is a feed, some operations are only available in the web interface at this time.

Not supported in the API Available in the API
  • Creating and editing groups of dynamic ads that have a feed as the data source.

  • All operations with filters, including setting bids.

  • All operations with campaigns.

  • Use the AdGroups.get method to get ad groups that have a feed as the data source. List the names of specific parameters in the DynamicTextAdGroupFieldNames input parameter, and they will be returned in the DynamicTextFeedAdGroup structure.

  • All operations with ads. For example, you can create a group with a feed as the data source in the web interface, and then use the Ads.add method to add ads to it.

  • Getting statistics.

Getting statistics

To get statistics for campaigns with the “Dynamic ads” type, use the Reports service.

In the report, you can get the ID and name of the dynamic ad target if the data source is a site, or the ID and name of the filter if the data source is a feed. To do this, add the CriteriaId and Criteria values to the FieldNames input array.