在小程序后台,微信已经提供了强大的数据分析功能,包括实时统计、访问分析、来源分析和用户画像功能,能够说对通常的数据分析已经彻底足够了,但有时应用须要作一些更加精准的数据分析,好比具体到某一个页面的分享,页面中某一个button的点击等,这时候就须要用到自定义分析功能。json
引用下官方文档:小程序
自定义分析支持灵活多维和近实时的用户行为分析,能够经过自定义上报,对用户在小程序内的行为作精细化跟踪,知足页面访问等标准统计之外的个性化分析需求。
click 点击时触发 enterPage 进入页面时触发,包括新开、后退、切换到前台都属于进入页面 leavePage 离开页面时触发,包括离开、切换到后台都属于离开页面 pageLoad 新开页面时触发,即第一次进入页面 pageUnload 回收页面时触发 pullDownRefresh 下拉刷新时触发 launch 加载小程序时触发 background 切换到后台触发 foreground 切换到前台触发 share 右上角菜单分享 switchTab 调用switchTab接口切换页面时触发
app.json
中配置的页面路径同样data
中的数据名称电商类小程序中,用户会有一个点击商品添加到购物车的动做,咱们能够对这个动做进行数据分析,如下是填写配置
的方式:数组
这个例子中,用一个动做上报“加入购物车”事件。微信
详细说一下字段值,他有以下规则:app
除此以外,还能够填写一些提供的系统属性,以“$”开头,目前支持如下属性:函数
$PAGE_TIME
用户从进入本页面到当前的时间(触发action的时间点)$APP_TIME
用户进入小程序到当前的时间(触发action的时间点)$CURRENT_PAGE
当前用户所在的页面$LAST_PAGE
上一页注:data能够为空,为空时该事件上报仅收集系统默认字段的数据
这个例子中,data有四项:post
product_id: itemID测试
product_name: itemNameui
product_price: pricespa
product_category: category
即:
事件的product_id字段,收集viewProduct页面上page实例的data中的itemID字段;
事件的product_name字段,收集viewProduct页面上page实例的data中的itemName字段;
事件的product_price字段,收集viewProduct页面上page实例的data中的price字段;
事件的product_category字段,收集viewProduct页面上page实例的data中的category字段;
以上内容表示:当用户点击 viewProduct 页面上的 .addToCart 按钮时,上报一条记录到 add_to_cart 事件,事件的 product_id, product_name, product_price, product_category 字段, 取值分别是页面上的 itemID, itemName, price, category。
填写完配置后,还要点击检查字段
。
此时会提示 add_to_cart 事件包含的具体字段,继续补充字段的名称、数据类型和备注信息。
API上报比填写配置的方式更加灵活,但这也涉及到一些代码的更改,须要发布新版本,而填写配置的方式几乎不须要更改代码,因此无需发布新版本。当咱们选择API上报
后,咱们能够设置须要上报的一下参数:
点击生成代码:
时间建立完成后,点击保存,后台就生成了一条事件记录,并有惟一的ID与它对应:
接着,咱们在小程序代码中能够插入生成的代码,以下是我在转发成功后的success()
回掉函数中提交API上报。
... // 转发成功 success: function (res) { wx.reportAnalytics('click_share', { page_path: current_page_path, from: from, }); }, ...
无论是填写配置仍是API上报,都须要在填写完配置后保存并测试。
咱们在测试事件的时候,每每要过一段时间才能接收到数据,大概1-2分钟,为了可以及时判断正确性,咱们能够在手机上的小程序应用中,打开调试,这样,每次触发事件时,都会在控制台的Log中看到[自定义分析]上报成功的字样
,点击查看还能看到更多数据,好比上报的参数等,里面的eventID
就对应事件的英文名称,能够经过这种方式快速判断事件触发是否符合预期,以下截图:
经过使用,咱们发现小程序的自定义分析功能很强大,你能够在页面上分析任何元素、任何事件,使咱们能够全方位的了解到小程序的使用状况,对数据加以分析总结,并以数据来驱动产品的迭代,提升用户留存。
参考:小程序官方文档 https://developers.weixin.qq.com/miniprogram/analysis/custom