做微信小程序开发,有个东西你每天都在用,却未必真正重视——场景值(scene)。用户从哪个入口进来、点了什么按钮、扫了谁的码,全都藏在那个不起眼的数字里。搞懂它,你才能知道用户到底从哪来,以及该往哪优化。
场景值是什么
场景值是一个整数,用来描述用户打开小程序的入口路径。微信官方给每个入口分配了固定编号,比如 1001 是「发现栏小程序主入口」,1011 是「扫描二维码」,1047 是「扫描小程序码」,1089 是「微信聊天主界面下拉」。
你可以在小程序的 onLaunch 和 onShow 里拿到它:
App({
onLaunch(options) {
console.log('启动场景值:', options.scene)
console.log('query 参数:', options.query)
},
onShow(options) {
console.log('再次进入场景值:', options.scene)
}
})注意一个坑:onLaunch 只在冷启动触发一次,用户从后台切回来走的是 onShow。如果你只统计 onLaunch,会漏掉大量回访数据。
常见场景值速览
官方场景值有上百个,但日常开发真正高频的就那么十几个,下面按用途归类:
- 搜索类:1005(微信顶部搜索)、1019(聊天记录小程序卡片)、1023(聊天顶部搜索)
- 扫码类:1011(扫二维码)、1047(扫小程序码)、1048、1049(长按图片识别)
- 分享类:1007(单人聊天会话卡片)、1008(群聊会话卡片)、1044(带 shareTicket 的群聊卡片)
- 快捷入口:1089(聊天主界面下拉)、1090(长按小程序菜单)、1082(公众号菜单)
- 广告类:1043(朋友圈广告)、1053(公众号文章广告)、1092(小程序广告位)
其中 1044 值得单独提一句:它携带 shareTicket,是获取群 ID(openGId)的唯一途径,做群排行、群裂变功能时绕不开它。
场景值能帮你做什么
1. 精准归因用户来源
把 scene 上报到你的埋点系统,就能清楚看到:这周新增用户里,有多少来自扫码,多少来自分享,多少来自搜索。比只看「访问量」有意义得多。
2. 差异化承接策略
不同入口来的用户,意图完全不同。扫码进来的可能已经在线下看到了实物,分享进来的往往带着社交关系,搜索进来的目标更明确。你可以根据 scene 做不同的首屏引导:
onShow(options) {
const scene = options.scene
if ([1011, 1047].includes(scene)) {
// 扫码用户,直接跳到商品详情
wx.reLaunch({ url: '/pages/goods/index' })
} else if ([1007, 1008].includes(scene)) {
// 分享用户,展示邀请奖励弹窗
this.showInviteDialog()
}
}3. 排查异常流量
如果某个 scene 的跳出率异常高,往往说明那个入口的落地页有问题。比如从公众号菜单(1082)进来的用户大量流失,可能是菜单文案和实际内容对不上。
几个实战注意点
- scene 是数字不是字符串,比较时别用
=== '1011',容易踩坑。 - query 参数会被截断,二维码里的参数有长度限制,复杂数据建议先存后台再传 ID。
- 开发者工具的场景值可以手动模拟,编译模式里能自定义 scene,方便调试不同入口。
- 部分场景值仅安卓或 iOS 支持,跨端统计时要留意官方文档的兼容说明。
场景值不是炫技用的,它解决的是一个最朴素的问题:用户从哪来。把这个数字用起来,你的增长分析才算真正有了抓手。
下次打开小程序后台,不妨先看看场景值分布,也许你会发现一个从没注意过的流量入口。
评论 (0)
还没有评论,快来抢沙发吧~