Google Analytics实时活动页面 - 保持活力

时间:2013-09-27 20:55:10

标签: javascript google-analytics

我有一个网站只能流式播放视频两到三个小时 - 一旦页面加载,就没有用户互动;我知道谷歌分析将实时功能的超时时间设置为5分钟。我希望使用javascript保持页面活跃,直到浏览器关闭,这样我才能获得准确的实时报告。我是js的新手所以我正在寻找合适的代码位...... 感谢

2 个答案:

答案 0 :(得分:1)

我认为最简单的方法是在用户启动流式传输后发送重复的事件。还有虚拟的综合浏览量,但它们会使总数膨胀,并可能会扭曲一些指标,所以我会坚持使用这些事件。

代码可能如下所示:

setInterval(function(){
  _gaq.push(['_trackEvent', 'Video', 'Playing', 'Name of the video?'])
},270000);

数字270000表示间隔的毫秒数 - 这样函数将每4.5分钟(270秒)执行一次。请记住,发送到Google Analytics的事件数量有一些限制(每次访问次数为500次点击),因此,如果有人在观看整个视频流,那么最终可能会失去它们。否则这应该是一个很好的解决方法,即使不是一个“干净”的东西也会有效。

使用此功能的好处是,您可以使用事件发送其他数据 - 例如视频名称等。希望这会有所帮助。

答案 1 :(得分:1)

你应该实现与你的播放器API交互的事件来接收来自播放器的调用 - youtube和vimeo内置了javascript api,它发送事件,你可以捕获它们并在GA中记录事件 - 典型的用法是监视播放/暂停事件,以间隔或播放的电影百分比跟踪播放进度。

您可以查看Sander Heilbron准备使用的插件:

如果您使用其他播放器,则可以使用这些插件作为骨架来实现自己的api呼叫。

如果您正在寻找心跳解决方案,您可以在这个问题中找到解决方案:Does Google Analytics have a "heartbeat" function for long running web applications?

heartbeat-function-for-long-running-web-applicati
function ga_heartbeat(){
  _gaq.push(['_trackEvent', 'Heartbeat', 'Heartbeat', '', 0, true]);
  setTimeout(ga_heartbeat, 5*60*1000);
}
ga_heartbeat();

BUT!正如许多其他地方所提到的,GA对每个会话的请求有限制 - 上限设置为500,当页面加载时,您实际上有大约10-12个令牌可供使用,并且在每秒中您获得更多 - 最多500个这是Google方面的简单DDoS保护,在开发心跳时必须牢记这一点。