Зараз акаунт використовує лише client-side tagging (gtag.js або Web-контейнер GTM). Це працює, але кожен conversion ping залишається вразливим до ad-блокерів, браузерних tracking-prevention механізмів і збоїв на боці third-party мереж. Server-side Google Tag Manager (sGTM) — це додатковий шар, який Google документує з 2020 року [1][2]; аудит позначив його як рекомендацію, а не як зламаний стан, бо це посилює контроль над first-party даними до того, як тиск на client-side cookies зросте ще більше.
Чому це важливо
Client-side tagging виносить кожне вимірювальне рішення у браузер користувача. Браузер — найбільш вороже середовище у твоєму стеку: Safari Intelligent Tracking Prevention обрізає first-party cookies, Firefox блокує відомі tracker-хости за замовчуванням, розширення класу uBlock тихо відкидають запити на google-analytics.com та googleadservices.com, а корпоративні проксі часто зрізають query-параметри. Це не гіпотетика — кожне рішення Smart Bidding у твоєму акаунті базується лише на тих конверсіях, які пройшли цей фільтр.
sGTM працює з архітектурою, а не з окремим симптомом. Події виходять із браузера один раз — на піддомен, яким керуєш ти (наприклад, metrics.<your-domain>.com). Server-контейнер далі формує запити, специфічні для кожного вендора: Google Ads conversion pings, GA4 hits, Meta CAPI calls — все це з твоєї інфраструктури. Оскільки outbound-запит з браузера йде на твій власний домен, blocklist-и, що цілять у вимірювальні хости Google, не спрацьовують [3]. Оскільки запит до Google іде server-to-server, він несе first-party cookies, які ти можеш виставити з правильним HTTP-only прапором і довшим часом життя, ніж ITP дозволяє у JavaScript [1].
Набір capability йде далі. Усередині server-контейнера можна валідувати payload подій до форвардингу, хешувати PII через SHA-256 для відповідності вимогам Enhanced Conversions, додавати CRM-ідентифікатори для Offline Conversion Import і enforcити сигнали Consent Mode v2 на сервері, замість того щоб довіряти кожному client-side тегу [1][2]. Якщо акаунт уже використовує Customer Match та value-based bidding, sGTM — це найчистіший канал для first-party сигналу, від якого залежать ці фічі.
Це finding оформлено як recommendation, а не дефект, бо публічного, vendor-neutral бенчмарку для "conversion uplift від sGTM", який ми готові цитувати, не існує. Вендори називають цифри; чистого незалежного вимірювання у масштабі немає. Що задокументовано — це capability вище. Сприймай апгрейд як хедж проти client-side ерозії, а не як гарантований CPA-виграш.
Як перевірити проблему
- Відкрий тестовий landing у Chrome DevTools Network. Відфільтруй запити за
googleadservices.com,google-analytics.com,googletagmanager.com. Якщо conversion і analytics запити йдуть напряму на ці домени — у тебе client-side only. - Відкрий Google Tag Manager. У Admin → Container Settings перевір тип контейнера. Web окремо підтверджує finding. Якщо у тому самому акаунті є Server-контейнер — це часткова деплоймент; перевір, які саме теги через нього реально проходять.
- Подивись page source або Network tab на наявність параметра
transport_urlу будь-якійgtag()config або GA4 tag. Якщо його немає — gtag.js відправляє hits напряму на Google-хости, а не у твій server-контейнер [4]. - Прогони тестовий conversion path із популярним ad-блокером (uBlock Origin, AdGuard). Якщо conversion ping не спрацював, а сторінка завантажилась нормально — твій трекінг відкритий саме до того failure mode, який sGTM мітигує.
Як виправити
Це проєкт на кілька тижнів, а не toggle у UI. Орієнтовний effort: 2-6 інженерних тижнів плюс QA, залежно від інвентаря тегів.
- Зафіксуй scope. Зроби інвентар усіх тегів, що зараз firing з Web-контейнера або hard-coded gtag.js: Google Ads conversion tags, GA4, Floodlight, Meta Pixel, LinkedIn Insight, інші vendor-pixels. Теги без server-side counterpart (деякі нішеві вендори) або залишаться client-side, або будуть замінені.
- Створи server-контейнер. У Google Tag Manager натисни Admin → Create Container → обери Server. Google публікує one-click deployment у Cloud Run; App Engine і self-hosted опції доступні для оптимізації витрат [2]. Вартість хостингу залежить від навантаження на Cloud Run — невеликі сайти з низьким event-volume зазвичай вкладаються у місячний free tier платформи, понад нього оплата йде per-request та per-vCPU-second [2].
- Прив'яжи контейнер до first-party піддомена. Налаштуй DNS так, щоб піддомен, яким ти керуєш (наприклад,
metrics.<your-domain>.com), вказував на server-контейнер. Це критичний крок — використання дефолтного*.run.appURL від Google ламає головну перевагу проти ad-блокерів, бо вони можуть таргетити hosting-платформу [3]. - Налаштуй Google tag через
server_container_url. Онови gtag.js або GTM Web-теги, щоб вони слали hits на новий піддомен через параметрtransport_url/server_container_url[4]. Саме це команда, яка каже браузеру маршрутизувати події через твій контейнер, а не напряму в Google. - Мігруй теги у server-контейнер. Почни з GA4 client (вже встановлений). Додай Google Ads conversion tags, далі non-Google вендорів через їхні server-side templates з GTM template gallery. Кожна міграція має бути протестована у Preview mode перед промоушеном.
- Прокинь Consent Mode v2 на сервер. Форвард consent-сигналів із Web-контейнера у server-контейнер як event parameters; налаштуй server-side теги поважати їх. Деталі — у glossary-статті Consent Mode v2.
- Поетапний rollout. Запусти server-side і client-side теги паралельно на 2-4 тижні. Порівнюй conversion counts у Google Ads щодня. Коли parity у межах ±5%, виводь client-side path з експлуатації.
Як переконатися що виправлення спрацювало
Diagnostic checklist — пройди всі шість пунктів за 30 днів від go-live
- Server-контейнер відповідає на твоєму first-party піддомені (
curl -I https://metrics.<your-domain>.com/healthyповертає 200). - Google Tag Assistant показує, що conversion events ідуть через server-контейнер, а не напряму на
googleadservices.com. - Network panel із увімкненим ad-блокером підтверджує, що conversion pings далі firing (вони тепер ідуть на твій піддомен, який блокери не можуть таргетити лише за доменом).
- Денний conversion count у Google Ads у межах ±5% від pre-migration baseline. Більший розрив у будь-який бік — це помилка конфігурації, а не "виграш".
- Match rate для Enhanced Conversions не впав — server-side канал має його зберегти або покращити, ніколи не погіршити.
- Сигнали Consent Mode v2 видно у Preview mode server-контейнера, теги поважають "Denied" defaults.
Вікно верифікації: мінімум 30 днів. Smart Bidding перевчається, коли conversion volume або signal source змінюються, тому не нашаровуй інші measurement-зміни під час parallel-run періоду.
Server-side tagging — це plumbing. Він рідко проявляється як одна драматична uplift-цифра, але co-occurs з іншими finding-ами у цьому аудиті: слабкі match rates для Enhanced Conversions фіксяться легше, коли user-provided data хешується на сервері; enforcement Consent Mode v2 надійніший, коли його не делеговано кожному client-side тегу; pipelines Offline Conversion Import виграють від єдиного канонічного event spine перед fan-out до вендорів. Акаунти, що шиплять sGTM рано, через 12 місяців під час повторного аудиту тримають усі downstream measurement-фікси — не тому, що sGTM сам по собі піднімає CPA, а тому, що кожен наступний фікс має стабільну поверхню для прикріплення.
Пов'язані правила + концепти
- Server-side GTM for Google Ads — glossary з implementation-деталями
- Conversion Tracking — базовий шар, на якому стоїть sGTM
- Enhanced Conversions — перший beneficiary чистого server-side хешування
- Consent Mode v2 — enforcement надійніший на сервері
Джерела
- Google Tag Manager Help — Client-side and server-side tagging. https://support.google.com/tagmanager/answer/13387731 (accessed 2026-05-25)
- Google for Developers — Google Tag Manager — Server-side. https://developers.google.com/tag-platform/tag-manager/server-side (accessed 2026-05-25)
- Analytics Mania — Benefits of Server Side Tagging (with Google Tag Manager). https://www.analyticsmania.com/post/benefits-of-server-side-tagging/ (updated 2026-02)
- Google for Developers — An introduction to server-side tagging. https://developers.google.com/tag-platform/tag-manager/server-side/intro (accessed 2026-05-25)