研究概述

研究背景

互联网时代背景下,对用户行为的深入理解成为企业优化策略的核心。传统数据收集方式难以适应大数据量、实时性分析需求,促使埋点分析系统这一高效数据收集与分析工具的快速发展。

发展现状

当前,埋点技术迅速成熟,从手动埋点演化到自动与无码埋点,代表系统如 Google Analytics、Mixpanel 及国内的神策数据、GrowingIO 等,它们通过高度集成和可视化配置降低了技术门槛。技术上,借助大数据处理框架实现了数据的高速处理与实时分析,并加强了对用户隐私保护的合规性设计,以应对 GDPR1 等法规要求。

应用场景

  • 产品优化:通过分析用户在应用内的点击、浏览、转化等行为,识别使用瓶颈和热门功能,为产品迭代提供依据;
  • 用户分群:基于用户行为特征,将用户划分为不同群体,进行精细化运营,比如针对活跃用户推出高级功能,对沉默用户设计激活策略;
  • 个性化推荐:利用用户行为数据构建个性化推荐算法,提高内容或商品的匹配精准度,提升用户体验和转化率;
  • 市场营销效果评估:通过跟踪营销活动页面的访问、点击等数据,评估营销活动的效果,指导后续营销策略的调整;
  • 异常检测与预警:实时监测用户行为数据,及时发现并预警异常行为,如登录失败、交易异常等,保障系统安全和用户体验。

产品介绍

基本信息

ClkLog 基于神策分析 SDK,采用 ClickHouse 数据库对采集数据进行存储,使用前后端分离的方式来实现。在这里,你可以轻松看到用户访问网页、APP、小程序或业务系统的行为轨迹,同时也可以从时间、地域、渠道、用户访客类型等多维度了解用户的全方位信息。2

技术栈:

  • 后端:Java、Redis、Zookeeper、Kafka、Flink
  • 前端:vue、vue-element-admin、element-ui、echarts
  • 数据:Clickhouse、MySql

系统架构

标准模式:

快速模式:

无论是那个模式,都可以从架构可以看到大体上分为数据采集、数据接收、数据存储、数据接口和数据展示五个部分,相关代码已经在 GiteeGitHub 上开源,有兴趣的同学可以看一看。

优势特色

对比市面上其他的埋点工具,ClkLog 最大的优势就是易学易用,如上面架构图所示,ClkLog 整体组成并不复杂,同时官方也提供了 Docker 部署的全部流程,用户可以轻松部署一套完整的埋点系统。并且得益于 ClkLog 的可视化前端,新用户同样也可以很容易地对系统进行维护。

从架构图中我们也可以看到,ClkLog 每一部分并没有强耦合,这对于二次开发来说也是十分友善的,也方便在实际应用中进行集成和扩展。

工程实践

因为官方提供了 Docker 部署,所以接下来主要讲解一下使用 Docker 部署标准模式 ClkLog 的流程。3

  1. 获取 ClkLog Docker Compose

    首先去官网下载 clklog-docker-compose.tar.gz

  2. 修改.env文件

    #[Clickhouse]
    # clickhouse用户名
    CK_USER_NAME=default
    # clickhouse密码
    CK_USER_PWD=clklogpwd
    
    #[ClkLog]
    # clkog数据库名称
    CLKLOG_LOG_DB=clklog
    # 默认前端埋点project默认名称,一般不用修改
    PROJECT_NAME=clklogapp
    # 埋点网站域名配置,多个域名以英文逗号分隔
    PROJECT_HOST=http(s)://{{hostname}}
    
  3. 执行初始化脚本

    chmod 500 clklog_init.sh
    bash clklog_init.sh
    
  4. 安装

    # 启动
    docker compose -f docker-compose-clklog-full.yml up -d
    # 查看状态
    docker compose -f docker-compose-clklog-full.yml ps -a
    
  5. 查看前端

为了更好地展示页面内容,这里将展示已经加载了官方 demo 数据的页面

  1. 后续使用

因为 ClkLog 数据采集模块上是基于神策分析 SDK 实现的4,所以在实际使用中完全可以参考神策分析的 SDK 接口,这里就不再赘述。

思考

从市面上的埋点工具乃至其他工具的发展来看,我们可以从下面几个方面进行思考:

  1. 智能化与自动化提升:随着人工智能技术的进步,未来的埋点系统将更加智能化,能够自动识别并优化数据采集点,减少人工配置的依赖。
  2. 无感埋点技术的深化:无码埋点技术将进一步深化,实现真正意义上的“无感”,使用更加高效的数据采集和传输策略将系统对用户体验和应用性能的影响降至最低。
  3. 数据隐私保护强化:随着全球范围内隐私法规的日益严格,埋点系统将更加注重数据隐私保护,采用更高级别的加密技术、匿名化处理等手段,确保用户数据安全合规。