2

我有一个网站可以简单地播放长达两三个小时的视频——页面加载后没有用户交互;我知道谷歌分析将实时功能的超时设置为 5 分钟。我想使用 javascript 使页面保持活动状态,直到浏览器关闭,这样我才能获得准确的实时报告。我对 js 相当陌生,所以我正在寻找合适的代码位......谢谢

4

2 回答 2

1

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

代码可能如下所示:

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

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

使用它的好处是您可以发送带有事件的其他数据——比如视频名称等。希望这会有所帮助。

于 2013-09-28T16:08:28.773 回答
1

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

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

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

如果您正在寻找心跳解决方案,您可以简单地在以下问题中寻求解决方案:Google Analytics(分析)是否具有用于长时间运行的 Web 应用程序的“心跳”功能?

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();

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

于 2015-02-08T22:37:20.040 回答