dataLayer
dataLayer — массив JavaScript на странице сайта, через который сайт передаёт данные, например сведения о заказе, в Google Tag Manager и тег Google.
Как работает
Страница один раз создаёт массив высоко в коде, до контейнера Tag Manager. Затем сайт добавляет в него сообщения через dataLayer.push(): сообщение может называть событие, например purchase, и нести значения. Tag Manager обрабатывает сообщения по одному, по порядку. Он запускает теги, триггеры которых совпали с событием, а его переменные читают значения.
Для магазина главное сообщение — покупка. Бэкенд знает номер заказа, сумму и товары и записывает их в push на странице подтверждения заказа. Теги берут из этого push идентификатор транзакции, ценность конверсии и список товаров. Тот же push питает событие покупки в Google Analytics 4.
Google проектировал свои теги так, чтобы они читали dataLayer, а не собирали сведения, разбросанные по странице. Настройку разбирает наше руководство по событию покупки в Google Tag Manager.
Где встречается
- Консоль браузера: введите
dataLayer, чтобы увидеть все сообщения, отправленные к этому моменту. - Google Tag Assistant: показывает dataLayer при каждом событии, пока вы кликаете по сайту.
Пример
Пример на вымышленном магазине, числа не клиентские.
Магазин посуды продаёт обеденный сервиз, товар ds-24, за 600. Его страница подтверждения заказа делает push:
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: "purchase",
ecommerce: {
transaction_id: "10452",
value: 600,
currency: "EUR",
items: [{ item_id: "ds-24", price: 600, quantity: 1 }]
}
});
Первая строка очищает предыдущий объект ecommerce, как в руководстве Google по GA4. Триггер на purchase запускает теги, и они читают из сообщения значение 600 и заказ 10452.
Не путать с
- Google Tag Manager — контейнер с тегами, триггерами и переменными. dataLayer только хранит данные: Tag Manager читает то, что сайт в него кладёт.
Верно и неверно
- Неверно: «Тег, который срабатывает при загрузке страницы подтверждения заказа, считает заказы». Верно: без номера заказа он считает загрузки страницы: перезагрузка может снова запустить его для того же заказа. Push
purchaseнесёт номер и сумму заказа, а Google Ads отбрасывает вторую конверсию с тем же номером заказа.
Источники
- The data layer (на английском) — установка,
push, порядок обработки, Tag Assistant. Проверено 02.10.2026. - Measure ecommerce (на английском) — push
purchaseдля GA4. Проверено 02.10.2026. - Use a transaction ID to minimize duplicate conversions (на английском) — повторный запуск при перезагрузке, дубли отбрасываются по ID. Проверено 02.10.2026 (архивная копия от 08.06.2026).