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».

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



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

Как работой гореть, но не сгорать — личный опыт

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

08 06 2026 19:49:41

Топ-50 самых дорогих ключевых слов Google Рекламы в России и Украине

Топ-50 самых дорогих ключевых слов Google Рекламы в России и Украине За что, по мнению рекламодателей, готовы платить пользователи в России и Украине? Рейтинг самых дорогих ключевых слов Google Рекламы по версии Serpstat....

07 06 2026 9:31:50

Сколько стоил клик Google Ads и Facebook в Украине в первом квартале 2018 года

Сколько стоил клик Google Ads и Facebook в Украине в первом квартале 2018 года Данные по 33,5 миллионов кликов в 26 тематиках и 394 городах...

06 06 2026 22:33:34

Как работает Brand Lift — исследуем эффективность видеорекламы на YouTube

Как работает Brand Lift — исследуем эффективность видеорекламы на YouTube Недавно у меня закончилась видеокампания на ютуб, по которой удалось собрать исследование Brand Lift. Хочу поделиться инсайтами...

05 06 2026 5:55:22

Продвижение мобильного приложения: как вовлечь пользователей с помощью рекламы в Facebook?

Реклама Facebook для вовлечения пользователей помогает привлечь внимание к приложению и удержать пользователей в условиях перенасыщенного рынка....

04 06 2026 14:47:55

Что такое XML-feed: как его создать и отредактировать

Что такое XML-feed: как его создать и отредактировать XML-фид представляет собой файл с кодом на языке XML, ссылку на который используют в различных сервисах...

03 06 2026 6:59:15

Какие ошибки возникают при работе с Google ***ytics и как с ними бороться

Какие ошибки возникают при работе с Google ***ytics и как с ними бороться Советы специалистам по контекстной рекламе. Технические сложности, которые возникают при работе с Google ***ytics: от ограничений интерфейса до ошибок настройки отслеживания и последующей недостоверности полученных данных, и решения для них...

02 06 2026 17:27:59

Как запустить рекламу в TikTok — руководство для новичка

Как запустить рекламу в TikTok — руководство для новичка От создания аккаунта до выбора пикселя — просто и понятно про TikTok....

01 06 2026 14:15:43

LinkedIn для SaaS-сервисов: почему это выгодно?

LinkedIn для SaaS-сервисов: почему это выгодно? Обычно SaaS-бизнесы начинают привлечение лидов с запуска рекламы на Facebook. Но наш опыт говорит о том, что это не самые подходящие каналы. Более высокие результаты можно получить на LinkedIn....

31 05 2026 3:34:52

Что такое Netpeak Group? Все, что нужно знать

Компании и продукты, социальные инициативы, главные проекты и миссия группы. Разложили все о Netpeak Group по полочкам в новом посте....

30 05 2026 0:28:56

Торговые и умные торговые кампании — за что бизнес платит подрядчику

Торговые и умные торговые кампании — за что бизнес платит подрядчику Google Shopping и Smart Shopping Campaign сами себя не оптимизируют....

29 05 2026 10:34:47

Как настроить передачу уведомлений из Google Calendar в Telegram

Как настроить передачу уведомлений из Google Calendar в Telegram Мануал по созданию удобного планировщика повторяющихся действий....

28 05 2026 21:12:46

5 инструментов для проверки юзабилити интернет-магазина

5 инструментов для проверки юзабилити интернет-магазина Несложные рекомендации, как увеличить продажи с сайта и его мобильной версии с помощью инструментов Google: ***ytics, Tag Manager, Optimizer и форм-опросов. UX-специалисты Турум-бурум рекомендуют их для проверки сайта и используют в своей работе....

27 05 2026 22:31:44

Как провести A/B-тест сайта: инструменты и популярные гипотезы

Как провести A/B-тест сайта: инструменты и популярные гипотезы 22 оригинальные гипотезы для A/B-теста сайта, которые чаще всего влияют на получаемую прибыль...

26 05 2026 7:16:25

Корпоративный блог. Каким он должен быть и примеры для подражания

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

25 05 2026 3:53:49

Как запустить контекстную рекламу в Google Ads — руководство для малого бизнеса

Как запустить контекстную рекламу в Google Ads — руководство для малого бизнеса Что такое контекстная реклама? Настраиваем рекламу в поиске Google...

24 05 2026 21:41:42

Баннерная реклама vs. Таргетированная реклама в социальных сетях

Не существует универсальных решений - есть эффективные инструменты и удачные их сочетания....

23 05 2026 20:46:10

Как долго живет лид в базе email-рассылки?

Как долго живет лид в базе email-рассылки? Это исследование для тех, кто хочет выяснить, эффективно ли работать с лидами, если им год и больше...

22 05 2026 18:55:38

Сeкc и эpoтика, магия, тренер-олень, и даже ребус! Апрельская реклама с блоком 18+

Чем шокировала, радовала и удивляла реклама в социальных сетях и контекстная в Google в апреле 2021 года...

21 05 2026 13:43:51

Sad But True — телеграм-канал Андрея Чумаченко. Коротко и правдиво про бизнес, самоорганизацию и управление людьми

Sad But True — телеграм-канал Андрея Чумаченко. Коротко и правдиво про бизнес, самоорганизацию и управление людьми Рассказываем про телеграм-канал со-основателя Netpeak и чем он интересен для предпринимателей, руководителей и маркетологов....

20 05 2026 5:44:25

Как превратиться в робота и повысить продуктивность — советы для CEO

Как превратиться в робота и повысить продуктивность — советы для CEO Нет прокрастинации! Советы для личной эффективности от руководителя двух стартапов...

19 05 2026 3:43:56

Особенности регионального продвижения сайтов

Особенности регионального продвижения сайтов SEO-специалисты используют создание поддоменов, подпапок или отдельных доменов...

18 05 2026 13:55:40

Текст для главной страницы сайта — правила, требования и примеры

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

17 05 2026 5:30:49

Семь улучшений Netpeak: SEO, PPC и английская версия блога. Выпуск первый

Семь улучшений Netpeak: SEO, PPC и английская версия блога. Выпуск первый Сегодня мы открываем новую регулярную серию постов, в которых будем стараться раз в квартал рассказывать про семь важных улучшений Netpeak в работе с клиентами. Сейчас мы максимально сфокусированы на SEO и PPC....

16 05 2026 23:42:42

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

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

15 05 2026 18:40:48

MVP в разработке позиционирования стартапа — на примере Serpstat

MVP в разработке позиционирования стартапа — на примере Serpstat Метод бoмжа в маркетинге. Как разработать позиционирование стартапа при ограниченных ресурсах...

14 05 2026 8:56:57

Увольнение сотрудника. Алгоритм действий от Netpeak

Сотрудник не справляется? Значит с ним пора прощаться. Эмоции в сторону, действуем по алгоритму....

13 05 2026 20:11:32

Собеседование в рекламное агентство Ogilvy

Собеседование в рекламное агентство Ogilvy Тест, который проходят все соискатели. Никому не показывайте!...

12 05 2026 17:34:39

Как алгоритм Google Panda навсегда изменил SEO

Как алгоритм Google Panda навсегда изменил SEO Google «выкатил» алгоритм Панда 2.2, как пару недель назад обещал Мэтт Каттс....

11 05 2026 19:15:51

Как SaaS-у заработать $250 000 за неделю, или Четкая инструкция от Serpstat, как провести успешную кампанию на AppSumo

Как SaaS-у заработать $250 000 за неделю, или Четкая инструкция от Serpstat, как провести успешную кампанию на AppSumo Заработок в четверть миллиона. Как многофункциональная SEO-платформа Serpstat из Netpeak Group стала самым продаваемым продуктом на AppSumo — пошаговая история-инструкция...

10 05 2026 4:47:37

Как вывести сайт из-под фильтра Яндекса за накрутку поведенческих факторов

Как вывести сайт из-под фильтра Яндекса за накрутку поведенческих факторов Что делать, если вы специально или нет попали под фильтр: руководство от выявления до спасения...

09 05 2026 13:45:33

Сооснователь SUPERLUDI Влад Ноздрачев о развитии рынка инфобизнеса и инфоцыганах

Сооснователь SUPERLUDI Влад Ноздрачев о развитии рынка инфобизнеса и инфоцыганах Сооснователь SUPERLUDI Влад Ноздрачев рассказал в своем подкасте о развитии инфобизнеса. Предлагаем вам вольный пересказ....

08 05 2026 9:31:55

Мобильные приложения: как собрать данные на этапе MVP, чтобы было с чем идти к инвестору

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

07 05 2026 11:52:42

Топ-50 самых дорогих ключевых слов Google Рекламы в Казахстане

Топ-50 самых дорогих ключевых слов Google Рекламы в Казахстане Как правильно распределить рекламный бюджет? Читайте топ-50 самых дорогих ключевых слов Google Рекламы в Казахстане по версии Serpstat...

06 05 2026 6:58:23

Как не терять звонки даже с двумя сотрудниками в call-центре

Как не терять звонки даже с двумя сотрудниками в call-центре Минимизация пропущенных звонков и ускорение обработки заявок с наглядными примерами из сервиса...

05 05 2026 17:31:19

Discovery Ads для рекламы в YouTube и Gmail — мини кейс Intertop

Discovery Ads для рекламы в YouTube и Gmail — мини кейс Intertop Новый тип рекламных кампаний, который помогает расширить целевую аудиторию. Потенциальных покупателей можно найти среди людей не знакомых с вашим брендом....

04 05 2026 5:51:47

Самые распространенные SEO-ошибки

Самые распространенные SEO-ошибки В ТОПе ошибок — метатеги, разметка, заголовки h1-h6 и внутренние ссылочные факторы....

03 05 2026 20:26:38

Как перенести интернет-магазин с российских платформ

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

02 05 2026 2:48:36

Как построить диаграмму и не облажаться

Как построить диаграмму и не облажаться Как нарисовать круговую или столбчатую диаграмму. Избавляемся от популярных ошибок при оформлении...

01 05 2026 0:13:34

Как настроить код динамического ремаркетинга Google Ads без программиста

Часто в распоряжении клиента только интерфейс конструктора сайтов, весьма ограниченный в функциональности. Тогда на помощь интернет-маркетологу приходит сервис Tag Manager, благодаря которому можно настроить необходимый код расширенной электронной торговли....

30 04 2026 1:58:36

Как открыть офис в Индии и не облажаться

История Affise от фаундера компании, рассказанная на SaaS Nation....

28 04 2026 3:52:53

Google Penguin: как защитить свои позиции в выдаче

Google Penguin: как защитить свои позиции в выдаче Google Penguin официально стал частью основного алгоритма поисковика. Как обезопасить свой бизнес и встретить апдейт алгоритма Google во всеоружии? О трафике, анкорах, бэклинках, ссылках и ссылочной массе, трастовости и постоянном мониторинге, с комментариями специалистов...

27 04 2026 7:25:19

Как мы увеличили ROMI на 433% в рентабельных рекламных кампаниях: кейс интернет-магазина ФК «Динамо» (Киев)

Как мы увеличили ROMI на 433% в рентабельных рекламных кампаниях: кейс интернет-магазина ФК «Динамо» (Киев) Фубольный клуб. Как увеличить ROMI (возврат маркетинговых инвестиций) в рекламных кампаниях — рассказываем на примере киевского интернет-магазина «Динамо»...

26 04 2026 20:17:23

«Волшебный пинок»: вдохновение от знаменитостей. 11 мотивирующих речей

«Волшебный пинок»: вдохновение от знаменитостей. 11 мотивирующих речей Джефф Безос, Стив Джобс, Билл Гeйтс, Джимм Керри и другие. Собрали для вас подборку крутых выступлений людей, которые знают, как добиться ... в общем-то, всего. Читайте их основные тезисы, а главное — послушайте....

25 04 2026 10:50:42

Как вернуть органический трафик после неправильного переноса сайта

Как вернуть органический трафик после неправильного переноса сайта Обидно терять сохраненные достижения. Почему падает трафик из поисковых систем и как это исправить...

24 04 2026 21:38:23

Как без ошибок объединять данные в Google Data Studio

Как без ошибок объединять данные в Google Data Studio Продолжаем разговор о том, почему функция «Совмещение данных» в Google Data Studio может работать не так, как вы ожидаете....

23 04 2026 0:51:13

Почему отдел продаж сидит без дела. Находим решение с помощью коллтрекинга

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

22 04 2026 21:27:50

Как быстро перенести кампании из Google Рекламы в Директ

Как быстро перенести кампании из Google Рекламы в Директ Как перенести рекламные кампании из адвордс в директ, используя только Google Editor и Директ Коммaндер? Делимся быстрым и эффективным методом...

21 04 2026 13:20:26

Как найти путь к 250 миллионам пользователей за рубежом — обзор возможностей Pinterest

Как найти путь к 250 миллионам пользователей за рубежом — обзор возможностей Pinterest в поисках нового источника трафика расскажем о Pinterest — современной поисковой сети c акцентом на визуальном контенте...

20 04 2026 5:35:56

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