Перейти к содержимому

База знанийGoogle Tag Manager

Что такое dataLayer в управлении тегами?

Определение

dataLayer служит очередью сообщений между сайтом и системой управления тегами, например Google Tag Manager.

Это JavaScript-массив со структурированными событиями. Сайт добавляет событие через push: обычно это объект с названием и параметрами, например покупка с товарами и суммой. Триггеры и переменные GTM читают данные, определяют теги для запуска и передаваемые параметры. Так логику тегов можно менять в GTM без правки кода сайта.

Data Layer Variables
ecommerce.valueecommerce.transaction_id
  1. На практике

    Как dataLayer работает на практике?

    Код страницы, темы Shopify или скрипта чекаута вызывает window.dataLayer.push({...}) при нужном действии: просмотре страницы, нажатии кнопки добавления в корзину или завершении покупки.

    Триггер Custom Event в GTM реагирует на событие. Data Layer Variables читают поля объекта, например ecommerce.value или ecommerce.transaction_id. Массив dataLayer доступен глобально на странице: его может читать любой её тег, скрипт или контейнер GTM. Это общий интерфейс передачи данных.

  2. Не путать с

    Добавление события в dataLayer само по себе никуда не отправляет данные. Оно делает их доступными для GTM или другого обработчика с подходящим триггером. dataLayer и GTM выполняют разные задачи.

    Единого обязательного формата нет. Ecommerce-события обычно используют структуру ecommerce из Google Enhanced Ecommerce / GA4. Но сайт может передать любой объект. Если его структура отличается от ожидаемой в переменных GTM, теги часто срабатывают с пустыми или недостающими данными.

  3. Где проверить

    Как проверить

    В консоли браузера на любой странице команда dataLayer возвращает текущий массив и все объекты, отправленные до этого момента. Это самый быстрый способ проверить, сработало ли ожидаемое событие и какие данные в нём были. Режим Preview в GTM показывает каждый push в dataLayer в панели Summary и то, какие теги, триггеры и переменные на него отреагировали.

Daniil Maximkin

Здравствуйте, я Даниил.

Я сам разбираюсь в задаче, выполняю работу и передаю результат. Все вопросы вы обсуждаете напрямую со мной. Общаюсь на русском и английском. На испанском могу переписываться с помощью переводчика.

Что нужно сделать?

Опишите задачу

Отвечу в течение одного рабочего дня. Первый ответ бесплатный. Или напишите напрямую: next@taskfordaniel.com

Обсудить задачу

Расскажите, что нужно разработать, исправить или подключить.

Описать задачу next@taskfordaniel.com