Javascript 自动跟踪谷歌分析中的按钮点击

Javascript 自动跟踪谷歌分析中的按钮点击,javascript,jquery,button,google-analytics,event-tracking,Javascript,Jquery,Button,Google Analytics,Event Tracking,我办公室的技术负责人断断续续地发誓说,以下是可能的,但不知道具体如何。我的研究结果是空的,但他所寻找的结果是,按钮点击(而不是锚定)可以在谷歌分析中自动跟踪,而无需为每个按钮指定功能 我一直认为语义HTML结构的最佳实践是,链接(锚)用于转到新页面,而按钮(和其他输入)用于更改现有页面上的元素(只有少数例外)。链接点击在Google Analytics中固有地注册为页面浏览量,而无需为每个锚使用额外的JavaScript;无可争议的事实。我们知道用户将进入一个新页面;这就是为什么锚标记在语义上是

我办公室的技术负责人断断续续地发誓说,以下是可能的,但不知道具体如何。我的研究结果是空的,但他所寻找的结果是,按钮点击(而不是锚定)可以在谷歌分析中自动跟踪,而无需为每个按钮指定功能


我一直认为语义HTML结构的最佳实践是,链接(锚)用于转到新页面,而按钮(和其他输入)用于更改现有页面上的元素(只有少数例外)。链接点击在Google Analytics中固有地注册为页面浏览量,而无需为每个锚使用额外的JavaScript;无可争议的事实。我们知道用户将进入一个新页面;这就是为什么锚标记在语义上是正确的

(据我所知,除非这里有人向我展示其他内容),在没有通过JavaScript函数按下事件的情况下,不会跟踪按钮,例如:

ga('send', 'event', 'Button Click', 'Open Menu');
现在,使用JavaScript(或者在本例中是jQuery),我可以全局跟踪每个按钮的点击:

$('body').on('click', 'button', function(e){
    e.preventDefault();
    ga('send', 'event', 'Button Click', 'Open Menu');
});
但这是一大堆可能毫无意义的数据。然后,我必须首先为每个按钮设置要读取的变量,以便发送的数据有意义。例如:

$('body').on('click', 'button', function(e){
    e.preventDefault();
    //check if the data-event attribute was set
    if($(this).data('event')){
        ga('send', 'event', 'Button Click', $(this).data('event'));
    };
});

但他仍然坚持认为,我的JavaScript代码中有某种东西阻止了按钮固有地发送我不需要做所有这些额外工作的点击。最初,我用
returnfalse结束了所有按钮事件在跟踪时不是最佳实践,所以所有这些都被删除了。仍然没有变化。还有什么我应该检查的,以便让按钮在没有JavaScript的情况下注册,还是像我最初怀疑的那样,这是不可能的?

只需删除e.preventDefault();string

“链接点击本质上注册为页面浏览”-否。仅当它们加载新页面或触发GA跟踪代码时(即通过url的页面导航#片段是链接,但不应导致重新加载且不会被跟踪)。另一方面,按钮可能会触发页面浏览(它们最初的目的是提交表单,这通常会加载一个新表单)。总而言之,我不太确定你希望得到什么样的答案——没有无代码跟踪,但如果你的老板不相信你,他为什么会相信其他人?我希望得到这样或那样的确认。我可以假设他会相信编程论坛的集体经验而不是一个人的经验。这并不能解决问题
e.preventDefault()
仅阻止页面提供的默认操作,而不阻止任何外部插件或应用程序。