Определение
dataLayer служит очередью сообщений между сайтом и системой управления тегами, например Google Tag Manager.
Это JavaScript-массив со структурированными событиями. Сайт добавляет событие через push: обычно это объект с названием и параметрами, например покупка с товарами и суммой. Триггеры и переменные GTM читают данные, определяют теги для запуска и передаваемые параметры. Так логику тегов можно менять в GTM без правки кода сайта.
- Data Layer Variables
- ecommerce.valueecommerce.transaction_id
- На практике
Как dataLayer работает на практике?
Код страницы, темы Shopify или скрипта чекаута вызывает
window.dataLayer.push({...})при нужном действии: просмотре страницы, нажатии кнопки добавления в корзину или завершении покупки.Триггер Custom Event в GTM реагирует на событие. Data Layer Variables читают поля объекта, например
ecommerce.valueилиecommerce.transaction_id. Массив dataLayer доступен глобально на странице: его может читать любой её тег, скрипт или контейнер GTM. Это общий интерфейс передачи данных. Не путать с
Добавление события в dataLayer само по себе никуда не отправляет данные. Оно делает их доступными для GTM или другого обработчика с подходящим триггером. dataLayer и GTM выполняют разные задачи.
Единого обязательного формата нет. Ecommerce-события обычно используют структуру ecommerce из Google Enhanced Ecommerce / GA4. Но сайт может передать любой объект. Если его структура отличается от ожидаемой в переменных GTM, теги часто срабатывают с пустыми или недостающими данными.
- Где проверить
Как проверить
В консоли браузера на любой странице команда
dataLayerвозвращает текущий массив и все объекты, отправленные до этого момента. Это самый быстрый способ проверить, сработало ли ожидаемое событие и какие данные в нём были. Режим Preview в GTM показывает каждый push в dataLayer в панели Summary и то, какие теги, триггеры и переменные на него отреагировали.