Ответы на вопросы вебинара по Google Tag Manager

Google Analytics
Google Tag Manager
Бесплатная версия онлайн курса по Google Tag Manager

7 уроков, более 2 часов обучающих видео материалов. Вы можете начать изучение прямо сейчас!
Более 600 человек уже изучают этот вариант курса

В ходе состоявшегося вебинара, посвященного настройке и использованию Google Tag Manager, было задано порядка 20 различных вопросов. Основная масса из них была освещена в заключительной части мероприятия, по некоторым вопросам слушатели связались со мной, и надеюсь, я помог им решить их задачи. Сегодня публикую вопросы и ответы, прозвучавшие по окончании доклада.

Как настроить просмотр виртуальных страниц в  Google Tag Manager?

Рассмотрим пример на Universal Analytics. В блоке Настройки тега и нажмите на Дополнительные настройки, затем Поля, которые необходимо задать, откроется блок с возможностью создания полей и внесения из свойств. Нас интересуют следующие три (сразу поясню их значение):

  • URL перехода к документу – то, что в адресной строке браузера;
  • Путь к документу – адрес после имени домена, к пример после .ru;
  • Название документаtitle страницы.
Настройка виртуальных страниц в Google Tag Manager

Настройка виртуальных страниц в Google Tag Manager

Как настроить e-commerce?

Этому вопросу будет посвещена отдельная публикация. Вы можете ознакомиться с инструкцией по настройке электронной торговли Google Analytics в Google Tag Manager. Общий алгоритм следующий:

  1. Необходимо настроить передачу в Google Tag Manager сведений о транзакции с помощью dataLayer (что такое dataLayer?), разместив его на странице завершения оформления покупки;
  2. Добавить тег Google Analytics для фиксации транзакции.

Будет ли ошибкой использование на одной странице кода отслеживания Google Analytics и Google Tag Manager?

Если они используют различный идентификатор кода отслеживания то проблем не будет. Если будет использоваться одинаковый идентификатор отслеживания данные будут искажены.

Для чего нужно событие gtm.submitForm?

Для отслеживания отправки формы.

Что нужно писать в ID при прослушивании отправки формы?

При фиксации события gtm.formSubmit сопоставление нужно производить с id формы.

Если у ссылок нет ID, как их отслеживать?

Можно использовать классы, переменная Click Classes, если и их нет, то тогда можно использовать различные варианты, например по тексту ссылки. Но это уже более сложная реализация требующая навыков программирования и знания соответствующих технологий.

Есть ли ограничения по объему передаваемых данных?

Ограничения накладывает Google Analytics, а не Google Tag Manager. При использовании такой связки, необходимо учитывать ограничения Google Analytics.

Как отследить комментарии через плагины социальных сетей?

Поскольку комментарии подгружаются со сторонних сервисов, например c Facebook или ВКонтакте, могут быть сложности с отслеживанием нажатий на кнопки комментирования. Необходимо разбираться в каждой конкретной ситуации.

Как фиксировать ReachGoal в Яндекс Метрике?

Создайте тег типа Пользовательский тег HTML, в поле HTML укажите:

После чего настройте триггеры активации тега.

Как передать пользовательские параметры, показатели и переменные?

Для этого используются Дополнительные настройки ниже Тип отслеживания. Например, для Universal Analytics, необходимо выбрать Специальные показатели или Специальные параметры, после чего нажать на кнопку + Специальный параметр/показатель и заполнить поля формы:

Специальные показатели и параметры в Google Tag Manager

Специальные показатели и параметры в Google Tag Manager

Подробная инструкция по настройке пользовательских параметров и показателей в Google Tag Manager.

Как фиксировать переход по внешним ссылкам и загрузку файлов?

Этот вопрос подробно обсуждался в статье Узнайте как фиксировать точки выхода с сайта и загрузку файлов.

Нужно ли удалить с сайта код отслеживания событий, после настройки Google Tag Manager?

Да, если вы уверены, что тег с отслеживанием события  работает корректно.

Спасибо всем за интересные вопросы, если вашего вопроса не оказалось в списке или у вас есть вопрос, который вы хотите задать, прошу сделать это в комментариях либо связавшись со мной удобным для вас способом.

Автор блога: Иванов Иван, практикующий веб-аналитик. Специалист по внедреннию Google Analytics и Яндекс Метрики. Занимаюсь разработкой решений для формирования данных и отчетов по сквозной аналитике. Автор обучающего курса по Google Tag Manager, преподаватель в Нетологии
Еженедельная рассылка кейсов!
Обсуждение
  1. Андрей Бармалей
    29.01.2014 at 13:38

    Вопрос по пользовательским параметрам/показатели. Как в тег менеджере их подключить теперь понятно. Не понятно, как передавать их теперь с самого сайта. Какой код нужно разместить на странице, на которой определяются эти самые параметры и показатели для правильной передачи?

    • Иван
      29.01.2014 at 13:42

      Для передачи значений Вы можете использовать макрос или явно указать его (значение) в поле. Индекс можете узнать в режиме администратора в Google Analytics

  2. Андрей Бармалей
    29.01.2014 at 13:59

    С индексом разобрался сразу, а вот с макросом возникают трудности. Можно где-то посмотреть пример макроса для решения данной задачи?

    • Иван
      29.01.2014 at 14:07

      Макрос это функция на языке JavaScript, как она будет работать, откуда и какие значения получать и что с ними делать, это должны определить Вы при создании макроса. В качестве примера – макрос возвращающий URI публикации для моего блога:
      function(){
      var puri = window.location.pathname;
      return puri.split('/')[1];
      }

  3. Андрей Бармалей
    29.01.2014 at 14:21

    Иван, а если я буду использовать тип макроса “Переменная уровня данных” и передавать значения параметров/показателей так:
    dataLayer.push({‘Data Layer Variable Name’: ‘value’})

    Будет ли это правильным решением?

    • Иван
      29.01.2014 at 16:00

      Да, все верно. Только будьте внимательны при указании имен в dataLayer и при создании макроса

  4. Андрей Бармалей
    29.01.2014 at 16:14

    Иван :
    Только будьте внимательны при указании имен в dataLayer и при создании макроса

    Сделал сейчас так:
    dataLayer.push({‘Name’: ‘Петя’})

    а “Имя переменной уровня данных” указал – Name.

    Сам макрос назвал “Имя юзера”. При создании тега Universal Analytics в разделе “Специальные параметры” указал так:
    Индекс – 1
    Параметр – {{Имя юзера}}

    Индекс взял из админки аналитики (он у меня там пока один), но данные так и не передаются. Где мог ошибиться?

    • Иван
      29.01.2014 at 21:34

      Данные могут обрабатываться с задержкой и Вы уверены, что срабатывает тег, который передает данные в GA?

  5. Андрей Бармалей
    29.01.2014 at 23:01

    @Иван
    Сделал всё по науке. Тег опубликован. Пробовал режим отладки. Показало, что тег активен. А вот данные в аналитику пока не поступают.

  6. Андрей Бармалей
    30.01.2014 at 11:54

    Собственно задача решена. Был один нюанс, о котором почему-то практически нигде не пишут. А может я был просто невнимателен.

    • Иван
      30.01.2014 at 12:03

      Андрей, поделитесь в чем заключается особенность

  7. Андрей Бармалей
    30.01.2014 at 12:18

    @Иван
    Оказалось, что dataLayer нужно указывать до основного тега или использовать правило с условием gtm.dom.

    • Иван
      30.01.2014 at 12:27

      Совершенно верно. В противном случае GTM “не узнает” о том, что передавалось в dataLayer. Если используется dataLayer при загрузке страницы, то он должен быть определен/размещен до кода контейнера Google Analytics.

  8. Андрей
    01.02.2014 at 22:45

    А зачем в первом примере поле “URL перехода к документу – то, что в адресной строке”? Какова его роль?

    • Иван
      02.02.2014 at 01:35

      Можно не указывать, посмотрите в документации для разработчиков по Google Analytics, там подробнее расписано.

  9. Андрей
    01.02.2014 at 23:10

    Могли бы вы подсказать как отслеживать клик по ссылке у которой уникальным является атрибут title

    • Иван
      02.02.2014 at 01:51

      Нужно получить значение этого атрибута, затем узнать это то значение, которое вам нужно или нет, после чего через dataLayer передать данные в GTM, где в свою очередь настроить правило для тега на основе данных полученных из GTM. Для решения задачи нужны знания JavaScript.

  10. Петр
    18.04.2014 at 17:47

    Иван, доброе утро!

    А не подскажите, как можно в GTM добавить параметр _setAllowAnchor для Universal Analytics?

    Почему-то такого поля в настройках нет. Через html тег? Что писать в таком случае?

    • Иван
      19.04.2014 at 23:13

      Петр, для Universal Analytics используйте параметр allowAnchor (https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#allowAnchor). Чтобы указать его в Google Tag Manager необходимо выбрать тип тега Universal Analytics, затем раскрыть список Дополнительные настройки -> Поля, которые необходимо задать, и уже там установить нужное значение

  11. Петр
    21.04.2014 at 16:04

    Иван,

    Большое спасибо.

  12. Владимир
    03.06.2014 at 23:14

    Подскажите
    Настроил при помощи ГТМ просмотр виртуальных страниц при нажатии на кнопки. В отчётах гугл аналиткс посещения этих страниц фиксируются http://clip2net.com/s/if05WG. Но когда настраиваю Цель(http://clip2net.com/s/if06ZH) как посещение одной из страниц, то цель не фиксируется. В чем может быть причина? Спасибо за ответ.

    • Иван
      06.07.2014 at 11:53

      @Владимир, нужно разбираться подробнее в каждой ситуации. Посмотрите, есть ли информация по конверсиям в отчетах в реальном времени

      • Андрей
        18.03.2016 at 13:34

        Один из участников, у вас спрашивал как реализовать сбор “данных по сайту”
        когда URL адрес не имеет параметров вы посоветовали использовать виртуальные страницы.

        Я пошел по точно такому же пути, создал виртуальные страницы в GTM http://joxi.ru/GrqgMqQtNVBZe2?d=1
        Сбор данных, запросов в поле поиск идет успешно все отлично, статистики поступает.

        Но вопрос у меня вот такой, в настройках представления “поиск по сайту” у меня стоит режим в off http://joxi.ru/82Q5V8RI16Jng2?d=1
        Так как в этом поле не указаны параметры, не могу понять как происходит сбор данных о поиске на сайте. Так как режим “поиск по сайту” отключен и создана простая виртуальная страница.
        Как сам GTM понимает, что надо с виртуальной страницы search/?searchword= вытаскивать запросы пользователей и передавать их GA.
        Или знак “=” имеет отношение. Объясните пожалуйста

      • Ответ автора
        20.03.2016 at 14:13

        В подобной ситуации нужно изучать настройки и анализировать процесс сбора данных

  13. Андрей
    05.06.2014 at 19:16

    @Андрей Бармалей

    Товарищи, простите но мне нужна информация, что это за dataLayer и где его искать. Так как я столкнулся с проблемой, а именно настроил события по прослушиванию клика и проверил через отладчик GTM, все ОК говорит он. А как начал ждать результатов в аналитике то оказалось что они туда не идут. Что за беда?

    • Иван
      06.07.2014 at 12:10

      @Андрей, dataLayer позволяет передавать любые данные в GTM. Для поиска ошибки воспользуйтесь отладчиком

  14. Максим
    19.06.2014 at 11:59

    @Иван
    Данный способ не получилось реализовать. Якорей как не было так и нет.

  15. Максим
    19.06.2014 at 12:08

    Максим :
    @Иван
    Данный способ не получилось реализовать. Якорей как не было так и нет.

    По Вашей ссылке написано что стандартно все якоря определяются и так. Это для их отключения требуется параметр false

  16. Петр
    30.06.2014 at 14:24

    @Иван

    Иван, приветствую!

    К сожалению, не получается этим способом проблему решить. На форуме AdWords так же попытались это сделать. https://www.ru.adwords-community.com/t5/%D0%A4%D0%BE%D1%80%D1%83%D0%BC-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%B0-%D0%B2-URL/m-p/79007#M5008

    Поддержка не может помочь. Может есть другой способ? )

    • Иван
      06.07.2014 at 11:43

      Подготовил материал по вопросу – читать.

  17. Дмитрий
    07.08.2014 at 10:09

    После настройки тегов отслеживания событий, правил их активации и публикации, нужно ли в вносить в Google Analytics эти события в качестве целей?
    Например я настроил отслеживание формы в GTM и возможно оно даже работает и что то передает в GA. Но как ловить эти события?

    • Ксения
      08.08.2014 at 19:03

      @Дмитрий, если Вы уже настроили передачу в Аналитикс, но не знаете, где посмотреть – отчет Поведение – События – Лучшие события

    • Иван
      09.08.2014 at 11:58

      @Дмитрий, все зависит от того, нужно ли Вам видеть события в качестве целей. Если ответ на этот вопрос – да, то настраивайте, если – нет, то как ответила Ксения, достаточно ознакомиться с отчетами по событиям

  18. Антон
    21.08.2014 at 22:35

    dataLayer.push({
    ‘event’: ‘transaction_enh’,
    ‘ecommerce’: {
    ‘purchase’: {
    ‘actionField’: {
    ‘id’: ’48311′, // Transaction ID. Required for purchases and refunds. Номер заказа.
    ‘affiliation’: ‘s1′, // ID сайта (s1, s2, …)
    ‘revenue’: ’19740.00′, // Total transaction value (incl. tax and shipping). Сумма заказа, включая доставку.
    //’tax’:’4.90′, // Не надо
    ‘shipping’: ’0.00′, // Стоимость доставки
    ‘coupon’: ” // Название купона
    },
    ‘products’: [ { // List of productFieldObjects.
    'name': 'Серьги Т308021889', // Name or ID is required. Название товара.
    'id': '3258153', // ID Битрикса товара
    'price': '2080.00', // Стоимость товара
    'brand': 'test', // Производитель
    'category': 'test', // Вид Подвид + Вставка Подвставка + Металл Подметалл + Производитель
    'variant': '', // Размер товара, если есть
    'quantity': 1, // Количество товара (число именно в таком формате)
    'coupon': '' // Optional fields may be omitted or set to empty string. Название купона на товар (если подействовал).
    }, { // List of productFieldObjects.
    'name': 'Обручальное кольцо Л23101037', // Name or ID is required. Название товара.
    'id': '6770286', // ID Битрикса товара
    'price': '17660.00', // Стоимость товара
    'brand': 'test', // Производитель
    'category': 'test', // Вид Подвид + Вставка Подвставка + Металл Подметалл + Производитель
    'variant': '15,5', // Размер товара, если есть
    'quantity': 1, // Количество товара (число именно в таком формате)
    'coupon': '' // Optional fields may be omitted or set to empty string. Название купона на товар (если подействовал).
    }]
    }
    }
    });

    Вот такие данные передаются. Скажите как можно в gtm передать состояние id-транзакции и id-заказа

    Хотим подключить RetailRocket там надо вот этот код уставновить, ставим в GTM, но не понимаю как передать туда значения.

    function rrAsyncInit() {
    try {
    rrApi.order({
    transaction: ,
    items: [
    { id: , qnt: , price: },
    { id: , qnt: , price: }
    ]
    });
    } catch(e) {}
    }

    • Иван
      10.09.2014 at 13:59

      @Антон, с помощью JavaScript нужно выдернуть необходимые значения из dataLayer и передать их в нужном месте, либо через переменные JS, либо как макросы GTM

  19. Ярослав
    26.12.2014 at 15:01

    Иван, стоит задача передавать в Аналитикс данные о том, что пользователь зарегистрирован, с помощью пользовательских параметров. Создал макрос в GTM:
    function() {
    var kont = document.getElementsByClassName(“login”)[0].childNodes[0].innerHTML;
    if (kont==’Кабинет’) {console.log(‘Registered’);return (‘Registered’)}
    }
    который должен проверять элемент с конкретным классом (кнопка, на которой в зависимости от состояния регистрации высвечивается “Войти” или “Кабинет”) и в случае, если на кнопке написано “Кабинет” – отдавать значение Registered. В теге GA добавил специальный параметр с индексом 1 и значением из макроса. Но метод не работает. Такое ощущение, что макрос отрабатывает еще до загрузки страницы. Такое возможно? Если добавить в макрос else {console.log(‘UnRegistered’);return (‘UnRegistered’)} – будет в консоли отдавать “UnRegistered”.

    • Иван
      31.12.2014 at 17:05

      Ярослав, у тега измените правило активации на событие gtm.dom

  20. Сергей
    09.01.2015 at 12:19

    У меня три вопроса:
    1. Если в результате загрузки страницы срабатывает более, чем 1 тег Universal Analytics, то показатель отказов всегда будет равен 0? Т.е. необходимо следить, чтобы тег изначально срабатывал 1 раз?

    2. Настроил для основного (срабатывает на всех страницах) тега Universal Analytics передачу специальных параметров, показателей и userID. Нужно ли для остальных тегов Universal Analytics, которые дополнительно срабатывают на той же странице, сделать такие же настройки, чтобы эти данные фиксировались в Google Analytics?

    3. Если передается пустая строка userID (или параметра/показателя), то в Google Analytics зафиксируется, что это было посещение без userID (или параметра/показателя)?

    • Иван
      13.01.2015 at 10:19

      1. Скорее всего да, но нужно знать какие типы хитов передаются и каковы их настройки
      2. Да, нужно, т.к эти данные должны передаваться с каждым хитом
      3. Лучше передавать не пустую строку, а не определять значение до использование макроса

  21. Илья
    04.03.2015 at 17:51

    Приветствую!
    До определенного момента код аналитики у нас был на сайте, мы использовали ga(set,pageview, virtual_url) для изменения урлов, которые фиксирует аналитика.
    Сейчас мы переходим на ГТМ, попробовали фиксировать виртуальные урлы там, но происходит дублирование урлов, то есть у нас есть реальный урл http://www.domen.ru/tovar.html мы отправляем виртуальный урл такого типа /cat1/cat2/tovar.html и фиксируется и реальный и виртуальный урл. раньше дублирования урлов не происходило, когда код аналитики был на странице.
    Подскажите пожалуйста как избежать дублирования и возможно ли такое?
    в ГТМ настроил тег таким образом:
    тип отслеживания – просмотр страницы
    путь к документу – {{Заданная нами страница }}
    название страницы – виртуальная страница
    тег срабатывает по событию pageview, которое я помещаю в dataLayer.
    dataLayer.push({‘event’:’pageview’,’virtualPageUrl’: url });
    спасибо.

    • Ответ автора
      04.03.2015 at 18:55

      Илья, если у Вас есть еще один тег типа Universal Analytics (для всех страниц), то поставьте у него правило на блокирование, которое описали выше. Также можно в теге UA настроить передачу нужного параметра в зависимости от текущей страницы, нужно написать свой макрос возвращающий соответствующее значение

  22. Илья
    04.03.2015 at 19:11

    а где в google tag manager-е вставлять значение этого макроса?

    • Илья
      04.03.2015 at 19:13

      опишите пожалуйста создание данного тега?

    • Ответ автора
      05.03.2015 at 08:14

      В соответствующем поле в дополнительных настройках тега типа Universal Analytics

  23. Василий
    17.12.2015 at 00:47

    Добрый день всем!
    Есть небольшая проблема с передачей данных из переменной.
    Краткое описание:
    Существует переменная уровня данных main_new, которая принимает значение false при входе на сайт со старой главной страницы и true при входе на сайт с новой главной страницы. В datalayer’е эта переменная присутствует и срабатывает верно (http://prntscr.com/9f05vj). Создан тэг, который отправляет проверочное событие, в лейбл которого записывается значение переменной main_new, и записывает в пользовательский параметр GA значение main_new (http://prntscr.com/9f08ck).
    Вся загвоздка в том, что при переходе на старую главную страницу в лейбл события передаётся всегда false – и это правильно, а при переходе с новой главной страницы передаётся (not set) – http://prntscr.com/9f0ah1. С пользовательским параметром точно такая же ситуация.
    Не пойму в чем может быть проблема, но пару раз событие с новой главной страницы всё таки передавалось со значением true.
    Может кто то сталкивался и может посоветовать какие действия предпринять для починки?

    • Ответ автора
      18.12.2015 at 08:58

      Василий, для решения проблемы нужно разбираться на сайте и смотреть что и как срабатывает, вероятно значение “перетирается”. Еще как вариант попробуйте вместо логических значений использовать 1 и 0, или “старая” и “новая”

  24. Андрей
    17.03.2016 at 22:17

    Здравствуйте! Иван, такой вопрос как отфильтровать грязные запросы после подключения тега с виртуальных страниц. У меня теперь за раз идет 2 посещенные страницы.

    • Ответ автора
      17.03.2016 at 23:06

      Андрей, Ваш вопрос про “грязные запросы” не понятен. Избежать задвоения данных поможет правильная настройка триггеров у тегов

      • Андрей
        18.03.2016 at 03:03

        да все верно, и имел ввиду про двойные повторения.
        Заметил такую особенность что на вашем сайте, зашифрованы urlencode email адреса сохраняются в куки http://joxi.ru/v29lQw0FG9Jy9m?d=1 так и должно быть?

      • Ответ автора
        20.03.2016 at 14:11

        Нужно правильно выстраивать логику работы в Google Tag Manager и исключать подобные ситуации. По e-mail адресам – вероятно это один из плагинов блога так делает, в Google Tag Manager я подобного на натсраивал

  25. Anna
    12.09.2016 at 17:48

    Подскажите, пожалуйста. Не смогла сегодня в Дополнительных настройках найти “Поле, которое необходимо задать”. Его каким-то образом переименовали или переместили?

    • Ответ автора
      16.09.2016 at 00:41

      Нет, все на месте. Есть “Расширенные настройки” и “Дополнительные настройки”. Вам необходим второй вариант

Ваш комментарий
Выберите рубрику
Google Analytics (69)
Google Tag Manager (57)
Яндекс Метрика (8)
Обзоры (3)
Яндекс Директ (2)
Power BI (1)
Последние публикации
Последние комментарии