不会被用户关闭的推送通知,从在合适时机提出恰当请求开始,辅以清晰的偏好中心和让人感到有用而非嘈杂的消息。

烦人的通知像整天有人拍你肩膀,然后在你离开时装出一副惊讶的样子。它们会打断注意力、强求关注,而且经常不给用户任何回报。几天下来,用户会做最简单的事:把你静音。
大多数退订发生的原因很直接:消息发得太频繁、不相关,或者出现在错误时间(深夜、工作时段,或用户刚完成相关操作之后)。有时内容含糊或标题党,用户就不再信任它。如果第一条通知在用户还不明白应用价值之前就来了,那就像是在说:“你还不太了解我,但你想让我访问你的锁屏。”
关闭推送也常常是减少心理噪音的一种方式。很多人已经被邮件、社交应用和群聊淹没。如果你的应用再增加一些随机的提示,就会被归为噪声并被切断。在移动端,这个决定尤其严厉:一旦关闭,很多用户再也不会开启。
真正的目标不是一次性赢得权限,而是让权限持续数月,因为每条消息都必须配得上它的位置。
一个好的通知易于定义:它是预期的、有用的并且及时。预期意味着用户能猜到为什么会收到它。有用意味着它帮助用户完成他们在意的事情。及时意味着它在能提供帮助的时候到达,而不是系统准备好了就发。
触发退订的模式通常是可预测的:首次启动时在没有明确理由的情况下请求权限、发送无价值的“我们想你了”消息、在用户已忽略两次后重复同一提醒、为例行更新使用紧迫词、以及把营销推送和重要警报放在同一个渠道。
如果你把推送当成一种特权,用户会把它当成一种福利;如果你把它当成免费的广告位,用户会把它当成垃圾信息。
人们在认为通知会帮到他们时才会点“允许”。获得用户长期不关闭推送的最简单办法是把权限看作价值交换:你承诺具体的东西,然后持续兑现它。
在请求权限之前,用简单明了的语言说出承诺。避免模糊的表达如“随时了解最新信息”。相反,说明会收到什么、为什么重要,以及用户可以如何控制。一个好的预授权界面要回答三件事:你会发送什么(订单状态、提醒、降价、账号安全警报),会有多频繁(以及“很少”究竟意味着什么),以及他们以后如何更改(偏好、静音、免打扰时段)。
当通知与用户已有的真实目标匹配时,同意率会上升。考虑用户想要完成的事情,而不是你想要推广的内容。
人们更愿意接受那些有具体价值的通知:省钱(“价格下降”)、提醒(“您的预约还有 2 小时”)、更新(“您的配送还有 10 分钟到达”)、安全(“新设备登录”)或进度(“你达成了本周目标”)。
及早设定期望,即便这听起来不那么“有推销味”。如果你每周会发送五条消息,就说明清楚。如果只是触发式(例如发货更新),也要说明。惊喜会产生不信任,而不信任会变成退订。
在系统弹窗出现前展示一条小小的示例价值,往往比一段长文案更有效:
“示例通知:您的包裹已发出 - 预计在 15:10 到 15:40 到达。”
这一句帮助用户想象这种通知在何时为他们节省时间,也表明你不打算滥发垃圾信息。
大多数人并不讨厌通知,他们讨厌被过早打扰,在还不明白会收到什么之前就被要求授权。权限时机往往决定了用户是会持续打开推送,还是永远关闭它。
一个简单规则:在用户做出能证明兴趣的事情之后再请求。当某人保存了商品、关注了话题、预订了服务或完成了一次锻炼,他们已经向你展示了什么对他们重要。这就是提供相关更新的时刻。
一种可靠的模式是在系统权限提示之前先显示一个软请求屏(soft-ask)。长度要短且具体:他们将收到什么、频率如何、以及为什么有用。然后给出两个清晰按钮:“允许通知”和“稍后再说”。只有当用户选择“允许”时才弹出系统提示。这样可以移除突兀感并设定期望。
合适的请求时机通常是紧随某个“胜利”之后(下单、达成目标)、紧随关注或订阅之后、保存或收藏之后、设置提醒或开启跟踪之后,或开启需要更新的功能之后。
不合适的时刻是用户忙碌、焦虑或怀疑的时候。首次启动时请求是常见错误,因为此时尚未建立信任。注册流程中请求也有风险,因为用户正在填写表单、设置密码或验证信息。
如果用户拒绝,不要惩罚他们,也不要不停弹窗纠缠。要优雅地恢复:确认他们仍可正常使用应用,并在设置中与相关功能同一位置提供一个安静选项。例如:“当你保存的项目有变化时通知我”的开关,让选择显得与实际利益相关联。
举例说明:二手平台允许用户保存“8 码靴子”的搜索。用户点“保存搜索”之后,界面提示:“想在有新匹配时收到提醒吗?我们每天最多发送 1 条。”这个请求看起来是应得的,因为它与用户刚刚的操作直接相关。
好的偏好中心是你的安全阀。它能阻止用户去系统级别关闭通知,因为他们可以自行调节而不觉得被困住。
先从三项用户容易理解的控制开始:主题、频率和免打扰时段。主题让他们选择真实关心的内容。频率回答了许多退订背后的核心问题:“为什么你总是给我发这么多消息?”免打扰时段可以避免导致被彻底关闭的最常见原因:错时的提示。
保持选项精简并用平实的词语。如果你提供 20 个开关,用户不会去管理它们,他们会直接把你关掉。
目标是设置一组简短选项,例如:主题类别(订单、提醒、安全、产品更新,使用用户常用的词)、频率选项(即时、每日摘要、每周摘要)、免打扰时段(遵循设备时间的时段)、渠道选择(推送 vs 邮件 vs 应内提醒)以及暂停选项(暂停 24 小时或 7 天)。
默认值很重要。让它们既有用又不咄咄逼人。很多产品的安全默认是:重要警报开启(安全或交易状态),营销类更新关闭,必要时频率设为摘要。如果一开始就全部打开,你就是在第一天制造通知疲劳。
不要把偏好隐藏在深层设置中。把它放在用户自然会寻找的位置。
在关键操作后,提供一个小提示,比如:“想要关于此事的更新吗?”并直接引导到主题和频率选择。例如在用户下单后,让他们启用“订单状态”的推送,同时把“促销”保持关闭。
也要在账户/设置中易于找到,并在任何显示通知的地方(例如应用内收件箱附近)提供“管理通知”。如果用户感到烦躁,他们应该能在 10 秒内找到“暂停”或“减少频率”的选项,而不是去系统设置里手动关闭。
如果你用 Koder.ai 构建产品,请把偏好中心当作一项重要功能,而不是附带说明。保住一次 opt-in 比重新争取它要便宜得多。
当消息像一次帮忙拍肩而不是抢夺注意时,人们会保留通知。最不会被关闭的推送清楚地说明了它为何到达以及用户接下来可以做什么。
像人一样写:用简短、平实的词,把重要信息放在第一位。“你的报告已就绪”比“有新更新”更好。具体胜过机智。
一条通知只做一件事。如果一条通知尝试兼顾新闻、促销和提醒,它就像一则广告,会训练用户忽略你。如果有更多内容要讲,减少推送次数,把其余内容放到应用里。
个性化需要被“赚取”。基于用户明确的行为来个性化,而不是你的猜测。
例如,如果某人昨天导出了源码,发送“导出完成。你的 ZIP 已就绪”是合理的。如果你向从未表示过移动开发兴趣的人发送“今天要做移动应用吗?”,那会显得随机且让人不舒服。
紧迫性是可以的,施压就不行。真正的紧迫性会解释后果而非夸大其词:
时机比人们想象的更重要。错误时间的有用消息会变成打扰。尊重本地时间,避免常见的睡眠时段。对于工作类产品,尽量在典型工作时间内发送,除非确实紧急。
一致的结构能帮助用户学会信任你的表达风格:
针对像 Koder.ai 这样的产品:"部署失败。查看日志以重试。" 直接、与用户操作相关、也不夸大紧急性。
当消息具体、可预期且时机恰当时,用户会把通知当作产品的一部分,而不是噪音。
如果你想要用户不会关闭的推送,规划和文案同样重要。一个小而完整的计划能防止你随意发送造成疲劳。
列出你可能发送的每一条推送,包括显而易见的(订单更新、提醒)以及“可能以后再说”的(摘要、促销)。为每条起一个工作名,方便讨论。
对每条通知写明:它的用途、帮谁、以及用户看到它后应该做什么。如果你不能用一句话回答这些,那说明它可能不值得发送。
把清单分成几个用户容易理解的类别。对许多应用而言,这些类别能覆盖大部分需求:提醒(用户要求或启动的事项)、更新(等待中的状态变更)、促销(折扣、增销、营销)、安全/账号(安全警报、政策变更)、以及技巧/教育(仅在用户明确需要时)。
这些分组将成为偏好中心 UX 的骨干。用户不想面对 25 个开关,他们想要 3 到 6 个显而易懂的选择。
为每种消息定义触发条件和限制。触发回答“何时相关?”,限制回答“如何避免垃圾信息?”
一个实用集合包括:每日上限、每周上限和免打扰时间窗(例如用户本地时间的夜间不推送)。还要决定多条通知冲突时的处理:哪条优先,哪些被丢弃。
为每条通知创建简短模板:标题、正文和点击动作。像用户会描述的方式命名,而不是内部代码。"配送更新"比"SHIP_STATUS_CHANGED_V2" 更好。
这种命名规范在构建授权文案和设置时,以及客服需要解释用户收到的内容时都很有价值。
用真实的用户旅程而不是孤立的单条消息测试你的计划。模拟新用户(信任低)、回归用户(希望少惊喜)和高阶用户(高频量,需要控制)。包括一种场景:用户关闭促销但保留安全警报;以及一种场景:用户 30 天未活跃。
如果任何场景产生消息骤增、时序混乱或假设过多,就在真正请求权限前修正触发条件或收紧限制。
大多数人并不讨厌通知,他们讨厌惊喜、混乱和明显为公司利益而发的消息。最容易失去信任的做法是把一次性获得权限当成终点,而不是持续维护的关系。
常见错误是应用一打开就请求权限,因为此时用户还没有任何上下文。这会让请求显得随机,用户要么拒绝,要么接受后后悔。更好的规则是:在用户刚获得明显好处时争取第一个“是”。
另一个信任杀手是发送量。许多团队在用户同意后立即发送一连串消息试图“激活”他们,这通常会制造通知疲劳,用户下一步就是把一切关闭。如果必须在早期发送消息,保持少量、具体且与用户已经做过的操作相关。
含糊的文案也会驱动退订。像“快来看”或“别错过”这样的表达迫使用户打开应用才能知道被打断的理由。如果价值是真实的,就直说。
时机错误同样致命。如果不顾及时区,你可能会在会议、晚餐或睡眠时间打扰用户。即使一次凌晨 3 点的提示也可能让用户彻底关闭所有提醒。
最后,要让偏好设置简单。如果唯一选项是“全部”或“全部不”,那么“全部不”会赢。人们还需要一种能暂停而不是去深层设置寻找的方式。
大多数退订背后的模式是一致的:权限弹窗过早出现、在前 24 到 72 小时内消息太多、消息掩盖了要点、发送落在不合适的本地时间,且没有简单控制(暂停、免打扰、主题选择)。
例子:一个购物 App 连续三天在早上 7 点发送“重大消息!”,且没有办法在保留订单更新的同时静音促销。用户于是完全关闭了通知,包括那些有用的消息。
在发送前停 30 秒。大多数退订发生在一条让人感到意外、含糊或过于频繁的消息之后。
问自己一个问题:用户现在会期待这条消息吗?
一个订单发货时的配送更新是合理的;用户在购买后第二天收到的促销就不合理。用一个快速清单自查:
然后像陌生人一样朗读这条消息。如果价值不会立刻显现,就改写第一行。如果需要太多背景,可能就不适合做推送。
两件事会悄悄驱动疲劳:糟糕的时机和没有退出策略。本地时间比你想的更重要。你发出的 9 点在对方可能是凌晨 2 点,而一次打扰就可能丧失整个渠道。
频率上限是另一道防线。为每个类别决定一个上限(例如促销每周不超过 2 条),然后坚持执行,即便市场部门热情高涨也别突破。一旦你违反了自己设定的规则,用户会认为这种情况会持续发生。
最后,确认偏好中心包含了确切的类别。一个快速的健全性测试:如果用户抱怨,客服能否在 10 秒内准确告诉对方在哪里修改?如果不能,你在发送一条你无法负责的消息。
例子:如果有人浏览了机票,一个价格下降提醒是有用的。但同一天发送三条价格变动通知,且没有静音“价格变动”选项,即便优惠是真实的也会显得像垃圾信息。
想象一个食谱/订餐规划应用。它想要推送权限,但也知道糟糕的第一印象会导致快速关闭。
在第一次会话里,应用先帮助用户:允许他们搜索菜谱、收藏并创建简单的每周计划。没有权限弹窗。相反,它显示一条小提示:“你可以选择稍后接收提醒。”用户的注意力保持在任务上,而不是系统对话框上。
当应用赢得请求的权利时机与用户的实际操作绑定:用户收藏了 3 个食谱后,展示一个温和的界面(还不是系统权限弹窗):“想在该做饭时间收到提醒吗?请选择你想要的类型。”如果用户点“是”,再触发系统权限请求;如果点“稍后”,应用则退回并继续正常工作。
下一屏是一个简单的偏好中心,用平实的语言和合理的默认值。提供几个选项:用餐提醒(计划用餐时,每天最多 1 条)、新菜谱(每周摘要)、优惠(默认关闭)。例如,“用餐提醒:在您计划用餐的日子最多每天 1 条。”“新菜谱:每周一次。”
一周后,结果会与“启动即问”的常见做法不同。总体同意率可能较低,但同意的用户更满意。发送量更低,因为应用只会在用户明确请求该类型消息且按其选择的节奏下发送。这会导致更少的关闭行为和更少的“全部关闭”时刻。
这就是如何获得用户不会关闭的推送:把权限请求连接到用户刚获得的胜利,并确保每条消息都像他们亲自请求的一样。
把通知当作产品功能来对待:衡量结果、只改一个变量、快速学习。
从能告诉你是在赢得信任还是在挥霍信任的指标开始。不要只看打开率,你还需要关注成本面:
接着,审查问题最多的通知。寻找模式:某个类别、某个时间窗或某个模板是否导致退订。给每条通知打上简单的目的标签(订单更新、提醒、促销、安全),这样你就能回答:“每 1000 次发送中,哪类消息导致了最多的退订?”优先修复这些。
进行小规模测试而不是大改重启。每次只改一个变量:晚一点请求(在明显的成功时刻之后)、把文案改得更具体、为每类设上限、把必须知道和可有可无分开,并从更少的默认开启类别开始。
保持偏好可见且易于编辑。如果用户能快速静音某类消息,他们就不太可能去关闭所有通知。一个实用规则:任何通知都应能在偏好中心用两次点击或更少的操作修改。
如果你想快速推进,在 Koder.ai (koder.ai) 上构建和迭代权限流程与偏好中心可以帮助你快速上线改动,然后在准备好进一步整合时导出源码。
在用户表现出意向之后再请求。
合适的时机包括:用户保存了某项内容、关注了某个话题、下了订单、预约了服务,或开启了需要更新的功能。因为请求与用户刚刚完成的实际操作相关,所以更容易被接受。
一个简单的预授权界面应该回答三件事:
然后只有在用户点“允许通知”后才展示系统的权限弹窗。
不要把推送当成免费广告位。
大多数用户关闭通知的原因是频率太高、内容含糊或在错误时间出现。一条深夜或无关的消息就足够触发系统级的全部关闭。
从不会让人反感的最小集合开始:
保持简单。如果用户看到 20 个开关,很多人会放弃然后直接全部关闭。
一个安全的默认设置示例:
如果一开始把所有功能都默认开启,你就在第一天制造通知疲劳。
使用简单的结构:
示例:"部署失败。查看日志并重试。" 清晰胜过机智。
要分离它们。
把必须知道的警报(安全、订单状态、失败)与促销/营销放在不同类别。混在一起会训练用户把每条通知都当成广告,进而提高关闭率。
为每个类别设定上限并尊重本地时间。
实用的防护措施包括:
一旦你自己打破这些规则,用户就会认为这种情况会持续发生。
优雅地恢复:
让下一次请求与用户真实价值相关,而不是出于增长目的。
追踪不只是打开数。着重关注:
给每条通知打上目的标签(提醒、更新、促销、安全),这样你就能找到哪些类别导致最多的退订并优先修复。