Отслеживание на основе событий с использованием атрибутов данных в gtm

Мы пытаемся отслеживать социальные события на внутреннем сайте нашей компании. Не социальные, как в фейсбуке или твиттере, а наши собственные социальные события, такие как следующие: для каждого социального события мы хотим записать следующее action:label:value

  • поделиться: электронная почта: {количество писем людей}
  • share:invite:{# приглашенных людей}
  • обсудить:сообщить:1
  • обсудить:ответить:3
  • оценка:звезды:--
  • оценка: лайк:--
  • помеченный: предмет:--

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

<ol data-ua-event-social data-ua-action="rate" data-ua-label="stars">
  ...interactive star elements go in here
</ol>

<div data-ua-event-social data-ua-action="share" data-ua-label="email" data-ua-value="3">
  // some javascript on the page sets the data-ua-value node
  // as the user picks who/how many to share with.
</div>

Я настроил переменные уровня данных, чтобы получить gtm.element.dataset.uaAction, gtm.element.dataset.uaLabel и gtm.element.dataset.uaValue. Щелчок — все элементы срабатывают, что соответствует селектору css [data-ua-event-social].

И, наконец, тег, который активируется триггером и использует пользовательские переменные для заполнения действия, метки и значения для события ua. Я вижу эту работу в предварительном просмотре менеджера тегов и событиях аналитики в реальном времени.

Но кажется, что добавление трех или четырех элементов данных к каждому отслеживаемому html-элементу сильно раздувает мою страницу.

Есть ли способ объединить это или упростить?

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

У нас также есть другие категории событий, такие как navigation, media и т. д., где мы столкнемся с аналогичными проблемами. Поэтому мне нужно что-то расширяемое для отслеживания всех видов событий.


person Rothrock    schedule 17.10.2016    source источник


Ответы (1)


Вы должны иметь возможность отправлять несколько событий одновременно в массив. Я опубликую пример здесь. Я не уверен, что это на самом деле спасает от раздувания. В любом случае необходимо передать имя и значение переменной. Подробнее об этом можно узнать здесь по следующей ссылке: https://developers.google.com/tag-manager/devguide#events .

<a href="#" onclick="dataLayer.push({
     'color': 'red',
     'conversionValue': 50,
     'event': 'customizeCar'
});">
    Customize Color
</a>

person Harun Eggleton    schedule 25.10.2016
comment
Я бы сказал, что подход с атрибутами данных предпочтительнее. Лучше иметь много пользовательских атрибутов html, чем много javascript в этом конкретном сценарии. - person Thiago C. S Ventura; 30.09.2019