NetPeak Biz Tech    


Google Tag Manager: актуальные и неочевидные фишки

Google Tag Manager: актуальные и неочевидные фишки

< >

Google Tag Manager — система, cозданная Google для управления тегами JavaScript и HTML, которые используются для отслеживания и анализа данных на сайтах. При работе с GTM часто упоминается термин dataLayer и в этой статье мы разберемся, что это и в чем его особенности. А еще мы узнаем, как отслеживать статистику в Google ***ytics для SPA-сайтов и лендингов.

Что такое dataLayer

DataLayer — это название переменной JavaScript. Она служит для передачи данных, которые Google Tag Manager не может получить сам. Стоит заметить, что вместо dataLayer некоторые используют термин «уровень данных». Связано это с тем, что при необходимости можно переопределить название массива dataLayer на другое допустимое.
Например:

<script>(function(w,d,s,l,i) {w[l]=w[l]||[];w[l].push({\\\'gtm.start\\\': new Date().getTime(), event:\\\'gtm.js\\\'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!=\\\'dataLayer\\\'?\\\'&l=\\\'+l:\\\' \\\';j.async=true;j.src=\\\'https://www.googletagmanager.com/gtm.js?id= \\\'+i+dl;f.parentNode.insertBefore(j,f);})(window,document, \\\'script\\\',\\\'dataLayer\\\',\\\'GTM-XXXXXX\\\');script>

Код с переименованным именем уровнем данных:

<script>(function(w,d,s,l,i){w[l]=w[l]||[]; w[l].push({\\\'gtm.start\\\':new Date().getTime(),event:\\\'gtm.js\\\'}); var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!= \\\'dataLayer\\\'?\\\'&l=\\\'+l:\\\'\\\';j.async=true;j.src=\\\' https://www.googletagmanager.com/gtm.js?id=\\\'+i+dl;f.parentNode.insertBefore(j,f);}) (window,document,\\\'script\\\',\\\'dataNetpeak\\\',\\\'GTM-XXXXXX\\\');script>

 Разница между dataLayer = [] и dataLayer.push ()

Важно понимать, что при объявлении переменной dataLayer = [] в памяти создается новая переменная dataLayer, которую система определяет как пустой массив. Это значит, что если мы изменим значение массива, второе присваивание перезапишет первое:

<script> dataLayer = [{ \\\'businessSomeVar\\\' : \\\'businessSomeVal\\\' }]; script> ….. <script> dataLayer = [{ \\\'anotherSomeVar\\\' : \\\'anotherSomeVal\\\' }]; script>

 

При этом доступ есть только к anotherSomeVar, а к businessSomeVar доступа больше нет.

Также хочу обратить внимание на то, что объявление уровня данных с помощью знака «=» будет корректно работать только, если код будет размещен до кода GTM.

Особенности dataLayer.push ()

Метод push () имеют все массивы по умолчанию. Его особенность в том, что при вызове push () вы добавляете данные в массив в виде нового значения, то есть значения не перезаписываются, как в случае dataLayer =, а просто к ним добавляется еще одно.

Работая с Google Tag Manager, всегда необходимо использовать dataLayer.push () в следующей конструкции:

<script>window.dataLayer = window.dataLayer || []; dataLayer.push ({...});script>

Первая строка проверяет, был ли определен dataLayer. Если нет — он будет определен как новый пустой массив. В обоих случаях в него будут записаны данные.

Настройка веб-аналитики на одностраничных приложениях

Давайте поговорим о том, как с помощью GTM настроить корректное отслеживание данных в Google ***ytics для одностраничных приложений.

Как сделать SPA-сайты SEO-Friendly? Одностраничное приложение (Single Page Application, SPA) — это веб-приложение, использующее единственный HTML-документ как оболочку для всех веб-страниц. Все необходимые данные подгружаются в него динамически при помощи AJAX-запросов на сервер.

Из-за своих особенностей SPA-код Google ***ytics сработает только один раз при загрузке страницы. Стандартные способы настройки Google ***ytics нам не помогут, но эту проблему можно легко решить с помощью создания дополнительного триггера в GTM.

В Google Tag Manager нужно создать триггер «History Change» и выбрать тип триггера «Изменение в истории» — он отслеживает изменение истории браузера.

Затем применяем созданный триггер «History Change» к тегу для просмотра страниц «Universal ***ytics».

Теперь тег будет сpaбатывать не только на загрузку или перезагрузку страницы («All Pages»), но и на каждое изменение в истории.

Этот вариант подходит для сайтов, у которых прописан человекопонятный URL. Если URL содержит знак # (хэш), символы после знака # называются фрагментами URL-адреса.

Как правило, они используются для якорных ссылок — инструмента выбора для сайтов одностраничников, на которых контент меняется динамически, без перезагрузки страницы.

Фрагмент URL в Google ***ytics невозможно отследить по умолчанию, но с GTM нет ничего невозможного.

Для этого нам нужно выполнить следующие действия:

1. Настройка переменных

В Google Tag Manager нужно перейти в раздел «Переменные» выбрать «Настройки» и отметить значения «New History Fragment» и «History Source».

«New History Fragment» хранит новые фрагмент URL-адреса, когда он изменяется, а «History Source» позволит указывать то, что изменения в истории будут проверяться.

Далее, создаем переменную с собственным кодом JavaScript. Она будет производить новый, сформированный URL, который затем можно отправить в Google ***ytics в качестве пути к странице фрагмент URL-адреса. Называем ее «Get path with fragment» и добавляем следующий код:

function() { return window.location.pathname + window.location.search + window.location.hash;}

Эта переменная, добавленная в поле страницы, вернет путь, строку запроса (если она есть) и хеш URL.

2. Создание триггера

Необходимо создать триггер «History fragment change», выбрать тип триггера «Изменение истории» и условия активации в режиме «\"History Source\" равно popstate». Событие popstate вызывается, когда меняется активная запись истории. Мы используем popstate в качестве условия, чтобы он отключился в тех случаях, где может сработать триггер изменения истории.

3. Настройка тега

В обычный тег просмотра страницы (у меня он называется «Universal ***ytics»), в дополнительных настройках необходимо добавить новое поле «Page» и выбрать созданную нами пользовательскую переменную из первого пункта {{get path with fragment}}.

Далее, добавляем триггер «History fragment change», сохраняем тег и проверяем его работу.

4. Как это работает

Когда кто-то нажимает на ссылку, которая имеет привязку в href, например Contact Us, браузер отправляет событие изменения истории и оно подхватывается триггером «History fragment change». Это приводит к тому, что тег «Universal ***ytics» снова сpaбатывает.

Выводы

  1. В любом случае используйте dataLayer.push () — так вы добавляете данные в массив в качестве нового значения, а не перезаписываете старое, как в случае с методом использования знака «=».
  2. Для корректного сбора и передачи данных в Google ***ytics из SPA-сайтов с человекопонятным URL в GTM нужно создать триггер изменения в истории. Если в ваш URL содержит хэш, нужно просто добавить свою пользовательскую переменную в тег и заменить в триггере условие активации на «\"History Source\" равно popstate».

Если вас заинтересовал материал и вы хотите уточнить детали, добро пожаловать в комментарии.



Комментарии:

Выгорание на работе: как сохранить интерес и продуктивность. Личный опыт директора по маркетингу

1 — меняй работу внутри работы, 2 — выбери то, что нравится больше всего и старайся делать это чаще, 3 — придумай себе развлечения. Подробности — в посте. Читать дальше....

16 07 2026 21:58:37

Как продавать часы в интернете: методы и фишки

Как продавать часы в интернете: методы и фишки Инструменты интернет-маркетинга, которые вы не используете или используете не на сто процентов....

15 07 2026 13:42:56

Как маркетологи распределяют бюджет на рекламу — исследование SalesForce

Как маркетологи распределяют бюджет на рекламу — исследование SalesForce Аналитики из SalesForce уже в четвертый раз опубликовали исследование о приоритетах, составе комaнд и распределении бюджетов ведущими маркетологами мира...

14 07 2026 23:28:49

Как редактировать скрипты Google Ads

Как редактировать скрипты Google Ads Пpaктика: где искать шаблоны скриптов, как их редактировать и какие есть меры предосторожности при работе со скриптами....

13 07 2026 8:16:33

Как запустить рекламную кампанию Call-Only для мобильных устройств

Как запустить рекламную кампанию Call-Only для мобильных устройств Учим правильно платить за верхние строчки показов объявления: настройка быстрых звонков из поисковых объявлений «Только номер телефона» Google Ads...

12 07 2026 5:29:21

Как прогнозировать цены с помощью машинного обучения

Как прогнозировать цены с помощью машинного обучения Прайс-менеджерам: покупаем и моделируем недостающие данные с помощью алгоритмов машинного обучения...

11 07 2026 7:16:17

Прогнозируем поисковую активность в Яндексе с помощью Wordstat и Google Таблиц

Прогнозируем поисковую активность в Яндексе с помощью Wordstat и Google Таблиц Аналитик Алексей Селезнев описал простой алогритм прогнозирования поисковой активности пользователей в Яндексе....

10 07 2026 21:35:57

10 шагов к статистике на блюдечке. Инструкция по настройке «Подсказок» в Google ***ytics 4

10 шагов к статистике на блюдечке. Инструкция по настройке «Подсказок» в Google ***ytics 4 Как с помощью GA4 анализировать рекламные кампании, лежа на диване...

09 07 2026 14:27:43

Чем наш PPC-отдел круче остальных?

Чем наш PPC-отдел круче остальных? Мария Гoлyб устала отвечать на вопрос «Какие преимущества PPC-отдела в Netpeak?» и решила написать об этом пост....

08 07 2026 21:15:41

Основные виды контента и правила оформления в зависимости от вида

Контент может информировать, вовлекать и продавать, при этом для каждой цели нужен свой тип контента...

07 07 2026 10:40:12

Примеры лучших страниц оформления заказа интернет-магазинов

Примеры лучших страниц оформления заказа интернет-магазинов Корзина интернет-магазина поможет повысить продажи, если ее функционал содержит: фото товара, кликабельное наименование товара, перечень способов оплаты. Узнать больше!...

06 07 2026 8:27:56

Закон о языках и ваш сайт: как создать украинскую версию и где искать удачные кейсы

Закон о языках и ваш сайт: как создать украинскую версию и где искать удачные кейсы Рекомендации и мнения экспертов по одной из самых противоречивых тем украинского интернет-прострaнcтва....

05 07 2026 21:25:44

Кейс по таргетированной рекламе в тематике «женская одежда»: ROMI 76%

Кейс по таргетированной рекламе в тематике «женская одежда»: ROMI 76% Насколько классно продается женская одежда в интернете....

04 07 2026 6:49:46

Реклама медицинских услуг: требования и ограничения для контекстной рекламы

Реклама медицинских услуг: требования и ограничения для контекстной рекламы Если ваша фирма работает на предоставление услуг в медицине, следует учесть требования рекламных систем в интернете, чтобы объявления в с первого раза прошли модерацию...

03 07 2026 23:39:31

Семь отчетов Google ***ytics для анализа вашего блога

Семь отчетов Google ***ytics для анализа вашего блога Один из самых известных отчетов в Google ***ytics «Аудитория/Обзор». Но кроме него есть еще несколько, которые будут весьма полезны для вашего блога. Какие именно, читайте дальше....

02 07 2026 9:31:15

RFM-анализ: три параметра для сверхточной сегментации базы email-рассылок

RFM-анализ: три параметра для сверхточной сегментации базы email-рассылок RFM — это аббревиатура слов Recency, Frequency, Money — новизна, частота, деньги. То есть считаем, как давно клиент купил товар в последний раз, сколько всего покупок он сделал и сколько денег принес нам за все время заказов....

01 07 2026 0:33:43

Критерии качественного контента

Критерии качественного контента Тошнота и процент воды в тексте не должны превышать допустимую норму, иначе не только пользователи уйдут с сайта, поисковые роботы понизят сайт в рейтинге. Узнать больше!...

30 06 2026 10:44:39

A/B тестирование в email-маркетинге: что это, типы, и топ идеи для сплит тестирования

Как понять, что именно нравится подписчикам в вашей рассылке...

29 06 2026 11:41:23

Отделяем мух от котлет в контент-маркетинге

Отделяем мух от котлет в контент-маркетинге Пpaктическая информация о том, что и куда нужно постить....

28 06 2026 23:23:17

Microsoft Power BI в интернет-маркетинге — дайджест полезных публикаций

Microsoft Power BI в интернет-маркетинге — дайджест полезных публикаций Как связать данные, полученные из множества различных источников, и визуализировать их в виде удобных интеpaктивных отчетов...

27 06 2026 3:28:25

Как настроить отправку писем с помощью языка R

Как настроить отправку писем с помощью языка R и как избежать подводных камней....

26 06 2026 3:24:23

Кейс: настраиваем ремаркетинг на брошенную корзину

Кейс: настраиваем ремаркетинг на брошенную корзину Как узнать срок хранения товаров в корзине и настроить ремаркетинг для завершения покупок...

25 06 2026 1:15:16

Как работать с закладками в Power BI — подробное руководство

Как работать с закладками в Power BI — подробное руководство В этой статье я покажу пример визуальной работы с закладкой и пошагово разберу процесс их создания и применения для удобства визуализации данных...

24 06 2026 18:57:10

Дополнительные ссылки в Google Рекламе

Быстрый инструмент для повышения CTR — дополнительные ссылки Google Рекламы...

23 06 2026 6:27:51

Артем Борисов из Яндекс.Казахстан: казахстанцам нужен качественный контент на родном языке

Артем Борисов из Яндекс.Казахстан: казахстанцам нужен качественный контент на родном языке Почему встречаются низкие показатели переходов на сайты по всем источникам трафика? Нет рекламодателей, которые могут предложить пользователям те или иные товары и услуги....

22 06 2026 0:56:25

О влиянии счастья на бизнес: как Zappos получил $1,2 млрд от Amazon за умение делать покупателей счастливыми

О влиянии счастья на бизнес: как Zappos получил $1,2 млрд от Amazon за умение делать покупателей счастливыми Клиенты возвращаются к хорошему сервису, который начинается с понятного интерфейса на сайте, продолжается в общении с вежливым сотрудником и заканчивается в общении с воспитанным курьером или менеджером в пункте самовывоза. Что ещё? Читайте!...

21 06 2026 1:37:56

Как линкбилдер работает с поиском Яндекс

Как линкбилдер работает с поиском Яндекс SEO-специалист Константин Гайдук поделился с читателями блога постом о фишках работы линкбилдера с поиском Яндекс....

20 06 2026 20:32:42

Продвижение с помощью сетки сайтов — как строить PBN

Продвижение с помощью сетки сайтов — как строить PBN PBN (Private Blog Network) — приватная/частная сеть блогов, сайты-сателлиты, сетки сайтов. Строить их долго, дорого, но это работает....

19 06 2026 22:53:57

Кассовый разрыв в бизнесе. Что это, почему возникает и как избежать

Кассовый разрыв в бизнесе. Что это, почему возникает и как избежать 82% малых бизнесов тонут как раз из-за проблем с денежными потоками (по данным исследований U.S. Bank, 2020). Как предприниматели попадают в кассовые разрывы и что делать в таких ситуациях, разберем в этой статье....

18 06 2026 14:47:29

Рецензия на третье издание «Google ***ytics для профессионалов» Брайана Клифтона

Рецензия на третье издание «Google ***ytics для профессионалов» Брайана Клифтона Публикуем рецензию на новое издание Брайана Клифтона. Несмотря на узкую специализацию, эта книга стала бестселлером на Amazon и уже переведена на 5 разных языков. Стоит отметить, что две предыдущие редакции «Google ***ytics для профессионалов» успешно ис...

17 06 2026 4:29:34

Запускаем блоги на орбиту — МКС от Netpeak

Запускаем блоги на орбиту — МКС от Netpeak Грамотный контент важен для всех, но особенно — для аутсорсов и стартапов в B2B. Если вы согласны с этим, давайте делать медиа....

16 06 2026 17:43:58

Уроки Google ***ytics — как добавить новый сайт в Google ***ytics

Уроки Google ***ytics — как добавить новый сайт в Google ***ytics Как настроить Google ***ytics и как открыть вход другому пользователю: подробный урок....

15 06 2026 17:11:21

Как оценить потерянный доход в Google Ads с помощью языка R

Как оценить потерянный доход в Google Ads с помощью языка R Сколько прибыли вы не получили в Google Ads из-за нехватки бюджета или низкого рейтинга ключевых слов. Метод покажется сложным, но в дальнейшем вы сможете бесплатно обновлять данные и контролировать потери показов и дохода по всем рекламным кампаниям...

14 06 2026 2:46:24

Шесть принципов виральности, или Как работает вирусный маркетинг

Шесть принципов виральности, или Как работает вирусный маркетинг Автор книги о вирусном маркетинге «Заразительный. Психология сарафанного радио» Йона Бергер пришел к выводу, что у виральности всего шесть принципов....

13 06 2026 14:29:22

Как грамотно предупредить о файлах cookie на сайте

Как грамотно предупредить о файлах cookie на сайте Как создать и внедрить баннеры об использовании куки-файлов с помощью Google Tag Manager и OneTrust...

12 06 2026 19:55:39

Как создать крутую комaнду фрилансеров

Как создать крутую комaнду фрилансеров Где и как разработчик может подобрать ответственных удаленщиков, как составить техническое задание, чем контролировать качество работы...

11 06 2026 18:54:25

Контекстная реклама — что это, как выглядит, как работает.

Контекстная реклама — что это, как выглядит, как работает. Всё что нужно знать про контекстную рекламу — Как выглядит, какая бывает, сколько стоит, популярные сервисы и др....

10 06 2026 12:25:35

Оптимизация ремаркетинга в Facebook — подробное руководство

Оптимизация ремаркетинга в Facebook — подробное руководство Как вернуть на сайт как можно больше пользователей...

09 06 2026 8:35:58

Как определить ключевую метрику LTV перед запуском Apple Search Ads

Как определить ключевую метрику LTV перед запуском Apple Search Ads Расчет прогноза по LTV позволит более точно задать параметры рекламной кампании в Apple Search Ads на начальном этапе. Как это делают в RadASO, читайте в статье....

08 06 2026 18:17:44

Кейс: учим поисковый движок распознавать грамматические ошибки

Кейс: учим поисковый движок распознавать грамматические ошибки Что поможет написать объявление без грамматических ошибок? В недрах агентства Netpeak рождается новый полезный сервис...

07 06 2026 11:52:22

Netpeak Agency SEO Tool: обзор и фишки для специалистов

Netpeak Agency SEO Tool: обзор и фишки для специалистов Как расширение от Netpeak может облегчить работу над важными SEO-задачами....

06 06 2026 14:42:40

Что делать, если трафик на сайт резко упал

Что делать, если трафик на сайт резко упал Как найти и быстро исправить причины падения трафика? Совет номер один — не паниковать....

05 06 2026 19:48:11

Google Колибри — все, что вы хотели знать о новом алгоритме

Мы решили определить и раскрыть самые популярные вопросы по работе нового алгоритма Google Колибри...

04 06 2026 16:57:44

Что нужно понимать в SEO-отчетах, чтобы оценить эффективность продвижения

Что нужно понимать в SEO-отчетах, чтобы оценить эффективность продвижения Всё об оценке эффективности SEO-продвижения с инструментами и рекомендациями...

03 06 2026 15:43:35

Как использовать социальное доказательство в email-маркетинге

Как использовать социальное доказательство в email-маркетинге Рассказываем о приемах, которые помогут вам заинтересовать читателей рассылки....

02 06 2026 2:41:25

Контекстная реклама в Netpeak: 14 закулисных фишек агентства

Контекстная реклама в Netpeak: 14 закулисных фишек агентства Что нужно, чтобы реклама в интернете приносила прибыль....

01 06 2026 19:46:36

Рекламный кабинет в Facebook — пять фишек для упрощения работы

Рекламный кабинет в Facebook — пять фишек для упрощения работы Возможности для специалистов по рекламе в Facebook, о которых знают далеко не все. Подробности — тут....

31 05 2026 10:56:17

17 полезных кейсов от спикеров 8P

17 полезных кейсов от спикеров 8P Нашим решением было трaнcлировать хотя бы часть опыта спикеров 8P, составив дайджест лучших, на их взгляд, кейсов, о которых они узнали за этот год....

30 05 2026 4:30:37

Теневой бан Instagram — как распознать и преодолеть

Что такое теневой бан, что о нем известно, как выйти из-под него. Плюс мнение SMM-эксперта Нели Серебро...

29 05 2026 3:38:35

Библиотеки JavaScript для Google ***ytics: в чем разница между ***ytics.js, gtag.js и ga.js

Библиотеки JavaScript для Google ***ytics: в чем разница между ***ytics.js, gtag.js и ga.js Почему стоит внимательно относиться к выбору библиотеки JavaScript....

28 05 2026 2:15:25

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::