Javascript js:在GA中跟踪用户与svg的交互

Javascript js:在GA中跟踪用户与svg的交互,javascript,svg,d3.js,google-analytics,data-visualization,Javascript,Svg,D3.js,Google Analytics,Data Visualization,我想在单击使用D3创建的svg圆圈元素时,向Google Analytics(ga.js)启动一个事件处理程序 我想到了这个: var circlesIndbyggere = d3.select("#ID").selectAll("svg").data(dataset); circlesIndbyggere .enter() .append("circle") .attr("cx", 50) .attr("cy", 150) .attr("r", 20)

我想在单击使用D3创建的svg圆圈元素时,向Google Analytics(ga.js)启动一个事件处理程序

我想到了这个:

var circlesIndbyggere = d3.select("#ID").selectAll("svg").data(dataset);

circlesIndbyggere
    .enter()
    .append("circle")
    .attr("cx", 50)
    .attr("cy", 150)
    .attr("r", 20)
    .attr("fill", "rgba(35,50,80,0.5)")
    .attr("onClick", "ga('send', 'event', 'button', 'click', 'circle', 4);")
现在,当我使用Google Analytics调试器ChromeExtension监控控制台时,它似乎没有触发事件

在标记中写入GA代码段时,如下所示:

<a onClick="ga('send', 'event', 'button', 'click', 'arrow', 4);">
    <img src="/"/>
</a> 


…它似乎工作得很好

我认为最好是听这样的点击:

.attr...
.on('click', function(node) {
    ga('send', 'event', 'button', 'click', 'circle', 4);
});
优点:

  • 有效:)
  • 更好的可读性。字符串中的JS代码看起来很糟糕
  • 与字符串不同,您可以调试它。不会弄脏DOM

  • 我认为最好是听这样的点击:

    .attr...
    .on('click', function(node) {
        ga('send', 'event', 'button', 'click', 'circle', 4);
    });
    
    优点:

  • 有效:)
  • 更好的可读性。字符串中的JS代码看起来很糟糕
  • 与字符串不同,您可以调试它。不会弄脏DOM

  • 事件是否每页只计算一次?在文档[我读到事件只触发一次,对于后续事件,我应该更新一个跟踪器。事件是否每页只计算一次?在文档[我读到事件只触发一次,对于后续事件,我应该更新一个跟踪器。