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

时间:2017-05-15 13:12:54

标签: javascript jquery google-analytics html5-audio

我正在尝试跟踪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的其他例子,但肯定价值更好吗?

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

1 个答案:

答案 0 :(得分:0)

  

我想要做的是覆盖以前发送的事件,以便我留下:

将数据插入Google分析后,无法更改。数据是只读的。

  

我也应该为此使用事件标签或值吗?

这取决于你。但是,如果你不打算做某种总计或某些时间,那么就不需要将它们作为一种价值。