На більшості сайтів на WordPress GA4 інтегрується через GTM і плагіни. Але в такій конфігурації аналітика часто втрачає сесії, особливо якщо:
- Користувач блокує трекери (AdBlock, iOS Safari, Brave).
- Події відправляються тільки з фронту, а клієнт залишає сторінку до їхнього спрацювання.
- Дані не збираються через cookies, якщо банер згоди ще не прийнятий.
Результат — до 40% замовлень втрачаються, аналітика не бачить канал, кампанію, і все потрапляє в (not set).
Моє рішення:
Я реалізувала серверну відправку івенту purchase до GA4 через Measurement Protocol із повною передачею:
client_id(з _ga cookie)session_id(з gacookie)source / medium / campaign(збережено з першої взаємодії)gclid / gbraid(якщо трафік з реклами)transaction_id,items,brand,valueтощо
При цьому:
Повністю збережено атрибуцію.
Сесію не перериває оновлення чи редиректи.
Усі замовлення передаються з реальним client_id.
Що я зробила технічно:
- Створила власний PHP-обробник на хук
woocommerce_thankyou - Написала JS-файл, який зчитує
client_idтаsession_idз GA4 черезgtag('get',...) - Зберігаю ці значення в cookie, а потім передаю на сервер у формі
- Сервер відправляє події на
https://www.google-analytics.com/mp/collect - Включено повне логування і перевірка в DebugView
Результат:
- GA4 тепер бачить усі покупки, навіть якщо клієнт використовує Safari з блокуванням.
- Purchase прив’язується до сесії, воронки працюють.
- У рекламних кампаніях Google Ads зросла точність атрибуції та ROAS.
Чому це важливо:
Більшість маркетологів і розробників на WordPress не враховують ці нюанси. У результаті — зливають бюджет на рекламу, не розуміючи реальну ефективність.
Можу реалізувати таке для вашого сайту:
- Повна інтеграція GA4 через сервер
- Налаштування зв’язку з кампаніями Google Ads
- Оптимізація аналітики без втрати подій
#GA4 #WooCommerce #WordPress #ServerSideTracking #ConversionTracking #EcommerceAnalytics #GoogleAds #MarketingAutomation #GA4MeasurementProtocol