如何度量跨多个会话在一个页面上花费的时间



我想度量用户在跨多个会话的流程流上花费的时间。我看到过一些单会话的博客,但是多会话看起来很完整。

假设我想要跟踪从a页开始经过B页到c页的进程所花费的时间,c页是最终退出点。但是用户可以将进程保存在页面B并退出,然后在一段时间后(可能是一两天)再回来,然后继续完成该过程。

我应该采用什么方法来计算在进程上花费的总时间和会话数?怎么计算呢?

如有任何意见,欢迎回复

解决这个问题的方法有很多。一种准确/可重用的方法是使用JavaScript跟踪在页面上花费的时间,并在该用户每次继续该过程时将该时间存储在数据库条目中。对于随后的每个会话,您将再次开始计算所花费的时间,并将其添加到先前存储的现有花费时间中。例如:

用户John登录并在A页开始2分钟。他继续浏览B页,在那里待了1分钟,然后退出。注销时,告诉后端"User John在这个过程中花费了3分钟",并将该值存储在绑定到用户John的数据库条目中。下次John登录时,他在B页多花了2分钟,在4分钟内完成了C页。一旦完成(或注销),您将再次向后端发送一个请求,说"User John在此过程中花费了6分钟",并将其添加到现有值中。

作为一个无耻的插件,我建议使用一个JavaScript库来帮助跟踪用户所花费的时间。它试图只计算用户"实际"与网站交互的时间,而不是他们空闲或切换标签或转到另一个应用程序的时间。它是在GitHub这里:https://github.com/jasonzissman,与相关的StackOverflow答案在这里:如何衡量在一个页面上花费的时间?

最新更新