【问题标题】:Building a javascript web analytics tool from scratch从头开始构建一个 javascript Web 分析工具
【发布时间】:2020-10-15 09:23:48
【问题描述】:

我是 javascript 的新手,我知道基础知识。我正在寻找构建自己的(从头开始)java 脚本库,就像 google analytics.js 一样,它将跟踪网站上的用户行为。基本上我希望收集类似的数据

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

我花了很多时间寻找网站/教程来帮助我开始,但我一直在使用 google analytics.js 或一些私人工具。

我在寻找什么:

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

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

【问题讨论】:

  • 您需要了解一种服务器端编程语言才能做到这一点。

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


【解决方案1】:

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多