客户端埋点方案总结

前言

在软件使用过程中,会产生了大量的用户数据和行为数据,而这些数据记录了用户的行为和习惯等信息,为了给用户提供更好的体验,会对这些用户数据进行分析和利用,用来提升用户的体验,而数据采集作是整个链路上重要的一环,起到了很大作用,而埋点作为数据采集的手段,同样发挥着重要作用。


数据采集流程

一、埋点需求分析

1.埋点需求背景分析

首先我们要清楚埋点需求是什么,埋点主要是进行一些数据收集的行为,通过收集这些数据,数据使用者通过对数据进行分析,来实现各自的需求。产品可以用来分析用户使用习惯,验证产品方案效果,研发可以通过埋点监控应用质量,提升应用品质,AI工程师可以通过数据训练算法,实现搜索推荐等功能。为了达到各方的述求,对埋点数据会有着不同的要求。

2.埋点痛点分析

  • 1)业务方痛点:
    • 开发工期紧张,不能支持埋点添加和修改。
    • 埋点必须跟版本走,不能立即生效。
  • 2)开发痛点:
    • 开发埋点工作量大,会占用业务开发时间。
    • 修改业务代码,可能会影响埋点功能,不能及时发现。

3.埋点数据分析

  • 1)数据时效性:
    对于不同的使用方,对数据的时效性要求也不同,对于监控和一些在线系统,往往需要实时数据,而对于一些产品分析,失效要求会降低,比如T+1天就可以满足需求,所以埋点系统需要针对不同的使用方,设计不同的数据采集时效。

  • 2)数据准确性:
    数据准确性主要体现为数据采集准确性,特别是对于一些特定流程的数据采集,针对不同需求,进行不同方式的采集,比如页面曝光,页面浏览量,如何做到数据精准,满足产品和研发以及项目管理方的述求。

  • 3)数据多元性:
    数据多元性是指从多个维度进行数据采集,不同维度的数据可以展示不同的信息,同时不同维度的信息又有相互关联性,可以多方位了解信息和看待问题。

二、埋点事件

1.1事件定义

为了对用户行为进行统计和分析,我们使用一类被称为 "事件" 的消息来记录用户行为。‌

1.2事件组成

  • 1.who:用户信息,身高、体重、性别、职业等等
  • 2.when:时间信息,时间发生时间
  • 3.where:环境信息 设备环境、网络环境、业务环境
  • 4.what:事件信息 事件标识、事件参数,比如点击了哪个按钮,按钮标题。

1.3事件维度

  • 1.访问级维度,浏览器访问还是移动设备访问。
  • 2.页面级维度,访问的哪一个页面,首页还是个人信息页。
  • 3.动作级维度, 点击、曝光还是滑动触发。

1.4事件类型

  • 1.无埋点事件,指不需要额外开发,通过监听、通知进行的埋点。
  • 2.埋点事件,指开发阶段,手动进行的埋点。

三、埋点采集方式

1.代码埋点

代码埋点,即在需要埋点的节点调用接口直接上传埋点数据,友盟、百度统计等第三方数据统计服务商大都采用这种方案,主要通过命令式代码调用,如下面这种方式:


[XMData eventId:@"123" param:@{@"pagename":@"首页"}];


  • 优点:
    • 准确性高,针对性强,可以进行特定场景埋点。
    • 可以灵活获取业务数据参数。
  • 缺点:
    • 开发工作量大,每个埋点都需要开发实现。
    • 代码入侵性大,和业务代码混杂在一起,容易出错。
    • 后续维护比较麻烦,每次改动,都要以来开发修改。
    • 修改不够灵活,需要依赖发版。

2.可视化埋点

可视化埋点,即通过可视化工具配置采集节点,在后台配置埋点数据,在客户端自动解析配置并上报埋点数据,从而实现所谓的“无痕埋点”, 代表方案是已经开源的Mixpanel

  • 优点:
    • 埋点比较简单,不依赖开发。
    • 灵活性大大提高,可以通过后台配置,添加删除埋点。
  • 缺点:
    • 前期开发成本大,SDK和后台开发成本都增加。
    • 只能针对一些简单业务场景,不能获取复杂业务参数。

3.无埋点

无埋点,它并不是真正的不需要埋点,而是客户端利用hook拦截系统的响应事件,自动采集全部事件并上报埋点数据,在后端数据计算时过滤出有用数据,代表方案是国内的GrowingIO

  • 优点:
    • 数据可回溯性,如果想看某个埋点,可以直接去后台参考,不需要依赖发版。
    • 埋点覆盖面更全面,进行全面行为数据记录。
  • 缺点:
    • 数据量大,数据传输和数据存储要求高。
    • 无用数据较多,浪费资源。
    • 只能记录简单场景埋点。

四、埋点管理

1.埋点项目流程

  • 1)业务产品提出埋点需求
    • 包括业务数据、用户行为等数据
  • 2)数据产品制定埋点方案
    • 根据业务产品需求,制定合理的埋点方案
  • 3)埋点方案评审
    • 包括业务产品、数据产品、开发、测试,一起沟通埋点方案合理性。
  • 4)开发埋点
    • 开发根据业务埋点进行买点开发和自测。
  • 5)测试埋点
    • 测试根据业务埋点方案,进行测试验证。
  • 6)埋点上线
    • 埋点测试合格后,跟随业务一起上线。
  • 7)埋点数据统计和可视化
    • 对产生的业务埋点进行数据分析,后台可视化展示,供相关需求方使用。
埋点项目流程.001.jpeg

2.埋点开发和测试

2.1埋点开发

  • 1.代码开发
    • 主要涉及代码埋点,必须要研发手工埋点。
  • 2.后台配置
    • 可以针对所有埋点,不只是可视化埋点,设置配置项,比如上报网络,上报时效,每日流量熔断等等。

2.2埋点测试

  • 1.日志log查看
    • 测试埋点的时候,由于某些埋点要延时上报,不能实时查看,可以通过埋点log实时查看,还有是否触发。
  • 2.后台数据查看
    • 通过后台数据,可以查看埋点真实上报情况,确认埋点正确性。

3.埋点质量监控

有时因为开发同学错误修改一段代码,没考虑到会影响埋点,导致线上埋点事件丢失,很长时间没有发现,后来被产品发现,但是修复之前的埋点数据就没有,这种情况在实际开发过程中常常发生,如何避免这种事情发生呢?可以通过埋点质量监控来实现。可以检测必传参数是否确实,是否在合理范围等,在后台配置异常情况阈值,如果超出正常范围,发出报警提示,可以及早发现问题。

4.埋点数据分析和可视化

4.1数据分析
根据埋点数据,分析用户行为,比如分析某个业务的转换率,分析页面用户喜欢点击的位置,广告点击率等数据,用于后续业务改进。

4.2数据可视化
以电商数据为例,通过埋点记录的页面PV,UV等数据都可以,可视化的方式展示在页面上,如下图所示。

电商数据

参考资料:
Mixpanel Help Center
应用埋点方案
有赞埋点实践
GrowingIO平台
数据采集与埋点
美团点评前端无痕埋点实践
知乎客户端埋点流程、模型和平台技术

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容