一共包括两个部分:
2. 如何利用这些数据(三个案例说明);
本文所使用的监测工具是nEqual提供的及策小程序监测模块。
一、如何获取符合业务需求的数据?
常规数据监测是指不管小程序是什么类型的,我们都需要获取的数据,除了基础代码还包括来源、页面与页面路径、分享、用户属性等数据。
自定义事件监测是指一些具有特殊业务场景的数据监测,比如含有交易功能的小程序,在提交订单时需要监测订单里的商品、数量、金额等数据。如果小程序内有广告位,还需要监测广告的曝光和点击数据。
接下来介绍常规数据监测和自定义事件数据监测具体的监测方法。
1常规数据监测
在部署代码之前,你需要注册一个小程序的账号,然后在账号后台添加合法域名,每个监测工具的域名不一样,具体域名可以咨询你使用的工具厂商。
其次是来源数据监测,这里先说下小程序都有哪些入口,有哪些能直接监测,有哪些不行。
小程序的入口接近70个,包含发现栏小程序主入口、顶部搜索框的搜索结果页、朋友圈广告、搜一搜结果页、发现栏小程序主入口搜索框的搜索结果页、聊天会话中的小程序消息卡片等,详细入口列表,可以查看小程序开发文档的链接:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html。
这些入口中,有些是我们可以加参数监测的,比如小程序的二维码,这里说的二维码也是用一段url生成的,和网站监测原理一样。在做网站来源监测的时候,我们会在url上添加link tag来区分不同的流量渠道和广告类型等。
比如投放到新浪上的banner广告,我们可能就会加上参数?
utm_source=sina&utm_media=banner&utm_campaign=cwa(这是谷歌分析的标准格式),同样在小程序里也能用这种方式实现,只是每个工具的参数标识不一定一样,有些是兼容utm的,有些有自己的标识。
比如nEqual的及策用md标识来源类型,用pl标识来源详情,这个链接pages/index?md=Qr_code&pl=mendian_a代表的是来自A门店的二维码。和网站来源参数另一个共同点是这些参数可以只写一个,也可全都不写。
有些是无法加参数监测的。无法添加参数的来源类型需要工具从微信那调取场景值。前面提到小程序有接近70个入口,每个入口都有相对应的场景值,监测工具可以通过调用小程序定义好的场景值来判断各种来源带来的用户数据。
有些朋友问,我想监测页面A被某人分享出去后带来多少人访问,是否能实现。这种场景是可以实现的,需要我们做一些自定义事件监测。
以及策这个工具为例,在 path 后动态加上用户动作名称的昵称,这样就可以统计该分享者最终带来多少用户了。
Page({ onShareAppMessage: function () { jice.track("onshare", { title: "自定义分享标题", path: "/page/user" + "md=share&pl=" + app.globalData.userInfo.nickName }) } })
另一个常规监测就是用户属性的数据,当用户打开你的小程序并且使用微信登录,会调用以下方法回传用户数据。
this.getUserInfo(function(userInfo){ jice.addUserIdentifier({ openid: openid, // openidid unionid: unionid, // unionid nickname: userInfo.nickName, //昵称 wxgender: userInfo.gender, //性别 wxcity: userInfo.city, //微信设置城市 wxprovince: userInfo.province, //微信设置省份 wxcountry: userInfo.country, //微信设置国家 avatarurl: userInfo.avatarUrl //头像url }) })
当用户用微信登录小程序的时候,我们会获得用户的open id,有可能的情况下会获得union id,在之前我讲公众号用户运营的文章里有详细讲过这两种id的区别,如果你有多个公众号、小程序的时候(在同一认证主体下),假设有一个用户关注了你三个公众号并且登录过一个小程序,每个公众号和小程序都会给这个用户记录一个open id,并且都不一样,这对于你来说是不符合你的业务需求的,你还是希望能把这个用户识别为一个人,这时候微信就提供另一个id叫union id来将这个用户的open id进行统一标识,所以在你的平台上,一个用户对应一个union id。
除了用户登录后的open id或者union id,还有一个id是你收集到的用户手机号或者邮箱,通过这个用户id你可以将用户访问你网站、APP等平台的数据统一整合进来。
2 自定义事件数据监测
为了解决好这些业务场景的数据监测问题,以下内容主要会和大家介绍特定交互监测、自定义变量监测、广告位曝光点击监测。
特定交互监测(事件监测)
拿我最常用的小程序举例,因为每周都要组织大家打篮球,要确定大部分朋友打球的时间,所以会用到投票的小程序。
如果我们监测腾讯投票的小程序,我特别想知道页面上点击单选投票和多选投票的点击数量是多少,这时候我们需要部署小程序事件的代码,还是以及策为例,分别给这两个按钮部署事件代码jice.track(‘danxuan’)和jice.track(‘duoxuan’),这样就可以实现对这两个按钮的监测。
那有朋友就问了,如果我不仅仅想监测这个按钮的点击次数,我还想监测这个按钮里的文字内容呢?这就涉及到了自定义变量了,为了更好地解释这个问题,我直接引到自定义变量监测模块。
自定义变量数据监测
当我们想要监测很多特定的动态数据的时候,比如订单信息、注册信息等,因为每个用户购买的商品五花八门、注册提交的手机号等信息具有唯一性,所以无法用简单的事件来监测,而是要监测更为详细的动态信息,所以才有自定义变量存在的可能性。
比如下图中的订单信息,用户购买了酒店的单人餐,两份。我想要在用户点击“确认下单”按钮的时候,把订单里商品名“盘古七星酒店因缘庭单人餐”、数量“2”、总额“200元”等数据监测回来,我们需要用这样的代码
jice.track(‘qrxd’, {spmc:‘/*商品名称*/’,shuliang:‘/*数量*/’,zonge:'/*合计金额*/'});
广告位曝光点击监测
要实现广告位数据的监测,首先要在监测工具中添加作为渠道方的小程序,然后嵌入基础代码以及需监测的事件代码、用户属性代码(这些代码前面都有详细介绍),同时需在工具中添加广告主的小程序,最后将以下代码部署在广告位上。注意:代码中appid为广告主的appid,即工具生成的应用id。
Javascript //曝光 jice.adTrack(“appid”,“view”, { adtype: “banner”, //广告位,可选banner/timeline,或自定义值 adct: “audi suv” // 广告内容标识 adv: “audi” //广告主名称 }) //点击 jice.adTrack(“appid”,“click”, { adtype: “banner”, //广告位,可选banner/timeline,或自定义值 adct: “audi suv” // 广告内容标识 adv: “audi” //广告主名称 }) //appid 为及策为每个广告主分配的不同应用id;
二、案例:拿到数据该如何优化业务
1漏斗分析
可口可乐继昵称瓶、歌词瓶、台词瓶之后,应用小程序推出社交活动:密语瓶。这个活动的玩法是用户通过扫描小程序的二维码进入小程序页面后选择喜欢的密语,然后上传照片与密语结合后生成图片分享给好友,最终达到娱乐与传播的目的。
通过数据积累,我们构建了以下漏斗。
找到泄露的原因,也就找到优化的方法。
2表单分析
- 重填率:发现用户反复修改的表单项,计算公式:与该表单项发生>1次互动的人数/所有与该表单项互动的人数;
- 人均填写次数计算公式:该表单项的互动次数/该表单项的互动人数
- 平均填写时长:了解各表单项耗费用户的时长;
- 表单项流失率:判断流失的用户都是从哪个表单项离开的。
- 还有很多指标,比如表单空白项、填写路径等
这个表单在用户进入表单页面尝试填写到点击提交,有将近三分之二的用户离开了,我们想知道到底是哪些因素导致用户流失。
在大量数据中,我们发现了几个有意思的数据。其中一个是下图中展现的,用户在放弃填写前最后互动的表单,此图可以分析出用户是因为哪个表单项离开的。
带着对这些数据的好奇,我体验了一下表单流程,发现在选择经销商的时候表单选项中只有经销商的名称,但是我并不知道经销商的位置到底离我有多远,我还需要通过地图APP去查看经销商的位置,这样势必造成用户的重复填写和流失。
3自定义变量事件分析
我们需要在密语提交页面的提交按钮上部署事件代码,代码示例如下:
jice.track(‘mytj’, {my:‘/*密语*/’});
好了,具体的分析案例不多做介绍了。相信这篇文章可以帮助大家梳理小程序数据监测的基本方法。而案例部分,大家会发现与以往的网站分析、APP分析并没有特别本质的区别,而考验你的地方在于对业务与用户的理解以及数据的定义与解读。
本文为@运营喵原创,运营喵专栏作者。