Есть ли способ запретить триггерам пользовательских событий переопределять предыдущий просмотр виртуальной страницы? - PullRequest
0 голосов
/ 16 февраля 2019

У нас есть одностраничное приложение, в котором мы устанавливаем Google Tag Manager.У нас есть несколько событий, инициируемых разными способами (например, нажмите на кнопку всплывающей подсказки), и мы отправляем события на dataLayer, когда мы «меняем» страницу.Затем мы используем это событие для запуска просмотра страницы в Google Tag Manager.

Всякий раз, когда мы смотрим на данные в реальном времени (а не в реальном времени), мы видим, что активная страница меняется при навигации по приложению.Однако, допустим, я на странице /home и нажимаю кнопку всплывающей подсказки: активная страница сбрасывается на /, и поэтому все данные для / home (например, время на странице или выходы) отображаютсяfalse.

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

  1. Это может вызвать один и тот же просмотр страницы несколько раз, не помогая сстатистика времени и др.
  2. Некоторые события распространяются на все виртуальные страницы;как всплывающие подсказки

Я попытался УСТАНОВИТЬ страницу с помощью ga и удалить другие триггеры просмотра страницы из GTM

ga('set', 'page', 'home');
ga('set', 'title', 'Home page');
ga("send", "pageview");

Но когда я щелкаю все, что вызывает событие, страница все ещеПерейдите к /.

. Мне бы хотелось, чтобы

  1. Запускал просмотр виртуальной страницы для определенного события ИЛИ, отправляя его непосредственно в GA
  2. Ведениеэта страница будет отображаться как активная страница, пока я не попаду на событие, которое вызывает следующую страницу
  3. Не изменяя страницу с любым другим настраиваемым событием

1 Ответ

0 голосов
/ 18 февраля 2019

Как я понял, URL не меняется, и вы вручную пишете URL для виртуальных страниц в теге Page View в GTM.Но события по умолчанию используют URL реальной страницы - '/'.И вы хотите, чтобы события были связаны с активной (виртуальной) страницей.

Не смешивайте GTM и жестко закодированные события для GA таким образом: просмотр страницы в GTM, события в коде.Не работает

Добавление virtualPageUrl и virtualPageTitle к вашим событиям в dataLayer, когда страница изменяется следующим образом:

<script type="text/javascript">
   var dataLayer=dataLayer||[];
   dataLayer.push({
      'event':'VirtualPageview',
      'virtualPageURL':'/lalala/',
      'virtualPageTitle':'Home'
});
</script>

Создание переменных dataLayer virtualPageUrl и virtualPageTitle в GTM:

enter image description here

Используйте эти переменные в ваших событиях / просмотрах страниц в GTM:

enter image description here

...