我们平时所说的埋点,可以大致分为两部分,一部分是统计APP页面访问情况,即页面统计;另外一部分是统计APP内的操作行为,及自定义事件统计。

一、页面统计

页面统计,可以统计应用内各个页面的访问次数(PV),访问设备数(UV)和访问时长,以及各页面之间的流向关系。

1.1 页面访问数

页面访问次数,即当前页面的被访问的次数,即浏览量PV;举例:首页,访问次数,1000次;

页面访问人数,即访问该页面的活跃用户数,即独立访问数UV;举例:首页,访问人数,100次;

1.2 页面访问时长

页面访问时长,用户在页面的停留时长,即首页受访时长的总和;举例:首页,访问总时长,2小时;

1.3页面流向分布

页面流向(走向)分布,可统计出,当前页面和下一个页面(有多个)的流向关系;

举例1:在“商品详情”这个页面中,可以进入“购买”、“收藏”、“返回列表”、共3个页面,即在“商品详情”页,可能的流向分布为:

其中,用户在该“商品详情”页面,没有进入对应的3个页面,即视为“离开应用”,在页面流向分布,有2个常见问题:

问题一:页面流向分布中,仅有离开应用这一个指标?

造成这种情况的原因,可能有以下两点:

  • 用户在该页面全部选择了离开用户(这种概率相对很小);
  • 该页面的下一级页面,没有做埋点,导致所有的下一级页面都没有数据,其结果就是离开应用的占比为100%;

问题二:页面流向分布中,离开应用的占比非常高,达到了40%以上?

与问题一类似,如果没有为每个页面添加统计代码,会导致这些页面统计不到,那么跳转到这些未添加统计代码的页面,将会被视为离开应用。

备注:页面流向分布的计算方法

页面的统计数据中,会返回以下数据:当前页面名称,来源页面名称,当前页面访问次数;

举例2:参照举例1中的页面流向分布,假定的页面统计数字如下:

则,商品详情流向购买页面的占比为:在购买页面中,来源为商品详情的次数与商品详情总次数的比值,即20/100*100%=20%;

依次类推,可以分别计算出商品详情流向收藏、商品详情流向返回列表的占比;

离开应用的占比,即为1-(20+30+30)/100*100%=20%。

二、自定义事件统计

自定义事件,即记录用户的操作行为(如点击行为),记录用户操作行为中的具体细节;一般来说,通常所说的埋点,指的就是自定义事件。

埋点可以是某个按钮,某个点击区域,某个提示,甚至可以用来统计一些特定的代码是否被执行。在APP中,需要在代码中定义一个事件行为。

2.1简单事件统计

简单事件统计,即记录事件的发生次数(可理解为PV)和事件发生人数(可理解为UV)。

以下面的登录页为例:

其事件统计的结果为:

事件ID,即EventID,该名称可由程序员自行定义(按照APP统计平台,如友盟、talkingdata等提供的事件ID命名规范进行命名),将该事件ID写入需要跟踪的位置中即可。

事件名称,可以理解为事件ID的一个中文翻译名称,是为了方便运营人员查看,事件名称命名是在APP上线后,该事件ID有数据后的一个事后行为,通常是在APP数据平台中定义(如果你乐意,你可以把input_number这个事件ID的事件名称改为:用户在这里输入手机号)。事件名称只是事件ID在前端页面的一个显示名称。

事件发生次数,即该事件总共发生的次数;可以理解为,在每个事件中,都会有个事件ID计数器,每当该事件被触发时,事件数即加1;

事件发生人数,即该事件的发生人数(有些APP统计平台也称之为:达成该事件的用户数、独立用户数);参考事件发生次数,可以理解为,在每个事件中,都会有个事件ID计数器,每当该事件被触发时,同时记录下该用户的唯一标识,事件数即加1;事件发生人数,即根据用户唯一标识,对事件发生次数进行去重。

2.2事件转化漏斗

事件漏斗,即按照一定的事件顺序,依次统计各个事件之间的转化率,如我们可以对登录注册中的一些关键步骤进行事件漏斗分析,如输入手机号码,获取验证码、输入验证码等,以2.1中提到的登录过程为例,其漏斗可设置为:输入手机号码->获取验证码->输入验证码->点击登录按钮,即由4个事件组成的漏斗。

根据对应的事件数,即可计算出各个事件的转化率,如输入手机号码发生次数为5000次,获取验证码的次数为4000次,那么输入手机号码后点击获取验证码的转化率为4000/5000*100=80%。如下表所示:

2.3利用事件参数进行精确统计

为方便对相同类型的事件类型进行归类,在事件统计中,提供了事件标签(label)的方法;即相同类型的事件可以使用相同的事件ID和不同的事件label,通过事件ID+事件label的方式,指代一个特定的事件。

在进行事件统计时,为了为了统计一些特定的行为数据,如商品价格,商品类型等具体数据,提供了事件参数的方法,通过使用key-value的方式,记录该事件的详细记录。

事件ID、事件label、事件参数的关系,如下图所示:

举例,在一个购买行为中,运营人员想查看用户在整个购买流程的详细参数,那么可以通过以下的事件埋点方式进行埋点;在这个购买行为中,购买就是事件ID,浏览商品详情,收藏该商品,加入购物车等,就是一个一个的事件label;在浏览商品详情中,“商品类型:电子产品”,“商品价格:1-100元”……,等,就是一对一对的key-value值,如下图所示:

通过对商品价格的分析,可以统计得出,用户所选择的商品价格的分布情况。

三、结语

在APP埋点中,我们可以统计得出各个APP页面和各个用户操作行为的数据,我们也可以计算得出任意几个事件之间的转化数据。当然,考虑运营分析中的实际意义和各APP数据统计平台的计算能力等因素,建议统计关键路径的事件数据。

APP埋点所得出的数据,对优化设计流程,优化运营推广策略有着极其重要的作用,通过埋点数据可以更好去了解用户,更好地提供产品服务

APP埋点:页面统计与事件统计该如何入手?的更多相关文章

  1. Android 事件统计

    title: Android 事件统计 1.写在前面的话 最近都在看framework的东西,也几天没有写什么东西,今天有点时间写下上次面试遇到的一个问题.问题大概是这样的,如果我需要统计页面的点击事 ...

  2. 单页面vue引入百度统计的使用方法!

    最近组长安排着做一个项目,h5的应用下载项目,想着做起来还是比较容易,可是看到提出的需求,我就有点懵逼了!需要对应用的下载进行统计!!!我当时就想着我前端怎么对页面点击按钮就行数据统计啊!我以前的项目 ...

  3. HotApp小程序统计之自定义事件统计

    什么是自定义事件统计     官网:https://weixin.hotapp.cn/document 自定事件,就是自定统计任意事件的执行,灵活度最高. 用上图的云笔记说明想知道如下信息 (1)多少 ...

  4. 百度统计&友盟统计

    一.百度统计 登录百度站长统计账号-->管理 --->代码获取-->复制代码,如 <script> var _hmt = _hmt || []; (function() ...

  5. app埋点

    目前APP埋点的主流有两种方式: 第一类是预先设定好想要获取的目标数据,让程序员撰写代码把“采集器”埋到相应的页面上,用于追踪和记录的用户的行为,并把实时数据传送到后台数据库或者客户端. 第二类方法是 ...

  6. js_页面关闭beforeunload事件

    做圆桌爆文公众号的时候,需要对阅读的文章进行时间统计.是这个公众号的核心功能,客户把文章转发到朋友圈或者转给朋友,记录谁阅读此文章和阅读时长进行记录,从而展示给客户. 功能点是,关闭页面时触发事件,请 ...

  7. 构建基于WinRT的WP8.1 App 01:页面导航及页面缓存模式

    本篇博文主要阐述基于Windows Runtime的Windows Phone 应用页面间导航相关知识,主要分为以下几个方面: Window.Frame和Page概览 页面间实现跳转 处理物理后退键 ...

  8. android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标。

    android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标. 今天来写主界面头信息的展示,也就是将第一天的写的layout中的item_main_top展示到主界 ...

  9. js 监听整个页面的回车事件

    JS监听整个页面的回车事件 <script type="text/javascript"> document.onkeydown=keyDownSearch;      ...

随机推荐

  1. Hive学习路线图--张丹老师

    前言 Hive是Hadoop家族中一款数据仓库产品,Hive最大的特点就是提供了类SQL的语法,封装了底层的MapReduce过程,让有SQL基础的业务人员,也可以直接利用Hadoop进行大数据的操作 ...

  2. Python(正则 re模块)

    1. 匹配一个字符 表达式 说明 等价表达式 \d 数字 [0-9] \w 字母.数字.下划线 [a-zA-Z0-9_] . 除换行外任意字符   \s 空格 [\t\n\r\f\v] \D 除数字 ...

  3. python2 跟3的区别

    1----python2:1 臃肿 , 源码的重复量很多2:语法不清晰,掺杂着 c,pyp,java,的一些陋习 python3: 几乎是重构后的源码,规范 清晰 优美 2.python的分类 分为编 ...

  4. Android位置权限以及数组寻找索引的坑

    填坑与求解惑来的. 一.Android 危险权限,来自官方文档的坑??? Android开发者都知道,Android 6.0 之前,权限申请只需要在 AndroidManifest.xml 文件中声明 ...

  5. shiro 拦截器

    参考

  6. 【转】Linux 下取进程占用 cpu/内存 最高的前10个进程

    # Linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...

  7. mount、umount、fuser命令使用小结

    mount -t cifs -o username=administrator,password=xxxxx //192.168.11.17/Data/ /mnt/databak/之后想卸载挂载目录, ...

  8. nor flash的一般操作与分析

    是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM(Electrically Programmable Read-Only-Me ...

  9. 【Python】进程和线程

    多进程 多线程 ThreadLocal 进程vs线程 分布式进程 Top 学习廖老师的py官网的笔记 多任务的实现方式有三种方式: 1.多进程 2.多线程 3.多进程+多线程(这种比较复杂,实际很少采 ...

  10. 理解 JavaScript call()/apply()/bind()

    理解 JavaScript this 文章中已经比较全面的分析了 this 在 JavaScript 中的指向问题,用一句话来总结就是:this 的指向一定是在执行时决定的,指向被调用函数的对象.当然 ...