• Возможности
  • Тарифы
  • Вопросы
  • Блог
ВойтиНачать бесплатно
0%
Binetro

Защита

  • Защита от ботов
  • Защита от скликивания

Аналитика

  • Аналитика трафика
  • Отчёты

Подключение

  • Тильда
  • WordPress
  • Любой сайт

Начало работы

  • Как подключить
  • Тарифы
  • Блог

Документы

  • Политика конфиденциальности
  • Договор публичной оферты
  • Согласие на обработку данных
  • Политика использования cookie
  1. Blog
  2. Metrics and calculations

Advertising ROMI: how to calculate it and how fraud bends it

Published October 25, 2026Binetro editorial teamMetrics and calculations7 min read—
Contents
  1. Two formulas under one name
  2. Where the spend comes from
  3. Cost share is the same pair of numbers, turned around
  4. Goal value is an estimate, not the till

Contents

  1. Two formulas under one name
  2. Where the spend comes from
  3. Cost share is the same pair of numbers, turned around
  4. Goal value is an estimate, not the till

You're paying for people who will never buy

Binetro filters bot traffic and helps direct your ad budget toward real buyers.

Protect your ads

Share

The word ROMI does not appear on the Yandex glossary page or on the expenses report. Direct’s glossary calls return on investment ROI and defines it as the ratio of return from promotion to spend on promotion. The formula on the help image is (business metric − advertising spend) / advertising spend. The image does not multiply the result by 100.

A balance scale, two pans set against each other
ROI sets return against spend. The formula has no separate pan for empty clicks. · Photo: CC0, Creator:Henry N. Hooper and Company Creator:O.P. Drake

The page allows the business metric to be sales income, profit as income minus cost, or another measure of return. The formula has no separate subtraction for invalid traffic. How to estimate the loss yourself, without pretending the estimate is a field in the account, is covered in how to calculate click-fraud budget loss.

Two formulas under one name

In Metrica the report opens at “End-to-end analytics → Sources, expenses, and ROI”. There ROI is already a percent.

ROI by income = (total income − spend) / spend × 100.

ROI by goal = (goal value − spend) / spend × 100.

ROI by goal needs a goal of the type “goal event” and income on that goal. The help page reads a higher ROI as more profitable advertising. Zero means there was no extra income and only the costs came back. A negative value means more was put into advertising than came back. Spend of campaigns that pay for impressions is not shown in Metrica’s reports, so those campaigns have no denominator to build in this report.

This is not the Direct glossary formula. That one has no factor of 100. A worked example, not a report: income 180,000 ₽, spend 100,000 ₽. On the glossary image, (180,000 − 100,000) / 100,000 = 0.8. In the Metrica report the same fraction times 100 is 80. Mixing up 0.8 and 80% is easy if the number came from someone else’s screenshot and you never asked which page calculated it.

The expenses page does not measure the percent by which fraud lowers ROI. The CPA and ROI fractions have no separate term for “spam”, “an off-target lead”, or “an invalid click”. They divide spend by goal visits, goal visitors, goal completions, or purchases, and they subtract spend from income or from goal value. An empty click that stayed in spend sits in the subtraction and in the denominator. The report will not lift it into its own row.

Suppose, in the same example, you yourself judge that 15,000 ₽ of spend brought no buyer. For the report, spend is still 100,000 ₽, and ROI by income stays 80. Recalculating (180,000 − 85,000) / 85,000 × 100 is your estimate, not a field in the account. The 15,000 ₽ is an assumption of the example, not a share the help page “usually” assigns to fraud.

Where the spend comes from

To see Direct spend you need to be the campaign owner, the owner’s representative, or an agency representative. A file and Direct campaign data do not fill in visits. UTM tags are matched to visits that already carry those tags. Direct campaign data is tied to that campaign. Spend is not written onto a visit that had no tag.

Which clicks and conversions fall inside the chosen period depends on the attribution model. The example on the expenses page refers to “Last click from Direct” and “First click”. From 20 May 2026 those two models, together with “Last significant click” and “Last click from Direct, cross-device”, are switched off. The date is the help page’s wording, checked on 25 October 2026. The help page promises to move saved reports onto the current models itself.

Four models remain for the report: first click cross-device, last click, last significant click cross-device, and automatic attribution. The attribution window is visits with no break longer than 90 days. After such a break the history ends and starts again. The user cannot change the window. Cross-device for the first-click model and the last-significant model follows device history through Crypta. Attribution by impressions is placed in Metrica for display advertising on that page and is not one of the four models.

The same spend can land on different visits under two models. ROI moves not because the cash register changed, but because the income numerator was collected from another set of visits. Two ROI exports are comparable only on one model.

Cost share is the same pair of numbers, turned around

Direct’s glossary defines the share of advertising expenses as the ratio of promotion spend to the income that promotion brought, and it says the metric is measured in percent. The glossary does not write the fraction and does not say whether income means revenue or profit.

The Metrica expenses report does write the fraction. Cost share by ecommerce income is spend / total ecommerce income. Cost share by goal is spend / goal value. The second needs a “goal event” and income on the goal. The first needs total income in the ecommerce data. The formula on the page has no × 100, even though the glossary calls the share a percent. The page does not say how the interface rounds a ratio into percent.

In the worked example, 100,000 / 180,000 ≈ 0.56. Calling that 56% is a retelling of the glossary, not a quotation of the report formula. ROI by income in the same example is 80 under the formula that multiplies by 100. They are different metrics. One divides spend by income. The other subtracts spend from income and divides by spend.

MetricWhere it is labeledWorked figure, income 180,000 ₽, spend 100,000 ₽
ROIDirect glossary image(180,000 − 100,000) / 100,000 = 0.8
ROI by incomeMetrica expenses reportthe same fraction × 100 = 80
Cost share by ecommerce incomeMetrica expenses report100,000 / 180,000 ≈ 0.56

Goal value is an estimate, not the till

Direct’s glossary calls conversion value a money estimate of reaching the goal and the margin the goal brings the business. The higher the value, the larger a part the goal takes in the campaign. It is the basis for calculating profit from promotion. It is the advertiser’s estimate, not a cash fact. Putting an “approximate” value into ROI by goal produces a percent of your own estimate. The till does not appear in the report because of that.

On the Direct glossary, the Metrica goals page, the performance-statistics breakdown, and the expenses report, the abbreviation CPL is not defined. The price of an action is called CPA. Those four pages were checked. That is not proof the word CPL is absent everywhere else in the help. How report CPA is built is in how to calculate cost per lead.

You're paying for people who will never buy

Binetro filters bot traffic and helps direct your ad budget toward real buyers.

Protect your ads

Related

  • How to calculate a conversion

    In Yandex Metrica, conversion is the share of goal visits, not a count of leads. How a visit differs from a goal completion, and how Direct labels CR and CPA.

    7 min read
  • Robotness in Yandex Metrica: what the number is

    Robotness is the share of visits Yandex Metrica classed as robots by behavior. It is not the share of your Direct budget. The two systems differ, and the report mode is the one on your screen.

    6 min read
  • How to estimate budget lost to click fraud

    The loss is the share of spend you were charged, behind which there was no buyer. The invalid-clicks row is not part of that sum: you were not charged for it.

    5 min read
  • How to calculate cost per lead

    Cost per lead in the report is spend divided by leads. The conversion price on a Yandex Direct strategy is a different number: a limit you set, not the period's result.

    5 min read
All articles