在微信小程序里,我们要怎样做数据分析

以往的统计方案很可能不灵了

  从目前官方提供的开发文档来看,小程序里不支持普通的HTML,JS也是有限制的,极可能无法执行CNZZ、百度统计等传统的网页版统计代码。同时,更不可能通过集成友盟那种方式去用App端的分析系统。其实,就算它们能运行,对我做分析来说也远远不够用。因为在我看来它们只能做统计,根本谈不上分析,不信请往下看

微信自己的数据统计

  既然做了小程序平台,微信必然会有自己的数据统计功能,就像订阅号的统计一样。但小程序的交互可比阅读文章复杂得多,“与原生App一样的体验”当然也需要同样强大的数据分析系统。

我猜小程序后台应该能提供基本的新增、日活、留存率等指标,进一步如果我们把小程序里的各个页面比作网页,那也许还有每个“页面”的浏览量。再进一步,各种交互功能也许能用“事件数”来统计。不过说实话,正式上线时的统计后台能做到哪一步都很难说。而即便都做到了,给我用来做分析也不够用。

我们需要什么样的数据?

我举个简单的例子:

下拉刷新 → 推荐内容,是个很常见的交互设计,那么我们如何评估推荐算法的优劣呢?很简单,先算出下拉刷新的用户有多少,然后再算出“下拉刷新之后,紧接着阅读了内容”的人有多少,二者相除得到一个推荐内容的点击率。每次改变算法或者AB测试时,对比这个点击率的高低,即可评估优劣。

因此我们需要这样一个数据分析系统:

用我们上面的评估方法,得到推荐内容点击率是61%,这个计算过程只需要花两分钟。

我再举个例子,如果有用户反馈说遇到了bug,你怎么办?去联系这个用户,然后尝试复现这个bug?首先能否联系上就很难说,其次用户又不是专业测试,能记住bug复现路径的可能性微乎其微,所以我都是这么做的:

用分析系统把反馈某个意见的用户细分出来,然后看他的行为:

资料不够详细?那还可以看到这名用户的其他属性:

这些数据对我们定位问题会非常有帮助。

上面两个例子都来源于Google Analytics(简称GA)分析系统,而且算是比较简单的用法,事实上GA能做到的比这多得多,例如支持电子商务统计,能对销售数据进行各种细分。更好的是,GA这些功能都是免费的,在你的印象里,有用其他系统做到过吗?

GA如何在微信小程序里部署

  开头我们就说过,常规的统计系统恐怕无法在小程序里部署。不过GA除了常规的网页和App统计之外,还有一种叫“测量协议”的方式,它不依赖于任何环境属性,只要请求一个地址并带上需要的参数,就可以发送数据了。也就是说,联网的自动贩卖机都可以用GA分析数据。而且我在国内用这个方法已经多年,没有被“墙”。

代码实现方式

  我用的技术是Google Analytics(简称GA)的“测量协议”,它的原理是请求GA的一个地址(没被墙),并带上自定义的参数,即可在GA报告中看到这条数据。这个技术的好处是,不需要依赖任何环境,只要能发送网络请求的设备即可,哪怕是一台联网可编程的自动贩卖机都行。

我们是这样实验的,在一个Hello World程序的首页,点击头像时,给GA发送一个事件:

发送事件统计的代码如下:

其中的tid是GA的统计ID;cid用于区分每个用户;t代表发送数据的类型,这里发送的是事件,也可以发送页面PV或者电子商务的交易成功等等;ec和ea都是事件的参数。

GA的事件最多有三个文字型参数和一个数值型参数,以满足多维度的统计需求。例如在例子中我使用了两个参数,描述了用户点击行为,以及这个点击发生在哪个页面。

报告内容

  接下来我们编译这个程序,然后我点击两次头像后,在报告中可以看到如下的数据:

以上只是一个最简单的例子,其实GA还可以完成各种复杂的统计。如果你的小程序中有销售行为,GA同样可以实现从商品展示、点击、加购物车、完成购买的各步骤转化率统计,以及商品销售情况统计:

我想不出,还有任何其他的数据统计方案比GA的“测量协议”更强大,更适合小程序了,何况GA还是免费的。也许有朋友不太熟悉GA,我的建议是赶紧学,网上随便搜一下都有N多教程文章,如果能找到老司机带路更好,在小程序的时代一定要在数据方面做好准备。

来源:小程序|轻应用