Зненацька перестав працювати Measurement Protocol, або ваша session-based аналітика вмерла, чи може серверний GTM не надсилає дані в GA4? Без помилок, без логів, без сповіщень… Це просто Google вирішив оновити формат cookie _ga
/_ga_XXXX
, не сказавши про це взагалі нікому.
Це сталося приблизно 6 травня 2025. Одним з перших, хто помітив цю проблему і написав про неї був Matteo Zambon і Elvinas Karalis.
GA4 cookie (_ga_XXXX
) отримали новий формат, і тепер усе, що напряму парсило ці значення, може мати биті client/session IDs.

Як виглядає новий формат GA4 cookie
Ось приклад GS
cookie (який містить session ID):

GS2.1.s1747132561$o1$g0$t1747132655$j0$l0$h0
Що змінилось?
- Раніше все було простіше, а тепер треба парсити строку і витягувати значення з конкретної частини.
- Тепер
session_id
— це число після.s
і до першого$
.
GS2.1.s1747132561$o1$g0$t1747132655$j0$l0$h0 - І звісно, Google ніде це не задокументував.
Хто постраждає?
1. Measurement Protocol (MP)
Якщо у тебе серверний MP і ти передаєш client_id
або session_id
, вирізаючи їх із cookie напряму — вони не долітатимуть, а атрибуція буде нульовою.

2. Серверний Google Tag Manager
Багато налаштувань беруть client ID напряму з cookie (через document.cookie
або в Cloud Functions). Якщо ти не юзаєш getClientId()
або gtag('get')
, а просто парсиш строку — отримаєш сміття.
3. Маркетингові CDP та інтеграції
RudderStack, Segment, власні CDP — часто заточені під старий формат cookie. Їхня логіка матчінгу користувачів зламається.
4. Атрибуція та lead matching
CRM, маркетингові платформи, custom-на логіка для UTM-to-lead зв’язків… — все, що брало _ga
з cookie і клеїло до CRM як унікальний ідентифікатор, тепер потенційно мертве.
Чому це погано?
- Нема логів про помилку. Все працює, але неправильно. Це найгірше.
- Непомітна втрата якості даних. Вчора атрибуція працювала, сьогодні — ні.
- Документації нуль. Вся інфа зібрана ентузіастами з постів Elvinas Karalis, Matteo Zambon і кількох скарг на форумах.
Що робити?
Аудит всього, що чіпляється до GA cookie напряму:
- MP-сервери
- server-side GTM
- middleware (Node.js, Python backend)
- custom API прокладки
- CRM або CDP інтеграції
- Attribution-платформи
Використовуй офіційні методи
Google давно штовхає ідею: “не парсити cookie, а використовувати API”, наприклад:
jsCopyEditgtag('get', 'GA_MEASUREMENT_ID', 'client_id', (clientId) => {
// норм спосіб отримати client ID
})
Але не всі це робили і багато людей і далі швидко брали document.cookie.match(...)
Відмовся від парсингу cookie взагалі
Cookie — це внутрішня реалізація, і Google має повне право змінювати її як хоче. Якщо твоя аналітика зав’язана на .split('.')
, то вона живе на пороховій бочці. Cookieless епоха як не як йде 🙂
Висновки
Google, як завжди, мовчки підкинув сюрприз — і невелика частина аналітики по всьому світу просто зламалась. Якщо в тебе будь-яка логіка залежить від формату GA cookies — перевір прямо зараз.
TL;DR
- GA4 cookie формат змінився.
- Якщо парсиш
_ga
,_ga_XXXX
,GS
вручну — фікси свій data stream, або RIP. - Використовуй офіційні API (
gtag('get')
,gtm.getCookieValues()
). - Ніколи не покладайся на структуру GA cookie як на щось стабільне.
- Перевір MP, SSGTM, server2server логіку.