从头开始构建JavaScript网络分析工具

时间:2020-06-25 01:37:44

标签: javascript google-analytics web-analytics web-analytics-tools

我对javascript很陌生,我知道一些基础知识。我正在寻找自己的Java脚本库(从头开始),就像google analytics.js一样,它将跟踪用户在网站上的行为。基本上我希望收集像

这样的数据
  1. 点击数据
  2. 停留时间
  3. 网页点击数等。

我花了很多时间试图找到网站/教程,以使我入门,但是我还是继续使用google analytics.js或某些私有工具。

我正在寻找什么:

  1. 有没有什么好的起点/资源/网站可以帮助我构建这个js库
  2. 是否有包括后端的端到端系统架构的参考?
  3. 我可以直接使用任何开放源代码库吗?

我已经研究过的一些东西 Chaoming build your own analytics tool Splunk BYO analytics

1 个答案:

答案 0 :(得分:2)

从最基本的角度来看,此类应用程序的体系结构仅需要客户端,服务器和数据库。

您可以使用基本的javascript函数在前端记录特定的用户操作,然后将其推送到服务器。要标识您的用户,您可以设置一个具有唯一ID的cookie。然后,每次将数据发送到服务器时,您也会收到特定的用户请求,以便跟踪他们的操作。 (不过请先注意隐私权法。)

对于网页点击,只需在有人打开您的站点时向服务器发送响应-因此,在您的Javascript加载后立即调用此函数。在服务器上,发送请求以增加数据库中的适当值。

对于用户的停留时间,编写一个函数来记录用户首次访问您的网站时的日期,然后计算他们停留在那里的时间。经常将数据推送到服务器,并通过将新花费的时间添加到当前花费的时间来将更新保存到用户记录。您还可以监视用户何时退出网站,然后立即以这种方式一次发送数据-尽管这种方法比较脆弱。

对于单击和悬停,请在链接或要跟踪的任何元素上设置onclickmouseover事件处理程序。然后,按一下他们点击的链接的网址或您想要的任何数据,例如“在网站上停留200秒并悬停在徽标上之后点击的导航栏。”

如果您需要有关特定技术的建议,那么我建议将Node.js用于服务器端代码,将MongoDB用于数据库。有很多关于如何一起使用这些技术的教程。在javascript事件中查找可以在前端观看的各种不同事物的列表。

这些是您需要的构建基块。现在,您只需要定义所需的数据并使用这些技术即可获取数据。