在 Google Analytics 中覆盖之前发送的事件

Overwrite a previously sent event in Google Analytics

我正在尝试跟踪实时音频流在 Google Analytics 中的播放时长。

我的代码侦听 HTML 音频标签中的当前时间变化,并在时间为 0.5 分钟(30 秒)的倍数时发送事件:

var audio = document.getElementById('livestream');//The Audio element
var prevTime = -1;

audio.addEventListener('timeupdate',function(){

    playTime = (Math.floor(audio.currentTime)/60);

    setTimeout(function() { 

        if (playTime % 0.5 === 0 && prevTime !== playTime && playTime !== 0){

            prevTime = playTime;
            ga('send', 'event', 'Stream', playTime);

        }

    }, 500);

},false);

这很好用,但是如果一个用户听 1 分钟,另一个用户听 2 分钟,我最终会得到不正确的结果,因为现在有六个条目:

Action    Label    Sessions
Stream    0.5      2
Stream    1.0      2
Stream    1.5      1
Stream    2.0      1

我想做的是覆盖以前发送的事件,这样我就剩下:

Action    Label    Sessions
Stream    1.0      1
Stream    2.0      1

我要从这里得到的数据是平均收听时间和总收听时间。

我还应该为此使用事件标签或值吗?我只看过其他使用 Label 的例子,但肯定 value 更好?

我很可能会以错误的方式解决这个问题,所以任何建议对我都非常有用!

What I want to do is overwrite a previously sent event so that I am left with:

一旦数据被插入 Google 分析,就无法更改。数据是只读的。

Also should I use an event Label or Value for this?

这取决于你。但是,如果您不打算进行某种总计或其中的某些分钟数,那么就没有必要将它们作为一个值。