Зненацька перестав працювати 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 логіку.