1、数据埋点-概述
1、数据埋点-概述 1-1、数据埋点是数据采集的一种重要方式,主要用来记录和收集终端用户的操作行为,其基本原理是在App/H5/PC等终端部署采集的SDK代码,当用户的行为满足某种条件的时候,比如进入某个页面、点击某个按钮等,会自动触发记录和存储,然后这些数据会被收集并被传输到终端提供商,或者是通过后端采集用户使用服务过程中的请求数据。
1.1、数据埋点-用途
1、数据埋点-用途 1-1、终端提供商在收集到埋点数据之后,通过大数据处理、数据统计、数据分析、数据挖掘等加工处理,可以得到衡量产品状态的一些基本指标,比如活跃、留存、新增等大盘数据,从而洞察产品的状态。 1-2、随着数据挖掘等技术的兴起,埋点采集到的数据在以下方面的作用也越来越凸显: 1-2-1、驱动决策:ABtest、漏斗优化、用户增长、bug修复、精准营销、流失用户预警 1-2-2、驱动产品智能:智能推荐(千人千面)、场景化提示(私人助理)等 1-2-3、驱动安全:风险识别
1.2、数据埋点-分类
1、数据埋点-分类 1-1、从位置上分为前端埋点和后端埋点, 1-2、从形式上分为显性埋点和隐性埋点, 1-3、从路径上又可以分为路径埋点和独立埋点, 1-4、从需求上分为业务埋点和监测埋点,3、后端埋点-技术-分类
1.2.1、数据埋点-分类-前端埋点
1、前端埋点-技术-分类 1-1、代码埋点:直接将采集SDK集成在终端,然后不断在此基础上添加调整采集方案,是目前主流的埋点采集方案,其优缺点如下: 优点: • 高度定制、控制精准、采集的数据丰富准确 缺点: • 首先是每当有采集需求,需要开发人员不断添加采集代码,工作量大; • 其次变更采集策略,需要发布新版本,代价巨大,存在滞后效应; • 对业务的功能开发侵入性较高; • 最后由于采集代码常驻终端,不断将采集的用户行为数据进行记录和上报,对于终端尤其是移动终端来说还有耗电、消耗数据流量等负载,此外在数据上报传输的过程中也存在丢失数据的风险。 1-2、可视化埋点 • 只需要产品与运营人员通过GUI界面进行鼠标简单点击,就可以随时增加、取消、调整采集数据的位置和方式,此种埋点方式避开了终端开发人员的介入,由需求人员直接执行采集,减轻了需求传递过程中的信息损耗和误解。 • 可视化埋点技术往往由服务端直接下发采集的配置文件,而不用跟随版本发布,从而加快了数据采集的流程。 • 具体实现是SDK定时做界面截图,在截图的同时从界面UI的根对象开始遍历所有的可视化子对象,得到其层级关系。根据截图和UI元素的可视化信息重新渲染页面,识别可埋点的控件。 1-3、无埋点:无埋点与可视化埋点原理基本一致,区别在于无埋点是先遍历所有的控件和操作行为的组合情况,然后将这些组合情况交给埋点后台,由数据分析人员选择对哪些组合的埋点数据进行分析。 优点: • 收集数据全面,无漏报 缺点: • 采集数据量巨大,增加了终端流量消耗和服务器存储负担。 • 埋点的上报时机相对呆板,不能灵活的根据特定的场景进行特殊设置2、前端埋点-注意事项 • 页面和控件标示上报要从顶层进行合理的设计,层次感要明显; • 埋点数据的漏报和重复上报如何衡量; • 前端埋点不仅可以处理不需要和服务器交互的曝光和点击事件,也可以将与服务器交互的结果,比如关注成功、分享成功、优惠券领取成功等原属于后端埋点里的事件放在前端来上报。3、前端埋点-存在问题 3-1、前端埋点需要对采集的数据压缩、暂存,为减少移动端的数据流量,除一些需要实时上报的重要事件不限制网络环境,其它事件一般只在wifi情况下上报,因此数据会有延迟,丢数据等弊端。 3-2、前端埋点采集程序由于需要常驻,监测实时和延迟埋点上报,不可避免的带来额外的耗电。 3-3、前端埋点若要新增或调整采集方案,需要开发人员修改客户端代码,然后发版之后才能解决,受发布周期的影响较大,而且通常用户的版本更新并不会及时,这将导致新方案不能及时覆盖所有用户。
1.2.2、数据埋点-分类-后端埋点
1、数据埋点-分类-后端埋点 1-1、后端埋点弥补了前端埋点的问题 1-2、后端采集数据,由于数据是在内网传输,数据传输的即时性强,丢失数据的风险小。2、数据埋点-注意事项: 2-1、很多时候并不把后端埋点独立出来,而是混合在前端埋点中,等用户和服务器端的交互返回结果之后,将结果进行上报。 2-2、
1.2.3、数据埋点-分类-其它埋点
1、数据埋点-分类-其它埋点 1-1、路径埋点和独立埋点 • 根据业务对路径的追踪需求和SDK的开发能力,可为每个事件设计上下文的路径信息,路径信息的组成一般由页面、控件、行为三部分组成,而路径的深度也不宜太深,一般小于五层。 1-2、显性埋点和隐性埋点 • 显性和隐性是从用户有感和无感来区分的,有感事件是用户的主动事件,比如展示和点击事件; • 无感事件主要用来处理后台的数据请求和拉取,用以监控和服务器的数据交互是否正常等,无感事件中常用的是扫描采集,比如app启动之后,扫描各设置开关的状态信息进行上报等 1-3、业务埋点和监测埋点 • 业务埋点是从业务需求的角度而言,比如产品需要统计某个页面的曝光和点击,算法人员需要的推荐项点击率等; • 而监测埋点是从业务的流程上来讲的,一般是指隐性的(比如服务器交互的内容拉取情况、本地潜在信息的生成情况等),此外业务埋点中的关键部分也可以用作监测埋点。
1.2、数据埋点-参考资料
1、数据埋点-参考资料 • 可视化埋点参考:https://github.com/mixpanel • 无埋点参考:https://www.growingio.com/ • 产品经理如何做数据埋点:http://www.woshipm.com/data-analysis/1347283.html
1.2、数据埋点-常见埋点平台
1、数据埋点-常见埋点平台 • growing io: https://www.growingio.com/ • 神策: https://www.sensorsdata.cn/ • 诸葛IO: https://zhugeio.com/ • talking data: http://www.talkingdata.com/ • 友盟: https://developer.umeng.com • 百度统计: https://mtj.baidu.com/web/welcome/login • Google Analytics: https://analytics.google.com • 数猎天下DataHunter:https://www.datahunter.cn/