Блог · PPC

dataLayer у Google Tag Manager: що це і навіщо маркетологу

Навіщо сайту шар даних між розміткою і тегами: які поля просити в розробки, як уникнути хаосу в тригерах і як зв’язати все з GA4.

~3 хв читання PPC

dataLayer у Google Tag Manager: що це і навіщо маркетологу

Навіщо потрібен dataLayer

Що таке dataLayer

dataLayer — це структурований «контейнер» даних у браузері, куди фронтенд кладе події та контекст, а GTM читає їх для запуску тегів без правки коду під кожну нову маркетингову задачу.

Без узгодженого шару даних маркетинг отримує довгу чергу до розробки на кожен новий піксель або подію.

Пам’ятайте, що dataLayer має існувати до завантаження GTM snippet — інакше рання подія зникне і ви довго не зрозумієте, чому частина конверсій не потрапляє в GA4.

У великих командах варто окремо описати «хто має право пушити події»: інакше маркетинг додає подію в одному місці, розробка — в іншому, а QA бачить третій варіант імені події. Єдиний словник подій і pull request на зміни в dataLayer зменшують хаос і пришвидшують розслідування розбіжностей між GA4, Ads і CRM.

  • Погодьте формат push-подій і мінімальний набір полів заздалегідь.
  • Не використовуйте випадкові назви ключів — це ламає тригери.
  • Розділіть дані користувача й дані сторінки в різних ключах.
  • Переконайтеся, що події не містять персональних даних без необхідності.
  • Документуйте приклад payload для кожної важливої події.
  • Перевірте порядок ініціалізації GTM і dataLayer.
  • Після SPA-навігації оновлюйте контекст сторінки в шарі.
  • Погодьте з юридичним перелік полів, що потребують згоди.
  • Ведіть версіонування контейнера GTM.
  • Не дублюйте ту саму подію з фронтенду і з GTM без потреби.
  • Фіксуйте версію схеми події в полі schema_version або подібному — це допомагає під час міграції на новий фронтенд.
  • Перевіряйте, що події purchase та refund не перетинаються за transaction_id.
  • Для SPA фіксуйте окремий push після client-side navigation, інакше page_type залишиться від попереднього маршруту.

Конверсії в GA4 — події та цілі.

Які поля просити у розробки

Приклад полів dataLayer

Мінімальний набір залежить від бізнес-моделі, але майже завжди корисні event, page_type, user_logged_in, value/currency для e-commerce та ідентифікатор продукту для ритейлу.

Головне — стабільність: якщо поле змінює назву щомісяця, маркетинг втрачає історичність звітів.

Домовтеся про обмеження розміру об’єкта події й уникайте глибоко вкладених структур без документації — плоский об’єкт легше дебажити в preview і в експорті BigQuery.

  • Додайте transaction_id для унікальності покупок.
  • Передавайте coupon, якщо промо впливає на атрибуцію.
  • Для лідів передавайте form_id або step funnel.
  • Для контенту — author і category_slug.
  • Для B2B — company_size як опційний параметр.
  • Переконайтеся, що null не ламає тригери.
  • Погодьте типи даних: рядок vs число.
  • Не передавайте PII у відкритому вигляді без необхідності.
  • Перевірте довжину значень для обмежень CDN.
  • Зберігайте JSON-приклад для QA.
  • Додайте поле environment=staging|production, щоб тестові події не змішувалися з бойовими в BigQuery.
  • Погодьте максимальну кількість ключів на подію, щоб не роздувати payload мобільних сесій.
  • Для логіну передавайте лише ознаку ролі без PII, якщо це потрібно для сегментації воронки.

UTM — єдиний шаблон міток.

Зв’язок із GA4

GTM тригери та GA4 tags

Тригери GTM зазвичай читають події dataLayer або змінні DOM, після чого запускають тег GA4 з мапінгом параметрів.

Помилка в одному тригері може або зламати весь ланцюжок, або дати подвійний підрахунок — тому важливі прев’ю та DebugView.

Для ecommerce-подій окремо опишіть мапінг items на модель GA4: тригер може спрацьовувати, а purchase-параметри роз’їхатися між staging і production без єдиного словника.

  • Використовуйте Consent Initialization для CMP.
  • Розділіть staging і production контейнери.
  • Перевіряйте порядок тегів, якщо є залежності.
  • Не копіюйте теги без перейменування — плутає аудит.
  • Після зміни форм оновлюйте CSS-селектори, якщо тригер DOM-based.
  • Переконайтеся, що link click не дублює file_download.
  • Ведіть naming convention для тригерів і змінних.
  • Перевірте вплив на швидкість сторінки від великої кількості тегів.
  • Погодьте SLA на публікацію нової версії контейнера.
  • Зберігайте backup workspace перед масовими видаленнями.
  • Після зміни cookie banner перевірте, що Consent Initialization не блокує критичні події для зареєстрованих користувачів.
  • Для WebView у мобільних додатках узгодьте окремий контейнер або workspace, щоб не зламати веб-теги.
  • Перевірте, що Custom HTML теги не вводять XSS через динамічні змінні з URL.

Аналітика — SEO-Studio Analytics.

Висновок

dataLayer — це контракт між продуктом, розробкою і маркетингом. Він економить час на впровадженні трекінгу й зменшує ризик поламаних звітів після кожного релізу. Документуйте поля, тестуйте в DebugView і не плодьте події без бізнес-сенсу. SEO-Studio допоможе вибудати GTM + GA4 так, щоб дані були стабільними від кліку до рішення керівництва.

Якщо підсумувати практику: почніть із короткого реєстру подій, додайте приклади payload у репозиторій і зробіть перевірку dataLayer частиною чекліста релізу, а не «зайвим кроком». Тоді маркетинг отримує передбачувані звіти, а розробка — менше нічних дзвінків через «зниклі» конверсії.