Mastodon
 Налаштування Server-side через GTM за допомогою Stape

Google Analytics 4 (GA4) у зв’язці з серверним Google Tag Manager (GTM) допомагає збирати більше даних про користувачів та мінімізувати втрати через технічні обмеження браузерів. На відміну від класичного клієнтського трекінгу, коли дані збираються скриптом на сторінці, серверний підхід переносить обробку даних на ваш сервер. Такий метод підвищує точність та повноту даних, оскільки менше подій блокується рекламо-блокувальниками чи функціями конфіденційності браузерів stape.io. Також подовжується життя cookie-файлів: наприклад, у Safari без серверного трекінгу cookie очищуються через 7 днів, а з використанням власного домену для збору даних їх дія може продовжитись до 2 років stape.io. Окрім цього, серверний GTM дає кращий контроль над тим, які дані відправляються третім сторонам, та може позитивно вплинути на швидкість завантаження сайту за рахунок розвантаження браузера користувача stape.io.

Крок 0. Створіть web-контейнер GTM (якщо його ще немає)

  1. Зайдіть у Google Tag ManagerAdminCreate Account / Create Container.
  2. У полі Container name вкажіть щось на кшталт yourdomain.com_web.

  3. У блоці Target platform виберіть Web (див. скрін). Натисніть Create і прийміть умови.

  4. Запишіть Container ID формату GTM-XXXXXXX — він знадобиться далі.

5. Встановіть web-GTM на сайті (у прикладі вставка кодом в head і body):

    • Пізніше за бажанням можете замінити його на Custom Loader від Stape (щоб обійти блокувальники).

    • Після інсталяції перевірте Tag Assistant чи код встановлено коректно.

Що не робити:

  • Не вставляйте одночасно стандартний фрагмент GTM і скрипт Custom Loader від Stape — це подвійне завантаження.

  • Не тримайте одночасно Google Tag (GA4) у GTM і той самий GA4 через gtag.js на сторінці — отримаєте дубльовані хіти.

  • Не створюйте кілька web-контейнерів для одного сайту без потреби.

Крок 1. Створення серверного контейнера GTM

  1. Увійдіть у свій акаунт GTMAdminCreate Container.

  2. Введіть назву (наприклад, “My Site Server GTM”) і оберіть тип контейнера Server.

  3. Після створення ви отримаєте Container ID формату GTM-XXXXXXX — збережіть його.

  4. GTM може запропонувати автоматично розгорнути сервер (напр. у Google Cloud) — пропустіть цей крок, адже в цій інструкції ми використовуємо Stape для хостингу серверного контейнера.

Що не робити: не запускайте автоматичне розгортання в Google Cloud, якщо плануєте використати Stape, щоб не отримати два паралельні сервери і плутанину з адресами.

Крок 2. Розгортання серверного контейнера на Stape та налаштування власного домену

Сервіс Stape спрощує хостинг серверного GTM:

  • Реєстрація та створення контейнера на Stape: Перейдіть на Stape.io і створіть обліковий запис (є безкоштовний тариф на тест). Додайте новий серверний контейнер, вказавши GTM Container ID, отриманий на кроці 1. Stape підключиться до вашого контейнера GTM.

Налаштування кастомного домену: Щоб використати всі переваги (зокрема, first-party cookie), потрібно підключити субдомен вашого сайту як адресу серверного контейнераstape.iostape.io. Наприклад, якщо ваш сайт – example.com, ви можете використати gtm.example.com (назва субдомена може бути будь-яка, часто обирають gtm, analytics або collect).

Додаємо кастомний субдомен. У прикладі ми додали до нашого домен gtm., але ви можете вписати інший.

Увага. Якщо ваш DNS/хостинг не працює через Cloudflare, опція Stape Global CDN лише прискорить завантаження скриптів (gtm.js, gtag.js тощо), але не покращить збір даних: ITP у Safari залишиться, а строк життя first-party cookies не подовжиться.
Для реального приросту даних і кращої атрибуції потрібен Own CDN з same-origin проксі та правилами на рівні CDN (SSL Full, заголовок X-From-Cdn, Bypass cache) — їх можна налаштувати у Cloudflare або іншому повнофункціональному CDN. Hostinger CDN таких правил не дає, тільки якщо є VPS хостінг, тому використовуйте Global CDN лише для швидкості, а для трекінгу — Own CDN.
Інструкція по налаштування Own CDN за цим посиланням: How to use Own CDN

DNS-записи: На боці вашого домену створіть DNS-записи типу A (та AAAA для IPv6) для вибраного субдомена, що вказують на IP-адреси сервера Stape. Необхідні IP ви знайдете в адмін-панелі Stape (при додаванні вашого домену Stape покаже, на які адреси потрібно вказати записи). Приклад DNS-записів (замініть значення на актуальні з Stape).

Додайте ці записи у панелі управління DNS вашого хостингу (зазвичай через cPanel, Cloudflare чи інший реєстратор). Збережіть зміни та зачекайте пропагації DNS (може тривати від кількох хвилин до години чи більше, залежно від TTL).
Більш подробно як налаштувати DNS в Cloudflare англійською на сайті Stape.

Підтвердження домену на Stape: Після додавання DNS-записів вкажіть цей субдомен у налаштуваннях контейнера на Stape. Статус домену має змінитися на “Ready” (готовий)stape.io, що означає успішне прив’язування. Переконайтесь, що Stape ввімкнув SSL-сертифікат для вашого субдомена (зазвичай це відбувається автоматично через Let’s Encrypt – в адмінці має бути позначено, що сертифікат активний).

Налаштування контейнера SERVER GTM (зверніть увагу що це НЕ Web GTM): Зайдіть в інтерфейс GTM для створеного серверного контейнера (GTM-XXXXXX) → AdminContainer Settings. Тут знайдіть поле “Tagging Server URL” і встановіть його значення як ваш новий субдомен (наприклад:https://gtm.example.com). Це потрібно, щоб GTM знав про ваш власний домен для генерації скриптів та cookie.

Типові помилки: не використовуйте чужий домен або зовсім інший домен – обирайте субдомен свого сайту, інакше cookie не будуть вважатися first-party і браузери не подовжать їх дію.

Крок 3. Налаштування сайту для відправки даних GA4 через серверний контейнер

На цьому етапі потрібно змінити конфігурацію тегів GA4 на вашому сайті, щоб вони відправляли дані не прямо в Google Analytics, а спочатку на ваш серверний GTM (субдомен, налаштований у кроці 2). Розглянемо налаштування через Google Tag Manager (web-контейнер).

Google Tag Manager (web):
У контейнері GTM для вашого сайту (web-контейнер) знайдіть тег конфігурації GA4. Це тег Google Tag з вашим ідентифікатором GA4. Відкрийте налаштування цього тегу:

  • Переконайтесь, що вказано ваш Measurement ID (G-XXXXXXXX). Якщо тег уже був налаштований раніше, він там буде.

  • Додайте параметр server_container_url: у розділі налаштувань (Configuration Settings) додайте новий параметр конфігурації. Ім’я параметра – server_container_url, значення – URL вашого серверного контейнера, тобто https://gtm.example.com (ваш субдомен)stape.io. Це вкаже тегу GA4 відправляти всі хіти на ваш серверний GTM.

  • Збережіть тег і опублікуйте оновлений контейнер GTM на сайт. Після цього, коли на сайті спрацює тег GA4 (наприклад, завантаження сторінки або подія), замість звернення до google-analytics.com дані підуть на ваш субдомен gtm.example.com.

  • Примітка: Якщо GA4 раніше не був налаштований у GTM, створіть новий Google Tag (або GA4 Configuration тег) у web-контейнері. Встановіть у ньому ваш GA4 Measurement ID і додайте параметр server_container_url зі значенням вашого субдоменаdevelopers.google.com. Додайте тригер на всі сторінки (All Pages) або відповідно до ваших потреб (щоб відправляти page_view при завантаженні). Публікуйте контейнер. (Окремі події GA4 можна налаштувати аналогічно через теги типу GA4 Event).

Після реалізації пункту 3, ваш сайт тепер налаштований відправляти дані GA4 на власний домен (серверний GTM), а не прямо в Google. Далі необхідно переконатися, що серверний контейнер правильно приймає і ретранслює ці дані в Google Analytics.

Крок 4. Налаштування серверного контейнера GTM для прийому та відправки подій GA4

Нагадаємо, у серверному контейнері GTM вже повинен бути встановлений клієнт GA4:

  • Зайдіть в контейнер GTM Server (через інтерфейс GTM) і перейдіть до розділу Clients (Клієнти). Ви повинні бачити клієнт Google Analytics: GA4 в списку – за замовчуванням GTM створює його автоматично для нового серверного контейнера. Якщо з якоїсь причини його немає, додайте новий Client і виберіть тип Google Analytics: GA4. Збережіть, назву клієнта залиште як “GA4” (або свою, але запам’ятайте її).

Перейдіть до розділу Tags (Теги) у серверному контейнері. Тут потрібно мати тег, який буде відправляти отримані події далі в Google Analytics:

  • Створіть New Tag і виберіть тип Google Analytics: GA4 (цей шаблон має бути доступним за замовчуванням). В конфігурації тега можна залишити поля порожніми, щоб тег успадковував налаштування з отриманих подійdevelopers.google.com. Іншими словами, якщо подія від веб-клієнта містить Measurement ID (а вона його містить), серверний тег автоматично використає той самий ID і відправить подію у відповідний ресурс GA4.

    • Примітка: переконайтеся, що Measurement ID у веб-тезі (крок 3) актуальний. Якщо ж ви хочете жорстко задати Measurement ID вручну, ви можете вписати його в поле Measurement ID тега. За потреби (наприклад, для офлайн-відправки подій) тут також можна вказати API Secret, згенерований в налаштуваннях потоку даних GA4, але для звичайного проксійного трекінгу це не обов’язково.

  • Додайте Trigger (тригер) для цього тегу. Створіть новий тригер типу Custom і налаштуйте умову: {{Client Name}} (ім’я клієнта) equals (дорівнює) “GA4” (або ту назву, що має ваш GA4 Client). Це гарантує, що тег спрацює тільки на подіях, які надійшли через клієнт GA4. Назвіть тригер, наприклад, “All GA4 Events”, та прикріпіть його до тега.

  • Збережіть тег (назвіть його, наприклад, “Forward to GA4”) і опублікуйте серверний контейнер GTM (Submit → Publish).

Типові помилки: Найчастіше забудькуватість проявляється у невстановленні тригера або неправильній умові – переконайтеся, що використали Client Name = GA4, а не щось інше, і що тег активується на всі події GA4. Також не створюйте дублюючих тегів GA4 без потреби – один тег з таким тригером відправить усі події, що надійшли, у GA4.

Крок 5. Завершення налаштування та перевірка:

Після виконання кроків 1–4 ви реалізували повний ланцюжок: веб-сайт → серверний GTM → Google Analytics 4. Важливо на цьому етапі переконатися, що дані справді надходять у GA4 і відповідають очікуваним. Про перевірку детально – у наступному розділі.