APP数据埋点分类方式
1、数据埋点的重要性
在现实工作中,数据的整体流程为:数据生产-数据采集-数据处理-数据分析和挖掘-数据可视化,其中,数据采集是很重要的一个环节,数据采集得全不全、对不对,直接决定数据广度和质量,影响后续所有的环节。如果采集的数据维度很少,那我们想要进行深入分析的时候就会显得无处着手,比如我们想要分析某个APP某个功能的使用情况,但是却根本没有采集相关的数据,那我们也不能进行后续的分析了。如果数据采集是错误的,如漏报、误报等,那这肯定是很致命的,会误导我们基于数据的决策。
在互联网行业,数据采集的方式根据采集数据端的不同,主要分为网页数据采集、APP数据采集。网页数据的采集主要是使用JS采集,常用的数据分析工具主要是Google Analytics,APP数据采集主要是通过埋点采集,主要有前端埋点和后端埋点之分,相应的移动端数据分析厂商也很多。随着越来越多的用户倾向于在移动端上网和使用APP,APP数据采集就显得更加重要。
2、数据埋点是什么
要做好APP的数据分析,让数据支撑决策、产品和运营,首先是要有数据,就像做饭需要米一样,而要采集用户数据就要进行APP数据埋点。产品人员在产品规划时就要思考数据埋点问题,如果在产品外发后再考虑怎么埋点,就会导致前期版本用户的数据无法收集,想要看某个数据时就无可奈何,只有等到新版本完善来弥补。思考要埋哪些点的时候,要紧密结合产品、运营需求,并跟数据分析、ETL人员等进行充分沟通,例如需要监控哪些指标、需要通过哪些埋点来实现、怎样埋点更能符合统计的需求,这是一个集思广益的过程。
数据埋点包括客户端前端埋点和服务端后端埋点,客户端前端埋点是用户在客户端上的操作记录,服务端后端埋点是用户在线请求服务器的日志,两者各有优劣,最好两者都埋点,可以相互补充。
数据埋点其实就是在产品功能代码后面加上统计代码,记录用户操作行为,当用户进行某个操作时,如点击某个按钮、呈现某个页面等,开发会在相应地方加上统计代码,埋点会生成一条log记录。
3、怎样数据埋点
3.1、数据埋点技术
现在业界客户端埋点一般都是采取key-value的形式,key代表某个事件,value代表相应的参数值,埋点逻辑大概为:用户产生点击行为,生成一个点击事件,当有页面呈现在屏幕前时,生成一个页面事件。
现在SDK上报埋点事件主要分为两类:1)点击事件,主要描述用户在应用内的点击行为,如点击tab、点击按钮等,同时一些参数事件也被归类为点击事件,如页面描述、试听时长等,把这些参数事件归类为点击事件主要是方便页面事件计算用户应用使用时长;2)页面事件,主要描述用户浏览过的页面,如首页、详情页等,同时通过页面停留时长计算用户应用使用时长。
常见的有三种埋点技术:
代码埋点:控件操作发生时通过预先写好的代码来发送数据。优点:控制发送数据时间,事件自定义属性详细记录;缺点:时间、人力成本大,数据传输的时效性。
可视化埋点:利用可视化交互手段,通过可视化界面配置控件操作与事件操作发生关系,通过后台截屏的方式采集数据。优点:成本低,速度快;缺点:行为记录信息少,支持的分析方式少。
无埋点:用户展现界面元素时,通过控件绑定触发事件,事件被触发的时候系统会有相应的接口让开发者处理这些行为。现在市面上主流无埋点做法有两种,一种是预先跟踪所有的渲染信息,一种是滞后跟踪的渲染信息。优点:无需埋点,方便快捷;缺点:行为记录信息少,传输压力大。
3.2、数据埋点优缺点
3.2.1、客户端埋点的优缺点
APP客户端埋点的好处是:
1)能够搜集更加全面的用户数据,可以对客户端各个点击、页面埋点;
2)可以收集不需要请求服务器的数据,如音乐的本地播放、页面停留时长等。
APP客户端数据埋点存在问题主要有:
1)数据上报时需手机联网,如果用户手机未联网,则会延迟上报数据,同时数据上报一般有相应的规则,不会实时上报,一般存在15%左右的延迟上报和漏报;
2)如果用户删除自己的APP操作记录,则没有上报的记录。
3)当需要改变埋点时,需要更新版本才行,但是会存在有些用户不更新版本情况,影响数据质量。
3.2.2、服务端埋点的优缺点
APP服务端后端埋点的优点是:
1)实时收集,数据很准确,不存在延时上报;
2)当要改变埋点时,只要改变,上报数据就会改变;
3)能够收集不在APP内发生的行为,只要请求服务器就行,而客户端只能收集在客户端中的操作行为,如统计从其他APP引流的安装量。
服务端后端埋点缺点是:
1)不能收集不需要请求服务器的数据;
2)用户没联网的时候不能够采集数据。
3.2.3、服务端和客户端的结合
结合客户端前端埋点和服务端后端埋点的优缺点,服务端数据实时性高、很准确,最好用户需要请求服务器的关键业务量均使用服务器后端埋点,如在线播放、游戏安装等,在统计中奖用户这些,显然服务端数据更合理,客户端数据可能会漏掉部分中奖用户,导致用户投诉;客户端数据很全,记录了用户绝大多数操作行为,其它非关键业务量或者不需要请求服务器的行为使用后客户端前端埋点。服务端埋点和客户端埋点各有优劣,应该两种数据同时都存在,可以相互印证,当一方数据发生重大问题时可以通过另一方发现,同时,数据也能互补,如数据采集突然有问题了,可以用另一方数据替代。
3.3、数据埋点内容
数据埋点主要是为了采集用户行为数据,根据用户应用使用行为,各应用埋点主要包括以下几个方面:
3.3.1、功能按钮埋点
功能按钮的埋点主要是为了解用户对应用中的按钮、功能、入口等的使用,从而洞察用户内容偏好、功能偏好、使用路径等。主要包括以下几个方面:
1)用户对应用顶部tab、底部tab、内容筛选tab等的点击,了解用户对应用各个板块的喜好和内容偏好等;
2)用户对应用内各入口、频道的点击,了解用户的内容偏好、产品使用路径等;
3)用户对应用中具体内容的点击,如点击某款游戏、某个商品、某个视频等,了解用户内容偏好、产品使用路径等;
4)用户对应用设置中选项的点击,如是否打开push开关,了解用户应用的基本设置情况。
5)用户对其它功能按钮的点击,如音乐播放器中暂停、下一首等按钮的点击。
3.3.2、主要行为埋点
用户应用主要行为埋点主要是为了解用户应用内使用行为,从而洞察用户内容偏好、产品使用习惯、用户忠诚度、用户活跃度等,用户应用中主要行为包括:
1)用户核心行为,包括下载、安装、试听、播放、阅读等,各业务根据其产品性质的不同,有不同的核心业务行为,如视频的播放、音乐的试听,可以了解用户的内容偏好、业务活跃度等
2)用户其它行为,包括评论、分享、点赞、回复、收藏、订阅等,对内容型业务基本是通用的,可以了解用户的内容偏好、使用习惯、业务忠诚度等;
3.3.3、主要页面埋点
页面埋点是为了解用户对应用各页面的浏览情况,从而知道各页面的浏览量、用户使用路径、使用时长等。主要包括应用首页、个人中心页、各一级页面、各二级页面等,原则是只要应用呈现在屏幕前的页面都需要相应的埋点,这样才能较准确的计算应用使用时长,同时能够评估各页面价值。
3.3.4、支付流程埋点
支付流程的埋点是为了解用户整个支付流程是否使用顺畅,是否有优化的空间,便于进行漏斗分析,对有支付流程的应用是至关重要的。主要包括点击支付、选择支付方式、点击下一步、确认支付(或取消支付)、支付结果等步骤,了解各个步骤的转化率,优化有问题的支付环节。
3.3.5、搜索流程埋点
搜索是应用一个很重要的功能,大多数目的明确的用户都会使用搜索功能,搜索的埋点能够了解用户的搜索行为、内容偏好、搜索热点等。主要包括点击搜索、输入关键词、点击推荐热词、点击推荐联想关键词、点击搜索结果等,洞察用户是怎样进行搜索的、当前搜索热点是什么、搜索推荐算法的效果等。
APP数据埋点分类方式的更多相关文章
- app嵌入的H5页面的数据埋点总结
好久没写博客了,大半年时间花费在了许多杂事上. 最近1个月专门为H5页面的app开发了一些埋点功能,主要是考虑到以后的可复制性和通用型,由于不是前端开发出身,相对来说还是比较简陋的. 正题开始:H5页 ...
- wemall app商城源码Android数据的SharedPreferences储存方式
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android数据 ...
- APP的功能分类及打包与发布的分类方式
智能手机的出现改变了我们的生活,同时各种各样的APP充斥在我们的手机当中.那么我先现在在来熟悉一下APP的分类及其用途:工具类.社交类.信息类.娱乐类.生活类等几大类.我么了解了APP的用途分类,那么 ...
- 数据中台实战(一):以B2B电商亿订为例,谈谈产品经理视角下的数据埋点
本文以B2B电商产品“亿订”为实例,与大家一同谈谈数据中台的数据埋点. 笔者所在公司为富力环球商品贸易港,是富力集团旗下汇聚原创设计师品牌及时尚买手/采购商两大社群,通过亿订B2B电商.RFSHOWR ...
- 网易郑栋:数据采集与分析的那些事——从数据埋点到AB测试
本文由 网易云发布. 4月8日晚,DTalk邀请到了网易互联网分析产品.可视化 BI 产品的负责人—郑栋老师,进行了一次关于<网易郑栋:数据采集与分析的那些事第一弹: 数据篇>的主题分享 ...
- 数据采集与分析的那些事——从数据埋点到AB测试
作者:网易有数郑栋. 一.为什么企业需要一套完善的用户行为埋点和分析平台 产品初创期间,需要分析天使用户的行为来改进产品,甚至从用户行为中得到新的思路或发现来调整产品方向:产品成长过程,通过对用户行为 ...
- Android数据存储五种方式总结
本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用Cont ...
- ios网络学习------4 UIWebView的加载本地数据的三种方式
ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...
- Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式
Linux就这个范儿 第15章 七种武器 linux 同步IO: sync.fsync与fdatasync Linux中的内存大页面huge page/large page David Cut ...
随机推荐
- java对象实现深复制的方法
p2 = (Person)org.apache.commons.lang3.ObjectUtils.cloneBean(p); Person p2 = new Person(); p2 = (Pers ...
- WebService 页面重定向错误
“/”应用程序中的服务器错误. 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败. xxx.xxx.xxx.xxx:xx 说明: 执行当前 Web 请求期间,出现未经处理的异常.请 ...
- NGUI3.7.4实现循环拖动
前段时间下了NGUI新版本3.7.4,看到例子Endless Scroll Views,实现了循环拖动,可能会用到,先把实现步骤贴出来跟大家分享一下. 1.首先新建一个背景. 2.添加所需控件,类似滑 ...
- ubuntu qt5 error: Unknown module(s) in QT: webkitwidgets解决办法
question: project-error-unknown-modules-in-qt-webkitwidgets-webkit os: ubuntu16.04 LTS-32bit qmake v ...
- web.py使用要点
这几天有一个构建restful services的需求,我采用了web.py,之前并没有使用过,但在使用中确实给我带来了很多惊喜.当然,最大的惊喜就是简单,方便.之前开发restful服务的时候,采用 ...
- kaggle比赛之youtube视频分类示例
1.训练模型:建bucket,建job,提交运行. BUCKET_NAME=gs://${USER}_yt8m_train_bucket_logisticmodel # (One Time) Crea ...
- 运动规划(Motion Planning)
相关介绍: https://mp.weixin.qq.com/s?__biz=MzA5MDE2MjQ0OQ==&mid=2652786406&idx=1&sn=f937dd6a ...
- ubuntu安装scala详细教程
ubuntu14 安装scala详细教程 1.下载scala压缩包 http://www.scala-lang.org/download/ 2.建立目录,解压文件到所建立目录 $ sudo mkdir ...
- 6、手把手教React Native实战之JSX入门
React是由ReactJS与React Native组成,其中ReactJS是Facebook开源的一个前端框架,React Native是ReactJS思想在native上的体现! JSX并不是一 ...
- c++ 指针(不断更新)
c++指针只能说博大精深,在用的时候感觉好晕 1.指针类型转换 /* 在指针的强制类型转换:ptr1=(TYPE*)ptr2中,如果sizeof(ptr2的类型)大于sizeof(ptr1的类型), ...