Перейти до змісту

GA4 і трекінг

Чому виручка в GA4 не збігається з CRM: 9 причин і як звірити

Розбираємо, чому кількість замовлень і виручка в GA4 відрізняються від CRM чи адмінки магазину — блокувальники, cookies, оплата на сторонніх сторінках, дублікати, валюти, часові пояси — і як побудувати щотижневу звірку.

DATUMPANELОпубліковано Оновлено 6 хв читання

Обкладинка статті про розбіжності GA4 і CRM

«У GA4 за вересень 1 120 замовлень, а в CRM — 1 390. Кому вірити?» Це, мабуть, найчастіше запитання на старті будь-якого проєкту. Коротка відповідь: гроші — за CRM, поведінка — за GA4. Але розбіжність треба розуміти і контролювати, бо вона іноді сигналізує про реальну поломку.

Нормальна і ненормальна розбіжність

GA4 — система аналітики браузера, а не бухгалтерія. Невелика розбіжність неминуча. Тривожні ознаки:

  • розбіжність раптово зросла (було 5%, стало 20%);
  • у GA4 замовлень більше, ніж у CRM (дублікати);
  • розбіжність різна за пристроями або способами оплати.

9 причин розбіжностей

1. Блокувальники реклами і браузерні обмеження

Частина відвідувачів блокує скрипти аналітики. Їхні покупки є в CRM, але не в GA4.

Якщо користувач не дав згоди, GA4 отримує обмежені сигнали або не отримує нічого — залежно від налаштувань (consent mode).

3. Оплата на сторінці платіжного сервісу

Клієнт оплатив на сторінці LiqPay, monobank чи WayForPay і закрив вкладку, не повернувшись на «Дякуємо». Подія purchase на сайті не спрацювала. Лікування — серверна подія після callback платіжки (серверний трекінг).

4. Замовлення поза сайтом

Телефон, месенджери, Instagram Direct, маркетплейси, менеджер вручну вносить у CRM. GA4 їх ніколи не побачить — і не має.

5. Дублікати purchase

Оновлення сторінки «Дякуємо», повернення на неї з листа, подвійний тег (модуль платформи + GTM). Наслідок — у GA4 більше замовлень.

6. Статуси і повернення

CRM показує оплачені й невідмінені; GA4 — всі оформлені. Якщо refund не відправляється, повернені замовлення лишаються в GA4.

7. Дата замовлення і часовий пояс

GA4 записує подію в часовому поясі ресурсу на момент оформлення; CRM може рахувати за датою оплати або в іншому поясі. На межах днів і місяців цифри «з'їжджають».

8. Валюта і податки

value з ПДВ на сайті і без — у CRM; доставка включена в одній системі і ні в іншій; не передається currency, і GA4 ігнорує суму.

9. Тестові та внутрішні замовлення

Тести менеджерів і розробників у GA4 без фільтра внутрішнього трафіку.

Як звіряти: щотижнева процедура

  1. Порівняти кількість замовлень і виручку за тиждень: CRM vs GA4 (в BigQuery, не в інтерфейсі).
  2. З'єднати за transaction_id — знайти ID, які є лише в одній системі.
  3. Згрупувати «втрачені» замовлення за способом оплати, пристроєм, джерелом.
  4. Знайти дублікати в GA4.
-- замовлення з CRM, яких немає в GA4 (BigQuery)
WITH ga AS (
  SELECT DISTINCT ecommerce.transaction_id AS id
  FROM `project.analytics_123456789.events_*`
  WHERE _TABLE_SUFFIX BETWEEN '20260921' AND '20260927' AND event_name = 'purchase'
)
SELECT c.payment_method, c.device, COUNT(*) AS missing
FROM `project.crm.orders` c
LEFT JOIN ga ON ga.id = c.order_id
WHERE c.order_date BETWEEN '2026-09-21' AND '2026-09-27'
  AND c.status = 'paid' AND ga.id IS NULL
GROUP BY 1, 2
ORDER BY missing DESC;

Якщо «втрачені» сконцентровані в одному способі оплати — проблема в редиректі з платіжки. Якщо на iOS — у браузерних обмеженнях або помилці скрипта на мобільному checkout.

Що показувати в дашборді

  • «Покриття трекінгу»: частка замовлень CRM, знайдених у GA4, за тижнями — як технічна метрика якості;
  • окремо — частка замовлень без джерела;
  • виручку, ROAS і юніт-економіку рахувати за CRM, а GA4 використовувати для воронки й поведінки.

Чекліст звірки

  • transaction_id у GA4 дорівнює ID замовлення в CRM
  • Захист від повторного purchase
  • Серверне підтвердження оплачених замовлень
  • refund для повернень
  • Однакові правила ПДВ і доставки у value
  • Внутрішній трафік відфільтровано
  • Платіжні домени у виключених рефералах
  • Щотижнева метрика покриття трекінгу

Приклад: звіряємо один тиждень

Ілюстративні числа за тиждень:

ДжерелоЗамовленняВиручка
CRM, усі створені412498 000
CRM, оплачені (правда про гроші)371441 000
Події purchase у GA4338421 500

Йдемо від оплачених у CRM до GA4, по одній причині:

КрокЗамовленняПояснення
Оплачені в CRM371відправна точка
− телефонні й створені менеджером−14не проходили оформлення на сайті
− оплата на зовнішній сторінці без повернення−11тег purchase не спрацював
− користувачі, що відмовились від аналітики−12не зібрано (оцінка за часткою згоди)
+ дублі purchase через перезавантаження+4немає захисту від перезавантаження
= очікується в GA4338збігається з GA4

Коли в кожного кроку є число, розбіжність перестає бути загадкою і стає списком задач. Тут захист від перезавантаження — швидке виправлення, оплатам на зовнішній сторінці потрібен серверний трекінг, а розрив через згоду легітимний — його просто треба задокументувати.

У розбіжності виручки зазвичай є ще одна складова: value у GA4 може по-іншому, ніж CRM, враховувати доставку і ПДВ. Порівняйте середній чек в обох джерелах для замовлень, що є в обох. Якщо він систематично різний — це проблема визначення, а не втрачених замовлень.

SQL: зіставлення на рівні замовлень

З експортом у BigQuery зіставляйте замовлення по одному, а не порівнюйте підсумки:

WITH ga AS (
  SELECT ecommerce.transaction_id AS order_id,
         COUNT(*)                    AS ga_events,          -- >1 означає дублі
         MAX(ecommerce.purchase_revenue) AS ga_value
  FROM `project.analytics_123456.events_*`
  WHERE _TABLE_SUFFIX BETWEEN @from AND @to AND event_name = 'purchase'
  GROUP BY 1
)
SELECT
  CASE
    WHEN ga.order_id IS NULL AND o.source = 'phone'     THEN 'офлайн-замовлення'
    WHEN ga.order_id IS NULL AND o.payment_redirect     THEN 'зовнішня оплата без повернення'
    WHEN ga.order_id IS NULL                             THEN 'немає (згода/блокувальник/помилка)'
    WHEN ga.ga_events > 1                                THEN 'дубль у GA4'
    WHEN ABS(ga.ga_value - o.revenue_net) > 1            THEN 'різна сума'
    ELSE 'збіг'
  END AS status,
  COUNT(*) AS orders,
  SUM(o.revenue_net) AS crm_revenue
FROM clean.orders o
LEFT JOIN ga ON ga.order_id = o.order_id
WHERE o.status = 'paid' AND o.order_date BETWEEN @from_date AND @to_date
GROUP BY 1 ORDER BY orders DESC;

Зробіть і зворотну перевірку: ID транзакцій GA4, яких взагалі немає в CRM. Зазвичай це тестові замовлення, скасовані, які порахували на оформленні, або тег, що спрацьовує не на тій сторінці.

Яке число куди

ЗапитанняЩо використовувати
Скільки грошей ми заробили?CRM / платіжна система
Який канал привів замовлення?GA4 (або власна атрибуція) — частки за каналами, за потреби застосовані до підсумків CRM
Де люди відпадають у воронці?GA4
Що повернула кампанія?власне з'єднання замовлень CRM з даними кампаній, див. ROAS і POAS

Найчастіша помилка у звітах — виручка GA4 на тому ж екрані, що й виручка CRM, без підписів. Показуйте одне число про гроші, а GA4 — для поведінки і часток.

Час: чому «вчора» ніколи не збігається точно

Навіть за ідеального трекінгу щоденні числа розходяться з причин, що не мають стосунку до втрачених замовлень:

  • Часові пояси. Ресурс GA4 звітує в налаштованому поясі, CRM може зберігати час в UTC. Замовлення о 23:30 за місцевим часом може потрапити на різні дати.
  • Дата створення чи оплати. GA4 фіксує момент спрацювання purchase. CRM може датувати замовлення створенням, оплатою чи відправкою. Оплата на рахунок і накладений платіж надходять через кілька днів.
  • Затримка обробки. Дані GA4 за останні день-два ще можуть змінитися. Звіряйте із запізненням у 2–3 дні, а не за вчора.
  • Повернення і редагування. CRM оновлює замовлення при частковому поверненні чи редагуванні. GA4 зберігає початкову покупку, якщо ви не надсилаєте подію refund.
  • Накладений платіж. У бізнесах, де значна частка замовлень оплачується при отриманні, «оплачено» настає лише після доставки, а частина посилок повертається. Порівнюйте GA4 з усіма оформленими онлайн-замовленнями, а гроші — окремо з викупленими.

Тому я звіряю тижневі підсумки із запізненням у 3 дні і позначаю лише розбіжності, що виходять за очікуваний діапазон для кожної причини. Щоденне порівняння здебільшого дає хибні тривоги.

Розумна ціль

Універсального «прийнятного» відсотка немає: він залежить від частки телефонних замовлень, способів оплати і рівня згоди. Практичний підхід — виміряти розбіжність протягом кількох «чистих» тижнів, пояснити кожну складову, як у прикладі вище, і далі сповіщати, коли росте непояснена частина. Стабільна пояснена розбіжність — це нормально. Розбіжність, що раптово змінилася, означає, що щось зламалося.

Часті запитання

Яка розбіжність між GA4 і CRM нормальна?

Залежить від аудиторії, частки офлайн-замовлень і налаштувань згоди. Важливіше за абсолютне значення — стабільність: різкий стрибок означає поломку.

Чи можна «дотягнути» GA4 до 100%?

Ні, і не треба. Ціль — зрозуміла, стабільна розбіжність і гроші за CRM.

Як рахувати ROAS, якщо GA4 не бачить частини замовлень?

Брати виручку з CRM і атрибутувати за UTM, збереженими разом із замовленням. Тоді покриття GA4 менш критичне (атрибуція).

Чи допоможе серверний трекінг?

Він закриває частину втрат (оплата на сторонніх сторінках, блокувальники клієнтських скриптів), але згоди користувача все одно треба поважати.

Теги: GA4CRMякість даних

Автор

DATUMPANEL — Аналітика даних для бізнесу

DATUMPANEL — це незалежний аналітик даних з України. Будую дашборди для власників бізнесу, налаштовую GA4 і експорт у BigQuery, збираю пайплайни даних і автозвіти в Telegram для e-commerce, сервісного бізнесу, SaaS і агенцій — від аудиту даних до рішень.

Написати в Telegram[email protected]Відкрити демо

Читайте також

  • GA4 і трекінг10 хв читання

    Експорт GA4 у BigQuery: повний гайд для бізнесу

    Навіщо вмикати експорт GA4 у BigQuery, як він влаштований (events_, intraday, event_params), скільки коштує і які SQL-запити дають відповіді, яких немає в інтерфейсі GA4.

    Основний гайд

  • GA4 і трекінг6 хв читання

    Аудит аналітики: чекліст на 40 пунктів

    Покроковий аудит аналітики бізнесу — GA4, теги, UTM, конверсії, згода, CRM, реклама, сховище і дашборди — з чеклістом на 40 пунктів, пріоритетами виправлень і шаблоном звіту.

  • GA4 і трекінг6 хв читання

    Серверний трекінг і Measurement Protocol: коли він потрібен

    Що таке серверний трекінг, чим відрізняються server-side GTM і GA4 Measurement Protocol, які події варто слати з бекенду (оплати, повернення, офлайн-продажі), як не порушити згоду користувача і не задвоїти дані.

Хочете таку аналітику у себе?

Опишіть, які дані у вас є і на які запитання бракує відповідей. Відповім того ж дня — з планом, термінами й тим, що можна зробити швидко.

Або напишіть напряму:

Відкрити демо →

Залиште заявку

Відповім протягом робочого дня.

Що вас цікавить
Сфера бізнесу
Ще деталі · необов’язково
Орієнтовний бюджет · необов’язково
Коли зручно почати · необов’язково
Які джерела даних є · необов’язково

Надсилаючи форму, ви погоджуєтесь з Політикою конфіденційності — контакти використовуються лише для відповіді на заявку.