+42%
WooCommerce + GA4: як не втрачати 40% замовлень
Серверна відправка purchase через Measurement Protocol з повною атрибуцією: client_id, session_id, gclid
Цей кейс для вас, якщо...
Впізнали себе? Читайте далі — цей кейс покаже рішення.
Про проєкт
Інтернет-магазин на WordPress + WooCommerce
Інтернет-магазин на WordPress + WooCommerce. GA4 інтегровано через GTM і плагіни — стандартна конфігурація для більшості WordPress-сайтів.
Виклик
Аналітика втрачає до 40% замовлень: AdBlock, iOS Safari, Brave блокують трекери. Події відправляються тільки з фронту — клієнт залишає сторінку до спрацювання. Дані потрапляють у (not set), атрибуція зламана.
Цілі
Що тут може піти не так
І чому більшість підрядників це запорюють
Плагіни = тільки фронтенд
Стандартні GA4-плагіни для WooCommerce відправляють purchase-подію з JavaScript на фронтенді. AdBlock, Safari ITP, Brave, Firefox ETP блокують цей запит. Результат — до 40% замовлень просто не фіксуються.
Атрибуція губиться між сторінками
client_id, session_id, gclid потрібно зберегти від першого візиту до purchase. Якщо JS не встиг зчитати їх або користувач перейшов через redirect — атрибуція зламана. GA4 покаже (not set), Google Ads не побачить конверсію.
Валідація server-side purchase
Server-side Measurement Protocol не має DebugView за замовчуванням. Якщо payload невалідний — подія просто мовчки відкидається. Без логування і валідації можна тижнями не помічати проблему.
Що було зроблено
PHP-обробник на woocommerce_thankyou
Створено власний PHP-обробник, який спрацьовує на хук woocommerce_thankyou і збирає всі дані замовлення: transaction_id, items, brand, value.
JS для client_id та session_id
JS-файл зчитує client_id та session_id з GA4 через gtag("get",...). Зберігає в cookie і передає на сервер разом з формою замовлення.
Server-side відправка в GA4
Сервер відправляє purchase-подію на google-analytics.com/mp/collect з повною передачею: client_id, session_id, source/medium/campaign, gclid/gbraid.
Логування і валідація
Повне логування всіх відправок. Перевірка через GA4 DebugView. Валідація що purchase прив'язується до правильної сесії і воронки.
Що я зробила інакше
PHP-обробник замість JS-плагіна
Створила власний PHP-обробник на хук woocommerce_thankyou. Сервер відправляє purchase напряму на google-analytics.com/mp/collect — жоден AdBlock не може заблокувати серверний запит.
Повна атрибуція через cookie bridge
JS зчитує client_id і session_id з GA4, зберігає в first-party cookie. При замовленні PHP бере ці значення і передає в Measurement Protocol разом з gclid/gbraid. Результат — 100% атрибуція.
Логування і валідація кожної відправки
Кожен server-side purchase логується: transaction_id, client_id, session_id, відповідь GA4. Перевірка через DebugView що purchase прив'язується до правильної сесії і воронки.
Цифри, що говорять самі за себе
До та після
Простіше кажучи: Google Ads нарешті бачить всі покупки і може правильно оптимізувати ставки. Той самий бюджет — більше конверсій.
Гайд: Server-side GA4 для WooCommerce — без плагінів
Як відправляти purchase з PHP через Measurement Protocol з повною атрибуцією. Покрокова інструкція з прикладами коду.
- PDF, 3 сторінки — архітектура + код
- PHP-шаблон для woocommerce_thankyou
- Без реєстрації, без спаму
Часті питання
Чому GA4 плагін для WooCommerce втрачає замовлення?
Стандартні GA4-плагіни відправляють purchase-подію з JavaScript на фронтенді. AdBlock, Safari ITP, Brave, Firefox ETP блокують цей запит — до 40% замовлень просто не фіксуються. Рішення — серверна відправка через Measurement Protocol.
Як налаштувати server-side purchase для WooCommerce через Measurement Protocol?
Потрібен PHP-обробник на хук woocommerce_thankyou, який збирає transaction_id, items, value і відправляє на google-analytics.com/mp/collect. Для атрибуції JS зберігає client_id і session_id в cookie, а PHP передає їх разом з gclid.
Як перевірити що server-side purchase працює правильно?
Три рівні валідації: 1) логування кожної відправки з response кодом, 2) перевірка в GA4 DebugView що purchase прив'язується до правильної сесії, 3) порівняння кількості замовлень у WooCommerce vs GA4 за тиждень.
Готові до зростання?
Обговоримо ваш проєкт — знайдемо рішення, що працює саме для вашого бізнесу.