Більшість власників магазинів оцінюють таргетолога за одним екраном: кабінет Meta Ads. Там цифри завжди красиві. Вклали 920 доларів, "заробили" 11 тисяч, ROAS 1230%. Здається, що людина творить магію.
Проблема в тому, що цей екран показує не ваш прибуток. Він показує те, що Meta сама собі записала в заслугу. А це дві дуже різні речі. Зараз на конкретних цифрах побачимо, як "ROAS 1230%" перетворюється на мінус у касі.
Я не копірайтер, який переказує чужі статті. Я налаштовую аналітику і серверний трекінг для e-commerce, тому бачу цей розрив зсередини: те, що клієнту показують у звіті, і те, що реально лягає в касу.
Головна підміна: ROAS видають за результат
ROAS (return on ad spend) це відношення "доходу" до витрат на рекламу. ROAS 1230% означає просто, що на кожен вкладений долар кабінет нарахував близько 12 доларів продажів. Таргетологи люблять цей показник, бо він майже завжди виглядає переможно. Але в ньому зашито три зручні замовчування:
- Це не прибуток, а оборот. Маржа, собівартість, логістика, повернення сюди не входять.
- Це не ваш дохід, а оцінка Meta. Її рахує сама рекламна платформа, яка зацікавлена показати себе ефективною.
- Це не "завдяки рекламі", а "після контакту з рекламою". Саме на цій різниці будується більшість приписок.
Чесний показник називається ROMI (return on marketing investment): він рахує реальний прибуток з урахуванням маржі, операційних витрат і повернень, а не оборот у кабінеті. Його майже ніколи не показують, бо він менш ефектний. Іноді, як побачимо нижче, він взагалі від'ємний.
Кейс: магазин косметики в Україні
Беремо реальний за структурою приклад (без назви бренду). Один місяць, один основний канал, Meta Ads.
Два кабінети, дві історії
Рекламний кабінет показує найвигідніше для себе число. Друге, незалежне джерело показує, скільки з нього реальне.
- Витрачено
- $920
- Покупки
- 283
- Цінність конверсій
- $11 332
- ROAS покупок
- 1230%
- Сеанси
- 6 140
- Конверсії
- 188
- Дохід (після повернень)
- $7 500
- Весь магазин, усі канали
- $9 805
Meta ніколи не відкручує зараховану конверсію. GA4, налаштований правильно, віднімає повернення, тому стоїть ближче до каси.
Зупиніться на цих рядках. Meta приписала собі 11 332 долари. А весь магазин за місяць, з усіх джерел разом (пошук, прямі заходи, розсилки, реклама), заробив 9 805. Тобто рекламний кабінет "продав" на півтори тисячі більше, ніж фізично існує в природі.
Це не помилка округлення. Це структура, у якій звіт ніколи не зійдеться з банком. І ось чому.
Чотири причини, чому кабінет завжди завищує
1. Вікно атрибуції "7 днів клік, 1 день перегляд"
Це налаштування за замовчуванням у Meta. Кабінет зараховує продаж собі, якщо людина за 7 днів до покупки клікнула рекламу, або за 1 день до покупки просто побачила її (view-through). Побачила, проскролила, через п'ять днів прийшла з гугла і купила, але Meta вже записала цей продаж на себе.
Звужене вікно (наприклад "1 день клік") дає чесніші цифри, але робить таргетолога гіршим на папері. Тому стандартний хід це залишити найширше вікно з переглядами. Технічно це не брехня, але це свідоме рішення показати максимально вигідну для себе картину.
2. Канібалізація інших каналів
Через те саме широке вікно реклама "перетягує" на себе продажі, які насправді привели інші канали: органічний пошук Google, гугл-реклама, email і SMS-розсилки, прямі заходи лояльних клієнтів. Людина і так збиралася купити, бачила бренд у пошуку, отримала SMS про знижку. Але оскільки тиждень тому в стрічці майнув банер, продаж іде в залік Meta.
Саме звідси розрив між 11 332 у кабінеті і 7 500 у каналі "Facebook / CPC" в аналітиці. Понад три з половиною тисячі доларів це чужі заслуги, які кабінет привласнив.
3. Не враховані повернення, невикуп і відсутність товару
Тут у нас є точна цифра по магазину: реально завершується лише 85% замовлень. Решта 15% це повернення, невикуп накладених платежів і ситуації, коли товару насправді немає на складі, бо статус на сайті не оновили, а замовлення вже впало.
Meta про ці 15% не знає і знати не хоче: вона зарахувала продаж у момент оформлення замовлення і більше до нього не повертається. Google Analytics, навпаки, ці повернення віднімає, якщо там правильно налаштована подія "refund" (про це нижче). Саме тому дохід у GA4 чесніший: він уже без зірваних замовлень.
Тому "дохід" у кабінеті Meta це оптимістичний сценарій, де кожне замовлення оплачене, відправлене, викуплене і залишене покупцем. У реальному магазині так не буває: кожне сьоме замовлення зривається.
4. Ціль спрацьовує по кліку "Оплатити", а не по факту оплати
Тут є поширене непорозуміння. Сторінка "дякуємо за замовлення" зазвичай показується вже після успішної оплати, тому сама собою вона не бреше. Проблема в іншому варіанті налаштування: подію "Purchase" вішають на клік по кнопці "Оплатити" на сторінці чекауту.
Людина натиснула "Оплатити", але картку відхилили, або вона передумала вже в платіжному шлюзі, або сторінка оплати не завантажилась. Подія в цей момент вже відправлена, продаж порахований, а грошей немає. Так у статистику потрапляють наміри оплатити, а не самі оплати. Правильно подію "Purchase" відправляти на бекенді, у момент підтвердження успішної транзакції.
ROAS проти ROMI: ведемо гроші від кабінету до каси
А тепер найцікавіше. Візьмемо не вигадані 11 тисяч, а реальний дохід, який аналітика приписала рекламі: 7 500 доларів (приблизно 188 завершених замовлень по середньому чеку 40 доларів). Важливо: ця цифра в GA4 уже за вирахуванням повернень, тому повторно зменшувати її на невикуп не треба. Проженемо ці гроші через справжню економіку магазину.
Вхідні дані: маржа 30%, операційні витрати 15% з кожного замовлення (близько 6 доларів при чеку 40 доларів), комісія спеціаліста 300 доларів, реклама 920 доларів.
Від числа в кабінеті до грошей у касі
Кожен крок сам по собі виглядає невинно. Разом вони перетворюють «ROAS 1230%» на збиток.
- «Дохід» у кабінеті (Meta)$11 332
- Дохід у GA4 (після повернень)$7 500
- Валовий прибуток (маржа 30%)$2 250
- Мінус операційні (15%)$1 125
- Мінус витрати на рекламу$205
- Мінус комісія спеціаліста−$95
Цифри ілюструють один реальний місяць магазину косметики. Дохід у GA4 уже за вирахуванням повернень, тому повторно його не зменшуємо.
Подивіться на верхній і нижній рядок. У кабінеті переможні 11 332 долари і ROAS 1230%. У касі мінус 95 доларів. Кампанія, яка на скриншоті виглядає як золота жила, насправді спрацювала в мінус, щойно ми порахували маржу, операційку, саму рекламу і гонорар спеціаліста.
Зверніть увагу, як накопичується розрив. Кожен крок сам по собі виглядає невинно: спершу широке вікно атрибуції роздуло "дохід" у кабінеті, далі від чесного доходу лишається лише 30% маржі, ще частину з'їдає операційка. Але разом вони перетворюють "ROAS 1230%" на збиток. Саме тому рішення "усе чудово, масштабуємось" не можна приймати по числу з кабінету: воно не має стосунку до ваших грошей.
Як зробити аналітику чистішою: повернення в GA4
Окрема причина, чому Google Analytics ближчий до правди за кабінет Meta: GA4 уміє віднімати повернення, а Meta практично ні.
У GA4 є стандартна подія електронної комерції "refund". Коли замовлення повертають, скасовують або посилку не викуповують, ви відправляєте подію "refund" з тим самим ідентифікатором транзакції (transaction_id), що й початкова покупка. Для часткового повернення можна передати конкретні товари. GA4 після цього віднімає цю суму з доходу у звітах, тому "Purchase revenue" і загальний дохід показують суму вже за вирахуванням повернень.
Що це дає на практиці:
- Цифра в GA4 поступово сходиться з реальною касою, а не живе у вигаданому світі, де всі замовлення оплачені.
- Для України з накладеним платежем можна відправляти "refund" у момент, коли посилка повернулась невикупленою. Тоді невикуп перестає роздувати "дохід".
- Найнадійніше робити це з боку сервера: ваша CRM або система замовлень шле подію "refund" у GA4 через Measurement Protocol, коли статус замовлення міняється на "повернено" чи "скасовано". Це не залежить від браузера покупця і не загубиться через блокувальники.
У кабінеті Meta аналога цьому майже немає: зараховану конверсію вона назад не відкручує. Саме тому два незалежні, чесно налаштовані джерела (каса плюс GA4 з поверненнями) завжди достовірніші за один зацікавлений рекламний кабінет. Як це налаштувати технічно, я докладно розбираю в статті про server-side tracking GA4 і Meta CAPI →.
Як перевірити свого таргетолога за 10 хвилин
Не треба бути аналітиком. Достатньо звірити кілька екранів:
- Звірте оборот. Сума в кабінеті Meta проти фактичного доходу магазину за той самий період. Якщо реклама "заробила" більше, ніж увесь магазин, питання закрите.
- Спитайте про вікно атрибуції. Якщо у звіті "7 днів клік, 1 день перегляд", попросіть ті ж цифри у вікні "1 день клік" і подивіться, наскільки вони впадуть.
- Порахуйте ROMI, а не ROAS. Маржа мінус операційні витрати мінус реклама мінус гонорар спеціаліста. Це і є ваш результат у гривнях.
- Спитайте, чи відповідає подія "Purchase" факту оплати, а не кліку "Оплатити".
- Перевірте, чи налаштовані повернення в GA4. Якщо ні, ваша аналітика теж завищує, просто менше за Meta.
Хороший спеціаліст відповість на ці питання спокійно і сам покаже чесні числа. Той, хто почне пояснювати, чому "так рахувати неправильно" і чому треба дивитися тільки в кабінет, уже відповів вам своєю реакцією.
Підсумок
Таргетолог не обов'язково хоче вас обманути, коли показує завищені цифри. Часто достатньо залишити налаштування за замовчуванням і не рахувати незручне: ні зриви замовлень, ні маржу, ні власний гонорар. Кабінет Meta зробить решту і припише собі чужі продажі.
Ваше завдання як власника не вірити одному красивому екрану. Зведіть рекламний звіт з касою, маржею і відсотком викупу хоча б раз. Дуже часто переможний "ROAS 1230%" після цього перетворюється на невеликий, але цілком реальний мінус. І це не привід кидати рекламу, це привід почати міряти її чесно: інакше ви масштабуєте збиток, думаючи, що масштабуєте прибуток.
ROAS проти ROMI: коротко
Наступний крок
Якщо ви рекламуєтесь і досі дивитесь тільки в кабінет Meta, ви не знаєте свого реального результату. Налаштування реклами і аналітики → включає чесний звіт по ROMI, коректну атрибуцію і server-side tracking з поверненнями в GA4. Будуєте магазин з нуля? Чиста аналітика вже входить у baseline online-store →.