孙维 iCDO原创志愿者
前言:上一篇文章简单介绍了App分析的两个最基本数据类型:事件和屏幕名称。其中屏幕名称比较简单,基本可以理解为Web分析中的PV;而事件则更加强大,善加利用可以让分析工作事半功倍。其实事件不仅存在于App埋点中,在Web分析中也是可以用到的,所以希望大家仔细看完今天这篇文章,无论对于哪个平台的GA分析都将大有帮助。
上回说到,小张负责运营,小孙负责产品和数据分析,两个人一起做个搞笑猎奇内容的App。目前App已经进入了开发阶段,小孙有时间去规划数据统计的方案了。
转化统计
如果一个用户打开App之后,什么内容都没点就走了,那真的没有产生什么价值。所以,首先的转化应该是阅读内容。接下来,如果用户觉得这篇内容好,他就可能分享到自己的微信或QQ里,是一次更有价值的转化,因为一个分享就意味着一个展示内容,进而获取更多新用户的机会。想到这里,小孙决定先用事件统计阅读和分享这两个行为。
事件有三个可供使用的维度参数(Category、Action、Label),这就好像每一个网页的PV都有两个最常见的维度:URL地址以及网页的标题。不同的是,网页的URL和标题都是统计系统自动收集的,而事件维度参数完全需要我们自己来规划如何使用。那么如何用好这三个参数的内容呢?这里有个原则:你想要看到什么样的报告,决定了参数要如何设置。
作为运营,小张需要知道哪些内容用户最喜欢看、最愿意分享,因此最直观的就是把内容的标题作为事件参数之一发送给GA。小孙考虑了一下,在需求文档里写了如下的文字:
- Category:分享文章
- Action:文章发布日期|发布时间|文章标题|文章ID
- Label:分享到了哪个平台:朋友圈、微信好友、QQ空间、QQ好友
小孙把第一个参数用来区分用户行为的种类,第二个参数用来发送该篇文章的一些基础信息,然后第三个参数用于统计具体分享到了哪里。这样一来,和分享行为相关的信息基本就统计全了。
然后他把这段需求发给研发同事小孟看了一下,对方发来一个问题:分享文章有两个关键点,1、用户在App内点击分享按钮之后,再点击选择具体分享的平台时(例如“朋友圈”);2、在微信里完成分享之后,用户可能回到App,这时我们不仅知道分享平台,还知道分享成功了没有(用户也可能在微信里点击取消后回到App,分享失败)。我们需要在哪个点上做监控呢?
小孙这才意识到,发送任何一个事件或屏幕时,都需要定义一个明确的“瞬间”,这样研发人员才能确定在什么时刻发送数据。于是他又在需求文档中加了一项:
- 触发条件:用户点击分享按钮后,在点击具体分享平台时发送事件
接下来按照这个套路,小孙继续写出阅读文章事件的需求:
- 触发条件:用户点击文章标题时发送事件
- Category:阅读文章
- Action:文章发布日期|发布时间|文章标题|文章ID
- Label:图文 / 视频
阅读文章的事件和分享事件类似,第一个参数标明行为,第二个参数收集这篇文章本身的基本信息,第三个参数用来区分文章的类型。
交互行为统计
- 触发条件:用户搜索关键词后,在显示搜索结果时发送事件
- Category:搜索
- Action:用户搜索的关键词
- Label:有结果 / 无结果
大家可能注意到了,发送搜索事件的“瞬间”并不是用户点击搜索按钮时,而是在返回搜索结果之后。在网络服务正常的情况下,这两者间隔可能小于一秒钟,那它们有区别吗?真的有!大家注意Label参数,小孙用它来统计每次搜索是否能搜到结果。这里的重点是那些没有结果的关键词,可能意味着未满足的用户需求。而这个数据,只有显示搜索结果之后才能得到,所以不能在点击搜索按钮的瞬间就发送。
- 触发条件:用户在首页下拉刷新时发送事件
- Category:下拉刷新
- Action:下拉刷新
- Label:(留空)
今日头条的很多用户都知道,首页的新闻内容看完之后只要下拉刷新一下,就会再次推荐几条新闻,并且各种类似App也争相效仿,使得很多用户都养成了习惯。考虑到这一点,小孙的App也加入了这一功能,并且发送了事件统计。不过因为这个行为比较简单,所以事件的前两个必填参数是一样的,而第三个参数就可以不发送了。
- 触发条件:用户在文章列表页滚屏加载更多内容时发送事件
- Category:加载下一页
- Action:加载下一页
- Label:(留空)
与下拉刷新类似,加载更多也是一个比较简单的事件,所以只发送了两个必填参数。当研发小孟看到这两个事件的需求时和小孙说:“我们在自己的服务器上已经记录了这两个行为的次数,还需要用GA再统计一次吗?”小孙笑了笑,“需要,等看到数据报告你就知道用处了。”
- 触发条件:当用户打开推送文章时发送事件
- Category:打开推送文章
- Action:文章发布日期|发布时间|文章标题|文章ID
- Label:图文 / 视频
看到这个打开推送的事件,可能有同学想问:一般的推送服务平台都可以统计发送和打开的数据,那为什么也要用GA统计一遍?其实这个问题和上面小孟提的类似,虽然外部系统也统计了某些数据,但它们无法和App中用户的后续行为贯通起来分析,所以必须也加GA统计。至于具体的分析方法,以后的文章中会详细讲解。
- 触发条件:用户提交意见反馈时发送事件
- Category:意见反馈
- Action:反馈内容|反馈日期/反馈时间
- Label:手机号|QQ|邮箱
虽然意见反馈有成熟的第三方解决方案,不过小孙还是决定发一份数据给GA,因为用它结合高级细分功能,也许能得到意想不到的结果。后来这个想法果然有了用武之地,我们到后文中再说。
- 触发条件:App端发生错误时发送事件
- Category:报错信息
- Action:具体的错误信息
- Label:用户的设备信息
除了崩溃之外,有时候App中还会产生一些其他类型的错误,例如服务器相应超时、图片加载失败之类。与意见反馈类似,用GA事件结合高级细分,能够帮助我们重现出问题的场景,所以如果工期允许,也可以部署这个事件。
开发文档
iOS版:https://developers.google.cn/analytics/devguides/collection/ios/v3/events
安卓版:https://developers.google.cn/analytics/devguides/collection/android/v4/events
作者简介:
孙维:擅长基于GA的用户行为分析,数据分析从业5年+,互联网从业10年+。曾就职于泡泡网、苹果园、百思不得姐,目前在卡车之家负责用户行为分析部门。