Optimize ROI

Attention. Starting June 2, 2021, the strategy is available only to customers with active campaigns that run this strategy. In your new campaigns, better use the Target cost revenue ratio strategy instead.

The “Optimize ROI” strategy is good for advertisers who have defined their advertising goals and know their optimal ratio of expense to earnings.

The strategy lets you to get the maximum number of conversions for the selected goal while maintaining the specified return on investment (ROI).

This strategy is most effective for campaigns that get more than 200 clicks and at least 10 converted sessions a week.

How ROI is calculated

Return on investment (ROI) allows you to evaluate how much your advertising spending pays off. ROI is the ratio of return on advertising to money spent on advertising:

As a business metric, you can use:
  • Revenue from product sales
  • Profit: revenue minus cost
  • Any other indicator characterizing return on advertising

For example, over a month you spent 500 TL on advertising a product, while the total cost of the product sold (excluding advertising expenses) is 13,000 TL and the sales revenue is 20,000 TL. According to the formula above, the ROI calculated from revenue is:

While ROI calculated from profit is:

A high ROI in Yandex.Direct means that ads are performing very effectively and the profit from conversions pays off against the advertising expenses.

Prerequisites for using the strategy

  1. A Yandex.Metrica tag is installed on the advertised website. Yandex recommends that you embed the tag's code snippet on every page of your site.
  2. Goals are configured for your tag.
  3. You must specify the tag number and enable link tagging for Yandex.Metrica in the campaign settings in Yandex.Direct. More information about Yandex.Metrica.
  4. You have configured passing the business metric to Yandex.Direct, i.e., the amount and currency of the goal value. There are several ways to pass it:
    • Add priority goals to the campaign settings and set a value for them. Besides the goals that bring you direct income, you can also choose any other goals to optimize your ads, such as registration on your website or consent to participate in a promo.

    • Specify the goal revenue in the Yandex.Metrica interface. You don't need programming skills or precise financial indicators. Enter your average order value or estimated revenue per request or submitted form.
    • Use the method reachGoal with the goal ID and preset value.
    • Enable ecommerce and pass the product price or order amount. For the “eCommerce: Purchase” goal, the goal ID is automatically transmitted by Yandex.Metrica. For any other goal, the ID must be passed in the goal_id field.
      Example of passing the product price and goal ID
                                              "ecommerce": {
                                              "purchase": {
                                              "actionField": {
                                              "id" : "TRX987",
                                              "goal_id": "123456"
                                              "products": [
                                              "id": "25341",
                                              "name": "Толстовка Яндекс мужская",
                                              "price": 1345.26,
                                              "brand": "Яндекс / Яndex",
                                              "category": "Одежда/Мужская одежда/Толстовки и свитшоты",
                                              "variant": "Оранжевый цвет"
                                              "id": "25314",
                                              "name": "Толстовка Яндекс женская",
                                              "price": 1543.62,
                                              "brand": "Яндекс / Яndex",
                                              "category": "Одежда/Женская одежда/Толстовки и свитшоты",
                                              "variant": "Белый цвет",
                                              "quantity": 3

    If you use a non-monetary business indicator, pass the payment currency you have set in Yandex.Direct.

Strategy settings

Return on investment

The desired average return on investment per week, in units.

The system will adjust bids so that the ROI for the selected goal is close to the specified value.

As the strategy is run, the metric can deviate (either up or down) over the course of a week, but by the end of each week it will get closer to the set value.


This strategy aims to increase the percentage of clicks on ads that most often reach the goal. You can use one of the Yandex.Metrica goals or enable optimization by priority goals (if they are configured in your campaign settings). If only engaged sessions are used as priority goals, optimization for priority goals is not available.

A Yandex.Metrica goal doesn't appear in the strategy settings immediately after being added. The list of available goals is updated once per day.

What does the color of the goal mean?

It shows the total number of conversions for the selected goal from all sources of traffic (attracted both by ads and otherwise).


The goal has enough conversions for all traffic sources. We recommend using this goal.


The goal has few conversions for all traffic sources. There are risks that there'd also be few conversions for the goal during campaigns, making the campaigns ineffective. Choose this goal if you are sure you have enough conversions to run the strategy.

Reinvest in advertising

If the strategy shows better ROI than you set, you can reinvest some of the saved money back into your weekly budget to buy more clicks. Specify the percentage of the saved budget to be reinvested.

Weekly budget

The minimum weekly budget is 17 TL.

The actual expenditure of a campaign using this strategy may vary by several percent from the specified budget. Accuracy may be affected when you switch between strategies, make changes to the budget, suspend a campaign, refine your time targeting or change the campaign start date.

Budget distribution depends on your time targeting settings. For example, if you limit ad impressions to two days a week, your budget will only be distributed over those two days.

If the budget cannot be spent, you will see an alert in the interface and get a notification sent to your inbox. This usually means that the keywords selected have a low CTR, a low budget or a low maximum bid.

Attribution model

An attribution model is a rule that determines which click is assigned as the source of a session on your site. The model helps you more accurately identify how advertising contributes to business growth. The bidding system uses Yandex.Metrica statistics for the selected attribution model and focuses on achieving your desired result.

You should select a model based on your business type, the method you use for attracting traffic, and what information you need to obtain from it. The default attribution model is Last click from Yandex.Direct. You can change it as needed.

More about attribution models.

Maximum CPC

You can limit the CPC if necessary. If the maximum CPC is not set, by default it will not exceed 10% of the weekly budget.

It is not recommended to limit your CPC. A weekly budget should be specified if you need to control the expenditure of your funds independently.

Cost of goods or services

The percentage of the product cost in its sales revenue. This setting is useful to optimize the net profit margin. In general, the profit is calculated using the formula:

If you do not know the cost of each product, you can pass the sales revenue as a business metric, and use this setting to specify the average cost percentage in the revenue. The system will make all necessary calculations itself and optimize ROI based on profit.

You can also use this setting if you do not want to send information about your real revenue to Yandex.Metrica. In this case, you can provide adjusted data and use the following formula to get the cost to enter in the strategy settings: 100/adjustment factor.