让商业变得更智能

如何进行 App 数据分析?攻略二:部署 8 个事件
APP开发,数据分析

上回说到,小张负责运营,小孙负责产品和数据分析,两个人一起做个搞笑猎奇内容的App。目前App已经进入了开发阶段,小孙有时间去规划数据统计的方案了。

转化统计

在一个普通的App开发里面,可供统计的用户行为非常多:每一个按钮,每一次点击几乎都可以作为事件发送给GA。而如果人力有限,应该优先统计哪些呢?小孙想了想,最重要的当然是和转化相关的,所以必然要先统计转化行为。那么哪些行为算是转化呢?

如果一个用户打开App之后,什么内容都没点就走了,那真的没有产生什么价值。所以,首先的转化应该是阅读内容。接下来,如果用户觉得这篇内容好,他就可能分享到自己的微信或QQ里,是一次更有价值的转化,因为一个分享就意味着一个展示内容,进而获取更多新用户的机会。想到这里,小孙决定先用事件统计阅读和分享这两个行为。

事件有三个可供使用的维度参数(Category、Action、Label),这就好像每一个网页的PV都有两个最常见的维度:URL地址以及网页的标题。不同的是,网页的URL和标题都是统计系统自动收集的,而事件维度参数完全需要我们自己来规划如何使用。那么如何用好这三个参数的内容呢?这里有个原则:你想要看到什么样的报告,决定了参数要如何设置。

作为运营,小张需要知道哪些内容用户最喜欢看、最愿意分享,因此最直观的就是把内容的标题作为事件参数之一发送给GA。小孙考虑了一下,在需求文档里写了如下的文字:

小孙把第一个参数用来区分用户行为的种类,第二个参数用来发送该篇文章的一些基础信息,然后第三个参数用于统计具体分享到了哪里。这样一来,和分享行为相关的信息基本就统计全了。

事件参数的用法非常灵活和自由,在本篇中大家只要知道这是用法之一即可,在以后的文章里我再解释为什么要这样设置,以及能得到什么样的结果。

然后他把这段需求发给研发同事小孟看了一下,对方发来一个问题:分享文章有两个关键点,1、用户在App内点击分享按钮之后,再点击选择具体分享的平台时(例如“朋友圈”);2、在微信里完成分享之后,用户可能回到App,这时我们不仅知道分享平台,还知道分享成功了没有(用户也可能在微信里点击取消后回到App,分享失败)。我们需要在哪个点上做监控呢?

 

小孙这才意识到,发送任何一个事件或屏幕时,都需要定义一个明确的“瞬间”,这样研发人员才能确定在什么时刻发送数据。于是他又在需求文档中加了一项:

阅读文章的事件和分享事件类似,第一个参数标明行为,第二个参数收集这篇文章本身的基本信息,第三个参数用来区分文章的类型。

  • Category:分享文章

  • Action:文章发布日期|发布时间|文章标题|文章ID

  • Label:分享到了哪个平台:朋友圈、微信好友、QQ空间、QQ好友

  • 触发条件:用户点击分享按钮后,在点击具体分享平台时发送事件

    接下来按照这个套路,小孙继续写出阅读文章事件的需求:

  • 触发条件:用户点击文章标题时发送事件

  • Category:阅读文章

  • Action:文章发布日期|发布时间|文章标题|文章ID

  • Label:图文 / 视频

交互行为统计

研发小孟看了看GA官方的开发文档,觉得App事件部署还是很简单的,再多一些也没问题,于是小孙又总结了几个关键的交互行为,也加上事件统计,它们对于后期分析会有很大帮助:

大家可能注意到了,发送搜索事件的“瞬间”并不是用户点击搜索按钮时,而是在返回搜索结果之后。在网络服务正常的情况下,这两者间隔可能小于一秒钟,那它们有区别吗?真的有!大家注意Label参数,小孙用它来统计每次搜索是否能搜到结果。这里的重点是那些没有结果的关键词,可能意味着未满足的用户需求。而这个数据,只有显示搜索结果之后才能得到,所以不能在点击搜索按钮的瞬间就发送。

 

今日头条的很多用户都知道,首页的新闻内容看完之后只要下拉刷新一下,就会再次推荐几条新闻,并且各种类似App也争相效仿,使得很多用户都养成了习惯。考虑到这一点,小孙的App也加入了这一功能,并且发送了事件统计。不过因为这个行为比较简单,所以事件的前两个必填参数是一样的,而第三个参数就可以不发送了。

 

与下拉刷新类似,加载更多也是一个比较简单的事件,所以只发送了两个必填参数。当研发小孟看到这两个事件的需求时和小孙说:“我们在自己的服务器上已经记录了这两个行为的次数,还需要用GA再统计一次吗?”小孙笑了笑,“需要,等看到数据报告你就知道用处了。”

看到这个打开推送的事件,可能有同学想问:一般的推送服务平台都可以统计发送和打开的数据,那为什么也要用GA统计一遍?其实这个问题和上面小孟提的类似,虽然外部系统也统计了某些数据,但它们无法和App中用户的后续行为贯通起来分析,所以必须也加GA统计。至于具体的分析方法,以后的文章中会详细讲解。

虽然意见反馈有成熟的第三方解决方案,不过小孙还是决定发一份数据给GA,因为用它结合高级细分功能,也许能得到意想不到的结果。后来这个想法果然有了用武之地,我们到后文中再说。

 

除了崩溃之外,有时候App中还会产生一些其他类型的错误,例如服务器相应超时、图片加载失败之类。与意见反馈类似,用GA事件结合高级细分,能够帮助我们重现出问题的场景,所以如果工期允许,也可以部署这个事件。

  • 触发条件:用户搜索关键词后,在显示搜索结果时发送事件

  • Category:搜索

  • Action:用户搜索的关键词

  • Label:有结果 / 无结果

  • 触发条件:用户在首页下拉刷新时发送事件

  • Category:下拉刷新

  • Action:下拉刷新

  • Label:(留空)

  • 触发条件:用户在文章列表页滚屏加载更多内容时发送事件

  • Category:加载下一页

  • Action:加载下一页

  • Label:(留空)

  • 触发条件:当用户打开推送文章时发送事件

  • Category:打开推送文章

  • Action:文章发布日期|发布时间|文章标题|文章ID

  • Label:图文 / 视频

  • 触发条件:用户提交意见反馈时发送事件

  • Category:意见反馈

  • Action:反馈内容|反馈日期/反馈时间

  • Label:手机号|QQ|邮箱

  • 触发条件:App端发生错误时发送事件

  • Category:报错信息

  • Action:具体的错误信息

  • Label:用户的设备信息

开发文档

最后,别忘了在需求文档里附上GA事件的官方开发说明的地址,以方便研发的同事去参考:

iOS版:https://developers.google.cn/analytics/devguides/collection/ios/v3/events

安卓版:https://developers.google.cn/analytics/devguides/collection/android/v4/events

今天讲到的事件使用方法虽然是“一家之言”,但只要把它们部署好,就已经能分析到很多有价值的数据了。也许你觉得有些参数过于详细,但它们确实是有使用场景的,以后的文章会具体讲解。等到大家掌握的App分析的完整思路和方法之后,可以再根据实际情况对发送的数据项目进行调整。在下一篇文章,我会详细讲解事件报告的查看方法和技巧,本篇的读者们千万不要错过啦。

作者简介:

孙维:擅长基于GA的用户行为分析,数据分析从业5年+,互联网从业10年+。曾就职于泡泡网、苹果园、百思不得姐,目前在卡车之家负责用户行为分析部门。

APP开发,数据分析