如何在Google Tag Manager中跟踪自定义JavaScript事件?

5
我有一个自定义JS事件,当手风琴面板打开时触发。我想将其作为Google Analytics事件跟踪打开,并将面板ID作为事件标签。
使用旧的非GTM方法,我会这样做:
$('#my-accordion').on('down.zf.accordion', function(e, panel) {
  ga('send', 'event', 'accordion', 'open', panel.attr('id'));
});

但我希望尽可能少地更改页面代码,使用Google标签管理器来完成。

至今,我在Google Tag Manager中创建了以下内容:

触发器,类型为自定义事件,当'down.zf.accordion'触发时。

标签,类型为Universal Analytics,携带我的跟踪ID,跟踪类型:事件(手风琴,打开,[可能是一个全局JS变量,设置为panel.attr('id')?])。

但是,在GTM预览中进行测试时,该标签甚至无法触发。我做错了什么?


你的意思是你想使用面板ID作为事件的标签吗? - nyuen
是的,那是个打错字,我想说的是标签(Label)。我已经更正了。 - Joudicek Jouda
1个回答

4

另一种解决方案是使用自定义HTML监听器标签,您可以将其设置为在指定页面上进行侦听(例如,在页面上有手风琴的任何位置)。标签应类似于以下内容,并要求推送dataLayer事件和值:

$('#my-accordion').on('down.zf.accordion', function(e, panel) {
   dataLayer.push({
      'event': 'accordion open',
      'category: 'accordion',
      'action': 'open',
      'label': panel.attr('id');
   })
});

请注意,我没有测试过这一点,因为我无法访问Zurb foundation accordions - 假设您正在使用它。

然后,您的事件标签可以从事件“accordion open”触发,并且您的事件类别、操作和标签将从dataLayer变量中获取。


1
谢谢您的想法,但是您的触发器仅在单击关闭的手风琴面板时触发。如果可能的话,我想跟踪成功打开面板后触发的自定义事件 - down.zf.accordion - Joudicek Jouda
自定义JS解决方案理论上也应该可以工作,但您需要编写逻辑以仅在手风琴打开时触发标签。 - nyuen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接