我们平时所说的埋点,可以大致分为两部分,一部分是统计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. 在Docker上安装配置Oracle教程

    地址:https://github.com/wnameless/docker-oracle-xe-11g Docker shell 下: docker pull wnameless/oracle-xe ...

  2. C# 调用win api获取chrome浏览器中地址

    //FindWindow 查找窗口 //FindWindowEx查找子窗口 //EnumWindows列举屏幕上的所有顶层窗口,如果回调函数成功则返回非零,失败则返回零 //GetWindowText ...

  3. 浅谈HTML文档模式

    不知道爱多想的你有没有在编写HTML代码时思考过 <!DOCTYPE html> 或是这一长串看都看不懂的 <!DOCTYPE HTML PUBLIC "-//W3C//D ...

  4. centos7 vmware克隆解决网络问题

    centos7克隆后,发现两台机子之间的MAC相同,无法获取IP.超找资料,解决办法如下: 只要删除网卡的配置文件中的HWADDR和UUID两行就行.使用ifup启动网卡即可.

  5. matlab出错及改正

    1 使用小波分析时,出现下面错误: 错误使用 wavedec需要的 X 应为 矢量.出错 wavedec (line 34)validateattributes(x,{'numeric'},{'vec ...

  6. 前端基础之jQuery(Day55)

    阅读目录 一 jQuery是什么? 二 什么是jQuery对象? 三 寻找元素(选择器和筛选器) 四 操作元素(属性,css,文档处理) 扩展方法 (插件机制) 一. jQuery是什么? [1]   ...

  7. bootstrap select 学习使用笔记-------选中赋值及change监听丢失

    在 bootstrap 和 knockout 共同存在下使用 select 下拉选择插件,发现绑定选项.赋值之后插件不可用了,绑定的监听事件也丢失了.迫不得已在绑定选项值之后再次调用刷新,以及赋值后重 ...

  8. Java最新趋势之Spring阅读

    (原文地址:点我) This Week in Spring: Cloud Native and the State of Java This compilation of news and tutor ...

  9. Educational Codeforces Round 11A. Co-prime Array 数学

    地址:http://codeforces.com/contest/660/problem/A 题目: A. Co-prime Array time limit per test 1 second me ...

  10. OpenGL中的Shader

    http://blog.csdn.net/huangcanjun187/article/details/52474365 学习总结自:http://learnopengl.com/#!Getting- ...