2019/11/23 Caesar
前言
埋点是数据采集的一种重要方式,主要记录和收集用户在终端的操作行为;其基本原理是在app/H5/pc上布置采集数据的SDK代码,当用户的行为满足某种条件后,比如进入某个界面,点击某个button,会自动触发记录和存储,然后这些数据会被实时或延迟传递到终端服务器,或者通过后端采集用户使用服务过程中的请求数据。(前端:客户端埋点,在客户端上写代码SDK;后端:服务器埋点,在服务器上写代码)。
埋点应用场景
驱动决策:ABtest、漏斗优化、用户增长、bug修复、精准营销、流失用户预警
驱动产品智能:智能推荐(千人千面)、场景化提示(私人助理)等
驱动安全:风险识别
埋点分类
从位置上可以分为前端埋点和后端埋点,从形式上可以分为显性埋点和隐性埋点,从路径上可以分为路径埋点和独立埋点,从需求上分为业务埋点和监测埋点。
目前,大家主要采用前端埋点技术。
埋点方式
前端埋点:
前端埋点是在用户端(APP、Web、客户端)等嵌入数据采集代码,比如友盟等均采用的是前端埋点,比如通过嵌入一段代码就就可以对网页数据的访问数据进行采集。相比于后端埋点,前端埋点能方便收集到用户在界面上的行为数据,比如用户点了哪个按钮、页面之间的跳转次序、停留时长等,这些数据是后面进行数据分析的主要来源。
前端埋点分类:
- 代码埋点:代码埋点是直接将采集SDK集成在终端,然后不断在此基础上添加调整采集方案,是目前主流的埋点采集方案。高度定制、控制精准、采集的数据丰富准确。首先是每当有采集需求,需要开发人员不断添加采集代码,工作量大;其次变更采集策略,需要发布新版本,代价巨大,存在滞后效应;最后由于采集代码常驻终端,不断将采集的用户行为数据进行记录和上报,对于终端尤其是移动终端来说还有耗电、消耗数据流量等负载,此外在数据上报传输的过程中也存在丢失数据的风险。
- 可视化埋点:由于代码埋点需要终端开发人员来执行采集方案,对业务的功能开发侵入性较高。有的公司开发出了可视化埋点技术,只需要产品与运营人员通过GUI界面进行鼠标简单点击,就可以随时增加、取消、调整采集数据的位置和方式,此种埋点方式避开了终端开发人员的介入,由需求人员直接执行采集,减轻了需求传递过程中的信息损耗和误解,另外可视化埋点技术往往由服务端直接下发采集的配置文件,而不用跟随版本发布,从而加快了数据采集的流程。
- 无埋点:无埋点与可视化埋点原理基本一致,区别在于无埋点是先遍历所有的控件和操作行为的组合情况,然后将这些组合情况交给埋点后台,由数据分析人员选择对哪些组合的埋点数据进行分析,收集数据全面,无漏报。采集数据量巨大,增加了终端流量消耗和服务器存储负担。
后端埋点:
前端埋点需要对采集的数据压缩、暂存,为减少移动端的数据流量,除一些需要实时上报的重要事件不限制网络环境,其它事件一般只在wifi情况下上报,因此数据会有延迟,丢数据等弊端,而在后端采集数据,由于数据是在内网传输,数据传输的即时性强,丢失数据的风险小。
网友评论