很多人做小程序推广,第一反应是“发群、发朋友圈”。但从专业角度看,推广不是体力活,而是一套可归因、可自动化、可优化的增长系统。下面从技术实现角度,讲清小程序推广的四个核心环节,并给出可直接参考的代码。
推广的第一步不是找渠道,而是让每个渠道“可识别”。小程序启动时,可以通过 scene 和 query 拿到来源信息。
在 App.js 中统一记录启动参数:
App({
onLaunch(options) {
const { query = {}, scene } = options;
const channel = query.channel || 'unknown';
const from = query.from || '';
const track = { channel, from, scene, ts: Date.now() };
wx.setStorageSync('launch_track', track);
wx.request({
url: 'https://your-api.com/track/launch',
method: 'POST',
data: track
});
}
});这样,无论是用户扫码、搜一搜、公众号跳转,还是好友分享,你都能知道用户从哪来。后续做留存和转化分析时,才有数据支撑。
微信允许用户主动分享,但严禁诱导分享、诱导关注。专业做法是:分享按钮由用户触发,路径带渠道参数,便于追踪。
在页面中实现:
Page({
onShareAppMessage() {
return {
title: '这个工具帮你省下 2 小时',
path: '/pages/index/index?channel=user_share&from=friend',
imageUrl: '/images/share.png'
};
},
onShareTimeline() {
return {
title: '这个工具帮你省下 2 小时',
query: 'channel=timeline&from=friend',
imageUrl: '/images/share.png'
};
}
});注意:不要写“分享得奖励”“转发解锁功能”,这属于诱导分享,容易被封。合规的分享,是提供有价值的内容,让用户自愿传播。
线下门店、海报、包装袋上的小程序码,可以用 getwxacodeunlimit 生成,并带上 scene 参数。服务端 Node.js 示例:
const axios = require('axios');
const fs = require('fs');
async function getAccessToken(appid, secret) {
const res = await axios.get('https://api.weixin.qq.com/cgi-bin/token', {
params: { grant_type: 'client_credential', appid, secret }
});
return res.data.access_token;
}
async function genWxaCode(scene, page, outPath) {
const token = await getAccessToken(process.env.APPID, process.env.SECRET);
const res = await axios.post(
`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${token}`,
{
scene,
page,
width: 430,
check_path: false,
env_version: 'release'
},
{ responseType: 'arraybuffer' }
);
fs.writeFileSync(outPath, res.data);
}
genWxaCode('c=offline&s=1001', 'pages/index/index', './qrcode.png');小程序端在 onLoad 中读取:
Page({
onLoad(options) {
const scene = options.scene || '';
// scene 形如 c=offline&s=1001
if (scene) {
wx.setStorageSync('qr_scene', scene);
}
}
});这样,每个门店、每张海报都能生成独立小程序码,推广效果一目了然。
推广不能只看新增用户,还要看转化。可以用 wx.reportAnalytics 做自定义埋点:
wx.reportAnalytics('promo_convert', {
channel: 'offline',
store_id: '1001',
action: 'order_paid',
amount: 99
});更专业的做法是接入自有数据平台,把启动、分享、点击、支付等事件串成漏斗。每周复盘:哪个渠道 ROI 最高,哪个页面跳出率最高,然后针对性优化。
专业推广通常组合使用:搜一搜优化、公众号关联、线下小程序码、微信广告、私域社群。但必须遵守红线:
微信小程序推广的专业化,本质是把“拉新”变成“可追踪的实验”。用参数归因、用分享链路、用小程序码、用数据埋点,把每一次推广都变成可复用的资产。代码不复杂,难的是坚持用数据说话。从今天起,给你的每个推广渠道加上 channel 参数,一个月后你会看到完全不同的增长地图。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。