在 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?
这取决于你。但是,如果您不打算进行某种总计或其中的某些分钟数,那么就没有必要将它们作为一个值。
我正在尝试跟踪实时音频流在 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?
这取决于你。但是,如果您不打算进行某种总计或其中的某些分钟数,那么就没有必要将它们作为一个值。