从头开始构建一个 javascript 网络分析工具

The*_*ion 4 javascript google-analytics web-analytics-tools web-analytics

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

  1. 点击数据
  2. 停留时间
  3. 页面点击等。

我花了很多时间试图找到网站/教程来让我开始这件事,但我一直在使用 google analytics.js 或一些私人工具。

我在找什么:

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

我已经研究了 Chaoming 构建您自己的分析工具 Splunk BYO 分析的一些内容

小智 8

在最基本的情况下,此类应用程序的架构只需要客户端、服务器和数据库。

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

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

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

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

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

这些是您需要的构建块。现在您只需要定义您想要的数据并使用这些技术来获取它。