微信小程序模板消息的3个高效触达策略与场景落地指南
微信小程序的模板消息,听起来像是老黄历里的东西,但如果你现在还在用小程序做用户通知,你大概率会遇到一个尴尬的局面:用户明明关注了你的小程序,你却没法像公众号那样随时给他发条消息。模板消息就是那个“有条件”的通知通道——它不是你想发就能发,而是必须在用户主动触发(比如支付、提交表单、订阅)之后,才能给用户推送一条预先设定好的模板。
第一次接触模板消息时,会把它和“服务通知”混为一谈。服务通知是微信支付或其他平台行为触发的,而模板消息是小程序自己的。换句话说,你得自己搭好这个发送流程。那具体怎么搭?我们从最让人头疼的“订阅授权”说起。
一、别把“订阅”当摆设:一次性订阅与长期订阅的真相微信小程序模板消息在2019年改版后,引入了“订阅消息”的概念。以前你可以在用户无感知的情况下发模板消息,现在必须用户主动点击“订阅”按钮。这里有两个坑:
一次性订阅:用户授权一次,你只能发一条消息。发完就失效,下次还要用户再点。
长期订阅:只开放给政务、医疗、教育等特定类目,普通电商、工具类小程序基本拿不到。
所以90%的小程序开发者只能靠“一次性订阅”过日子。但的做法是:在用户支付成功后弹出一个订阅弹窗,用户点“允许”后就完事了。结果第二天用户投诉:“我明明订阅了,为什么没收到发货通知?”——因为用户只订阅了一次,而你只发了一条“支付成功”的模板消息,后面物流更新、到货提醒就全断了。
正确的做法是:把订阅动作拆解到具体场景里。比如下单成功后,不要只订阅“支付成功”,而是同时让用户订阅“发货提醒”和“物流更新”。你可以用两个独立的订阅按钮,或者用一个按钮绑定多个模板ID(微信允许一次订阅最多申请3个模板)。代码里这样写:
wx.requestSubscribeMessage({
tmplIds: ['模板ID1', '模板ID2', '模板ID3'],
success(res) {
// 用户可能只勾选了其中几个
if (res['模板ID1'] === 'accept') {
// 存储该用户对模板1的订阅状态
}
}
})
注意:用户可能只勾选1个,另外2个拒绝。你的后端必须记录每个模板的授权结果,而不是笼统地存一个“已订阅”。否则后续发送时会报错“用户拒绝授权”。
二、模板消息的“发送时机”比内容更重要微信对模板消息的发送有严格限制:用户从小程序触发操作后的6分钟内,你可以发1条;如果用户主动订阅了长期订阅,则不受6分钟限制,但长期订阅很难申请。所以大多数情况下,你只有6分钟的时间窗口。
很多运营人员喜欢在用户下单后立刻发一条“感谢购买”,然后在发货时再发一条“已发货”。但问题来了:如果用户下单后5分钟你就发了“感谢购买”,那发货通知就只能等下次用户再触发操作时才能发。这导致发货延迟通知,用户体验极差。
我的建议是:把最关键的、用户最着急的那条消息放在第一时间发送。比如外卖小程序,用户最关心的是“骑手已取餐”和“即将送达”,而不是“下单成功”。那你就把“下单成功”的模板消息省掉,或者用小程序内的弹窗替代,把6分钟窗口留给“骑手出发”的推送。这样用户收到的每一条都是高价值信息。
如果你实在想发多条,可以考虑用“服务端调用”绕过6分钟限制——但前提是用户订阅的是长期模板,或者你用的是“一次性订阅”但用户在6分钟内又触发了一次操作(比如再次打开小程序)。所以有些小程序会在用户等待过程中,引导用户“再打开一次小程序”来刷新状态,从而触发第二次模板消息。
三、模板内容的设计:别让用户觉得是垃圾广告模板消息的样式是固定的,你只能修改关键词内容。但很多开发者把模板消息当成了“营销工具”,在“备注”字段里塞满促销信息。结果就是:用户投诉,微信封号。
微信官方明确规定:模板消息不能包含广告、营销、诱导分享等内容。但你可以用一些技巧让消息更有价值:
比如一个健身课程小程序,模板消息里除了“课程名称”和“上课时间”,还可以在“备注”里写上“建议提前10分钟到场热身,带好水杯和毛巾”。这不是广告,是实用提醒,用户反而会觉得你贴心。
再比如一个快递代收小程序,模板消息里除了“取件码”,还可以在“备注”里写“本包裹已存放超过24小时,请尽快取走”。这种带有时间敏感度的提醒,能有效降低用户忘记取件的概率。
另外,模板消息的“跳转路径”一定要配置。只发了文字,用户点进去是空白页或者首页。正确的做法是:在模板消息里带上page参数,比如“pages/order/detail?orderId=123”,用户一点就能看到订单详情。如果你不配跳转,用户点了消息进入小程序,发现啥也没有,下次就不会再点了。
四、避坑指南:那些让你翻车的细节坑1:模板消息的“formId”不是永久的。以前可以用formId在7天内发任意条,现在改版后formId已经废弃,必须用订阅消息。如果你还在网上搜到老教程教你用formId,千万别信。
坑2:一次性订阅的“订阅次数”会累加吗?不会。用户每次点击订阅,只产生一次发送机会。如果用户点了3次订阅,你可以发3条,但每条必须是不同的模板(或者同一模板的不同内容,但微信会去重)。
坑3:用户取消订阅后,还能收到消息吗?不能。但微信没有提供“取消订阅”的接口,用户只能在“设置-订阅消息”里手动关闭。所以如果你发现某条模板消息的送达率突然下降,很可能是用户批量关闭了。
坑4:模板消息的审核周期。新模板需要微信审核,通常1-3个工作日。如果你要上线新功能,提前一周提交模板申请,别等到上线当天才去弄。
五、一个真实案例:拼团小程序的模板消息策略我帮一个拼团小程序做过优化。原来他们的流程是:用户开团后立刻发一条“开团成功”,然后等人凑齐后再发“拼团成功”。结果很多用户收到“开团成功”后就不管了,等拼团成功时已经过了6分钟窗口,只能发第二次,但第二次用户可能已经退出小程序了。
我们改成:用户开团后不发模板消息,而是用小程序内的气泡提示“已开团,还差2人”。只有当拼团成功或即将失败时,才发模板消息。比如“您的拼团还差1人,24小时后失效”,这种紧迫感能提升拼团成功率。同时,在拼团成功的那一刻,立刻推送“恭喜拼团成功,商品已发货”,用户点进去就能看到物流信息。
这个改动让拼团完成率从62%提升到81%,而且用户投诉率下降了40%——因为用户收到的每一条消息都是他们真正想知道的。
最后提醒一句:模板消息的发送频率不要超过每天1-2条。哪怕用户订阅了100次,你一天发10条,用户也会觉得烦。微信虽然没有明文限制每日总量,但用户投诉多了,你的小程序可能会被限制模板消息能力。保持克制,比什么都重要。

