Ads Manager показує, що кампанія відпрацювала з ROAS 3.1x. Витрачено $8,200, відстежено $25,500 у «purchase»-цінності, стрілка вгору і вправо. Потім приходить вивантаження з CRM: із 1,020 реєстрацій, які Facebook зарахував як конверсії, депозит зробили лише 150. Реальний RevShare-дохід від цих 150 гравців за наступні 30 днів: $6,150. Реальні витрати, включно з рекламним спендом і комісією мережі за обробку $350: $8,550. Чистий результат: збиток $2,400 на кампанії, яку Facebook радить масштабувати ще сильніше. Це не рідкісний глюк — так відбувається щоразу, коли платформа, що звітує про твій ROAS, не бачить події, яка насправді генерує дохід. Якщо тобі потрібна цифра, на основі якої варто масштабувати кампанію чи вбивати її, — рахуй її сам.
ROAS, ROI та ROMI: формули, які тобі потрібні
У чатах медіабаїнгу ці три метрики використовують як взаємозамінні — і саме так люди самі себе переконують масштабувати збиткову кампанію. Насправді вони відповідають на різні питання.
| Метрика | Формула | На яке питання відповідає |
|---|---|---|
| ROAS (Return on Ad Spend) | Дохід ÷ Рекламний спенд | «Скільки доходу повернулося на кожен $1 рекламного спенду?» |
| ROI (Return on Investment) | (Дохід − Загальні витрати) ÷ Загальні витрати × 100 | «Який відсоток прибутку я отримав з усього, що витратив, а не лише з реклами?» |
| ROMI (Return on Marketing Investment) | (Валовий прибуток − Маркетингові витрати) ÷ Маркетингові витрати × 100 | «Якщо врахувати лише маркетингові витрати, яка моя віддача?» |
ROAS = Дохід / Рекламний спенд
ROI = (Дохід - Загальні витрати) / Загальні витрати × 100
= Чистий прибуток / Загальні витрати × 100
ROMI = (Валовий прибуток - Маркетингові витрати) / Маркетингові витрати × 100
ROAS — це коефіцієнт («3.1x»), який ігнорує все, крім рекламного спенду. ROI — це відсоток, і він має сенс лише тоді, коли «Загальні витрати» включають усі реальні витрати: комісії мережі, підписку на трекер/CRM, чарджбеки. ROMI обмежує ту саму математику лише маркетинговими витратами, що важливо, коли в бізнесу є витрати поза контролем маркетингу (собівартість товару, фулфілмент). Для медіабаєра, який ллє платний трафік на партнерські оффери, рекламний спенд зазвичай становить майже всі маркетингові витрати, тож ROMI і ROI зазвичай сходяться в одну цифру.
Пастка: ROAS 2x звучить чудово, доки не усвідомиш, що ROI все одно може бути від’ємним, якщо нерекламні витрати достатньо великі. Ніколи не дозволяй ROAS підміняти ROI, коли вирішуєш, продовжувати лити бюджет чи ні.
Точка беззбитковості ROAS і точка беззбитковості CPA
Перш ніж називати цифру «хорошою», треба знати межу, нижче якої ти вже в мінусі — і зазвичай це не 1.0x.
Точка беззбитковості ROAS = 1 + (Нерекламні витрати / Рекламний спенд)

Якщо рекламний спенд — це єдина твоя витрата, точка беззбитковості ROAS дорівнює рівно 1.0x. Додай комісію мережі $150 до спенду $6,000 — і межа зміститься:
Точка беззбитковості ROAS = 1 + (150 / 6,000) = 1.025x
Нижче 1.025x на цій кампанії ти вже втрачаєш гроші — навіть якщо наївне прочитання каже «понад 1x, все гаразд».
Для CPA-офферів корисніше перевернути питання: скільки максимум ти можеш дозволити собі платити за конверсію в рекламі? Це і є точка беззбитковості CPA:
Точка беззбитковості CPA = Виплата за конверсію - Змінна вартість на конверсію
Якщо nutra-мережа платить $32 за підтверджений FTD, а вартість трекера/обробки — $1.33 за конверсію, точка беззбитковості CPA становить $30.67. Ставиш до цієї цифри — структурно в плюсі; переходиш за неї — кожна конверсія збиткова, незалежно від того, який ROAS показує дашборд.
Розібраний приклад: гемблінг-кампанія на RevShare
| Метрика | Значення |
|---|---|
| Рекламний спенд | $6,000 |
| Кліки | 12,000 |
| CPC | $0.50 |
| Реєстрації | 600 |
| FTD | 180 |
| RevShare-дохід на FTD (вікно 30 днів) | $45 |
| Інші прямі витрати (комісія мережі) | $150 |
Загальний RevShare-дохід = 180 FTD × $45 = $8,100
ROAS = $8,100 / $6,000 = 1.35x
Загальні витрати = $6,000 (рекламний спенд) + $150 (комісія мережі) = $6,150
Чистий прибуток = $8,100 - $6,150 = $1,950
ROI = $1,950 / $6,150 × 100 = 31.7%
Точка беззбитковості ROAS = 1 + (150 / 6,000) = 1.025x
Фактичний ROAS (1.35x) впевнено перекриває точку беззбитковості ROAS (1.025x) — і це реальний прибуток, адже $8,100 — це підтверджений RevShare-дохід із постбека оператора, а не припущена пікселем цінність.
Дисципліна: не оцінюй RevShare-кампанію лише за вартістю FTD в день 1. Цифра $45 за FTD вище — це значення після того, як закриється 30-денне вікно і осядуть рибіли. Якщо порахувати це в день 1, до дозрівання депозитів, реальний дохід буде занижений, і прибуткову кампанію можуть вбити зарано (детальніше про це в Що таке FTD-трекінг).
Розібраний приклад: нутра-кампанія на CPA
| Метрика | Значення |
|---|---|
| Рекламний спенд | $2,400 |
| Кліки | 6,000 |
| CPC | $0.40 |
| Підтверджені FTD (CPA-конверсії) | 90 |
| Виплата за FTD | $32 |
| Вартість трекера/обробки | $120 всього ($1.33/конверсію) |
Дохід = 90 × $32 = $2,880
ROAS = $2,880 / $2,400 = 1.2x
Загальні витрати = $2,400 + $120 = $2,520
Чистий прибуток = $2,880 - $2,520 = $360
ROI = $360 / $2,520 × 100 = 14.3%
Досягнутий CPA = $2,400 / 90 = $26.67
Точка беззбитковості CPA = $32 - $1.33 = $30.67
Маржа/конверсію = $30.67 - $26.67 = $4.00 → $4.00 × 90 = $360 (збігається з чистим прибутком)
Математика CPA чистіша за RevShare, бо виплата фіксована і підтверджується в момент спрацювання постбека — без вгадування lifetime value. Плата за це — тонша маржа: ROAS 1.2x тут — це справді напружена кампанія, тоді як 1.2x на RevShare-оффері, який ще не доакумулювався, з високою ймовірністю виявиться збитковим після повного дозрівання.
EPC і EPV: вхідні дані за кожним числом ROAS
Earnings per click (EPC) і earnings per visit (EPV) — це будівельні блоки, з яких складається твій ROAS. Їх варто відстежувати окремо, бо вони показують, де кампанія виграє чи програє, ще до того, як це покаже сукупний ROAS.
EPC = Загальний дохід / Загальні кліки
EPV = Загальний дохід / Перевірені візити (після фільтрації трафіку)
Застосуємо це до двох розібраних прикладів вище:
Гемблінг: EPC = $8,100 / 12,000 = $0.675
Нутра: EPC = $2,880 / 6,000 = $0.48
Зверни увагу: EPC ÷ CPC відтворює той самий ROAS, який ти вже порахував:
Гемблінг: $0.675 / $0.50 = 1.35x (збігається)
Нутра: $0.48 / $0.40 = 1.2x (збігається)
Ця тотожність корисна ще до того, як ти витратив хоч долар: знаючи свій типовий CPC і історичний EPC на оффері, можна заздалегідь оцінити очікуваний ROAS. Саме тому EPC, розбитий за джерелом трафіку, креативом чи статусом воронки, важливіший за одну усереднену цифру — креатив зі скромним CTR, але високим EPC, може заробляти більше за «кращий за показниками» креатив, що збирає більше кліків при нижчому EPC. Аналітика DarkCore розбиває EPC за статусом конверсії і показує конверсію click-to-status та install-to-status поруч, тож ти бачиш, який етап воронки насправді генерує дохід, замість того щоб виводити це з одного рядка ROAS.
EPV відрізняється лише знаменником: він рахується на основі перевірених, відфільтрованих візитів, а не сирих рекламних кліків. Якщо частина твоїх платних кліків — це боти або трафік, який твоя фільтрація якості відсіює ще до оффера, EPC занижує реальну конверсійність оффера — EPV на чистих візитах показує справжню заробітну здатність трафіку, який дійсно дійшов до сторінки.
Чому ROAS, який показує Facebook, — це не твій реальний ROAS
![]()
Повернімося до кампанії зі вступу. Цифра Facebook 3.1x не була сфабрикована — платформа зробила рівно те, на що її налаштували: помножила кількість конверсій на статичне значення, вписане в налаштування пікселя, і поділила на спенд. Піксель спрацьовував на завершення реєстрації з припущеною цінністю «purchase» $25 за подію (поширений обхідний прийом у гемблінг-вертикалі, яка не передає Meta деталізовані дані про депозити), і Facebook не мав жодного способу дізнатися, що 870 із тих 1,020 реєстрацій так і не внесли жодного долара. Це не баг, а структурна особливість: піксель — чи навіть серверна подія Conversions API — може повідомити лише те, що йому передали, і лише тоді, коли передали. Він не може через три тижні перевірити твою CRM на предмет повторного депозиту, скасування чарджбека чи RevShare, що надійшов нижче прогнозу через те, що акаунт позначили за зловживання бонусами.
Рішення — не в тому, щоб не довіряти Facebook і замість цього вгадувати, а в тому, щоб атрибутувати дохід у джерела. DarkCore відправляє пікселі та постбеки лише на реальні, підтверджені конверсії, отримані з колбека оператора чи мережі: депозит стає доходом у момент, коли приходить постбек, а не коли завантажується сторінка. Це означає, що ROAS у твоєму дашборді розраховується на основі грошей, які дійсно надійшли, а auto-rules можуть ставити на паузу чи масштабувати кампанію на основі цього реального, прив’язаного до депозитів ROAS — те, чого власні автоматизовані правила Facebook структурно зробити не можуть, адже вони бачать лише цифру з боку пікселя.
Як звести ROAS і ROI в реальний P&L
ROAS однієї кампанії — це діагностика, а не P&L. Щоб знати, чи акаунт справді заробляє гроші, реальний дохід і реальні витрати кожної кампанії мають потрапити в один реєстр.

Об’єднаємо два розібрані приклади вище в один тиждень:
| Стаття | Сума |
|---|---|
| Рекламний спенд — гемблінг-кампанія | $6,000 |
| Рекламний спенд — нутра-кампанія | $2,400 |
| Загальний рекламний спенд | $8,400 |
| RevShare-дохід (гемблінг) | $8,100 |
| CPA-дохід (нутра) | $2,880 |
| Загальний дохід | $10,980 |
| Комісії мережі/трекера | $270 |
| Загальні витрати | $8,670 |
| Чистий прибуток | $2,310 |
Змішаний ROAS = $10,980 / $8,400 = 1.31x
Змішаний ROI = $2,310 / $8,670 × 100 = 26.6%
Це той рівень, на якому працює подвійний бухгалтерський запис: рекламний спенд і комісії мережі проводяться як дебет, підтверджені постбеки доходу — як кредит, а чистий прибуток — це те, що лишається, коли кожна реальна транзакція занесена в книгу, — не оцінка, а облік. Модуль фінансів DarkCore веде це автоматично для кожного воркспейсу, тож «змішаний ROAS» — це не таблиця, яку ти перебудовуєш щопонеділка.
Одне застереження: змішані цифри приховують, яка саме кампанія робить роботу. Сама лише гемблінг-кампанія тримає ROI 31.7%, тоді як нутра — на рівні 14.3%; змішаний показник 26.6% виглядає здорово, але виглядав би інакше завтра, якби джерело гемблінг-трафіку забанили. Тримай маржинальну цифру по кожній кампанії поруч зі змішаною.
Типові помилки
- Рахувати реєстрації чи піксельні події «purchase» за дохід. Facebook нарахував 1,020 реєстрацій; депозит зробили лише 150 — масштабування за кількістю реєстрацій замість підтверджених депозитів — це те, як кампанія з «3.1x ROAS» перетворюється на збиток $2,400.
- Рахувати RevShare ROAS лише за вартістю FTD в день 1. RevShare накопичується протягом усього вікна атрибуції — рибіли, повторні депозити, подальша гра. Оцінка лише за першим депозитом занижує дохід і вбиває прибуткові кампанії до того, як вони дозріють.
- Використовувати змішаний ROAS замість маржинального ROAS по кожній кампанії чи адсету. Змішаний 1.3x може означати, що один прибутковий адсет тягне на собі три збиткові. Рішення про відключення потребують маржинальної цифри, а не середньої по акаунту.
- Не враховувати нерекламні витрати в ROI. Комісії мережі, підписка на трекер/CRM, чарджбеки та рефанди — усе це зменшує реальний прибуток. Кампанія може показувати ROAS 1.4x і водночас мати від’ємний ROI, коли враховані всі реальні витрати.
- Порівнювати CPA- і RevShare-оффери за сирим ROAS. ROAS 1.2x на фіксованій CPA-виплаті і ROAS 1.2x на RevShare-оффері, що ще накопичується, несуть зовсім різний ризик — цифра CPA фінальна в момент спрацювання постбека, а цифра RevShare усе ще рухається.
FAQ
Який ROAS вважається хорошим для платного трафіку на партнерські оффери?
Універсальної цифри немає — усе залежить від моделі виплат і структури витрат. CPA-оффери мають перекривати точку беззбитковості ROAS (часто 1.15x–1.3x з урахуванням комісій трекера й мережі), щоб мало сенс їх запускати. RevShare-оффери зазвичай потребують більшого запасу — 1.3x–1.5x і вище за цифрами вікна FTD — бо частина цього коефіцієнта все ще має покривати волатильність рибілів і відтік, який неможливо передбачити в день 1.
У чому різниця між ROAS і ROI?
ROAS — це дохід, поділений лише на рекламний спенд, — він ігнорує всі інші витрати. ROI — це чистий прибуток (дохід мінус загальні витрати, включно з нерекламними), поділений на загальні витрати, у відсотках. Кампанія може показувати сильний ROAS і водночас мати від’ємний ROI, якщо нерекламні витрати достатньо великі.
Чи ROMI — це те саме, що ROI?
Функціонально — так, та сама формула, вужчий обсяг. ROMI ізолює віддачу саме від маркетингових витрат, що важливо, коли є витрати поза маркетингом (собівартість товару, фулфілмент). Для медіабаєра, чия основна витрата — це рекламний спенд плюс комісія мережі/трекера, ROMI і ROI зазвичай сходяться в одну цифру.
Як швидко перевірити, чи прибуткова кампанія?
Порівняй її реальний ROAS — дохід із підтверджених конверсій, а не з припущеної пікселем цінності — з точкою беззбитковості ROAS (1 + нерекламні витрати ÷ рекламний спенд). Якщо реальний ROAS перекриває точку беззбитковості — ти в плюсі; якщо ні, жодна метрика CTR чи CPM деінде в дашборді цього не змінить.
Кожна формула вище — це проста арифметика. Складне тут — годувати її реальними цифрами замість тих, які платформа готова тобі показати. Facebook завжди звітуватиме за тією подією, яку ти йому передав, і тоді, коли передав, і ніколи не перевірить твою CRM на депозит, що прийшов через дев’ятнадцять днів. Якщо ти масштабуєш чи вбиваєш кампанії лише за ROAS з Ads Manager, пораховуй ту саму математику за підтвердженими конверсіями протягом тижня — і подивись, наскільки далеко розходяться ці дві цифри. DarkCore за замовчуванням атрибутує дохід за реальними постбеками депозитів і CPA, тож ROAS, ROI і auto-rules працюють з цифрою, яка справді правдива. Напиши нам у Telegram або увійди й перевір свої реальні цифри.