本文详细解析了消息推送系统的工作原理、功能设计及数据监控机制,为读者提供了一套全面的消息推送解决方案的蓝图。
01 消息推送系统介绍 1. 消息的概念
1)定义
消息是信息的一种传递方式,是信息的载体。消息承载了客观的事件或主观的想法,通过一定的媒介将信息由发送方传达给接收方。
2)特点
消息具有以下特点,如图 1 所示。
图1
2. 分类
消息可从触发对象,推送机制,推送场景,展现形式等方面进行分类。
1)触发对象
2)推送机制
3)推送场景
4)展现形式
消息推送系统是一套技术服务方案,它支持消息发送方,通过各种设备终端,将消息传达给消息接收方。本章主要介绍移动设备通知栏的Push消息,及对应的Push消息推送系统。
2. 参与者
消息推送系统的参与者主要是发送方,消息服务,接收方。
消息推送系统架构由配置模块,策略模块,通道服务,展示模块,数据模块5部分构成。
各模块间关系,如图 2 所示。
图2
1)配置模块发送者在配置后台上创建并定义目标设备,消息内容,消息样式,消息策略等。
2)策略模块发送者的服务端,执行发送者制定的不同策略,构成目标设备与消息内容的消息队列。
3)通道服务
(1)设备注册
用户设备在安装应用后,会生成一个唯一的设备标识符(如FCM的Registration ID或APNs的Device Token)。
(2)标识符上传
设备标识符被上传到此应用的服务器,与用户的账户或设备信息进行关联,形成ID mapping。
(3)消息请求
当需要发送Push消息时,应用服务器会构建一个推送请求,包括目标设备标识符和消息内容。
(4)消息处理
推送请求被发送到操作系统的推送服务(如Google的Firebase Cloud Messaging或Apple的APNs),这些服务负责将消息分发到正确的设备。
(5)消息传递
推送服务通过互联网将消息下发到目标设备。这个过程会使用安全的连接和加密传输,来保护消息内容和用户隐私。
(6)消息接收
用户的设备接收到消息后,操作系统会根据应用的权限设置和用户的偏好决定是否显示通知。
(7)消息存储
在某些情况下,如果用户在收到通知时设备处于离线状态,消息可能会被存储在推送服务的服务器上,直到设备重新连接并接收消息。
(8)消息过期和撤销
推送服务支持设置消息的过期时间,超过时间未送达的消息将不再发送。此外,应用服务器也可以撤销已发送但用户尚未查看的消息。
(9)送达反馈
推送服务和应用服务器可以接收到消息送达的反馈,包括消息是否成功送达、用户是否点击了通知等信息。
4)展示模块
(1)消息展示
如果条件满足,操作系统会在通知栏展示通知,用户可以看到消息预览或图标。
(2)用户交互
用户可以点击通知,操作系统会根据应用的配置打开应用或执行特定的跳转动作。
5)数据模块
(1)下发记录
将消息下发的各个环节进行数量记录,可以计算送达率等指标。
(2)数据统计
根据发送方需求,从多种维度对消息进行统计。如分消息类型,设备系统,用户成分等。
02 消息推送系统功能设计 1. 展示模块
1)组成元素
消息一般由以下几种元素组成:icon,标题,摘要,送达时间。此外不同样式还可带有:图片,提示音,背景色,按钮等。
2)常见样式普通样式:主要由icon,标题,摘要,送达时间组成。可选择带小图片。如图 3 所示。大文本样式:摘要文本较长,有的也可带按钮,点击可进行不同的跳转动作。如图 4 所示。
图3
图4
图5
图6
图7
3)展示策略
(1)消息置顶
在一定时间内,某平台的消息会在设备通知栏进行置顶展示。
(2)折叠展示
如果某条消息被判定为不重要的消息,会被折叠展示,用户无法看到消息预览。
2. 配置模块
1)素材
消息的内容和样式需要进行配置,根据上面提到的消息的特点和组成元素,素材模块的常见功能如图 8 所示。
图8
2)计划计划的本质就是根据需要,去选择一批用户,为这批用户独立设置消息。计划模块的常见功能如图 9 所示。
(1)计划信息
(2)人群配置
(3)内容配置
(4)时间配置
(5)频控配置
图9
3)场景除了上述需要单次配置或例行配置的推送消息,还有一种是自动化的推送消息,如:发货提醒,物流提醒,到货提醒,购物车降价,会员权益等,我们把这种消息推送称为场景消息。场景消息需要对接其他系统,如:订单系统,会员系统,优惠券系统等,同时需要在push系统后台预设场景消息模板。
当用户触发了其他系统的预设条件,其他系统会将场景消息模板ID,用户ID,模板预设参数传送给push系统,由push系统套用对应模板后,完成消息推送。场景模块的常见功能如图 10 所示。
(1)场景信息
(2)内容配置
(3)频控配置
图10
4)审核(1)审核流程为了保证消息的准确无误,平台人员会分成两种角色,提交人员,审核人员。
(2)计划状态
一条计划从生产到下发,会经历不同状态,具体如下。
5)设置
(1)频控
非场景消息:可设置每天的可推送时间段,和此时间段内每个设备可收到消息的最大条数。如:8-12点,2条。表示每天的8点到12点,每个用户设备,收到的各种非场景消息条数,不能超过2条。
场景消息:可设置可发时段,如:8-24点;午休时段,如:12-14点。
(2)屏蔽
按照政策要求,某些文字不可在消息文案中进行展示,我们称这些词语为“屏蔽词”。虽然已经有审核环节,但审核也会存在疏漏,以及一些参数是变量,参数中填充的词语的第一个字或最后一个字,可能和参数外的文字组成词语,命中屏蔽词,所以需要有屏蔽词的配置模块。消息文案命中屏蔽词后,则此消息不可再推送给用户。
3. 数据模块
1)ID mapping
各种id最终需要转换成消息通道专用的ID,如Registration ID。
而平台人员圈选用户的时候,往往是用用户的账号,或各类ID,如:AndroidID,IMEI,IDFA,OAID。
为了将各类ID转换成Registration ID,需要简历一张ID间的关系表,如:每个设备用IMEI为主键进行存储,IMEI关联对应的各类ID。如表 1 所示。
表1
2)下发记录一个计划从平台下发到推送至用户设备,圈选的人群数量会在各个环节发生过滤折损,此过程需要被记录,从而观察消息下发是否正常。具体环节如下:人群包数量:平台人员提交的设备id数量。
3)数据报表
⑴目标:消息推送的目标一般是提升app的日活跃用户数,此外,电商平台还会关注交易额,新闻和短视频平台还会关注用户平均浏览时长等。
⑵指标:基于以上目标,及用户的使用体验。会从4个方面去设置指标,这4个方面是:对业务的贡献情况,消息触达影响面,用户点击意愿,用户打扰程度。用电商平台来举例。
①对业务的贡献情况:贡献程度越高越好,表示消息推送能力的重要性。
②设备触达面:设备触达的数量越多越好,所以需要监控消息下发过程中,各个环节的折损比重。
下发全部环节设备数量:即记录从“人群包数量”到“触达设备数量”的设备数。每个环节的折损数量越低越好。
③用户点击意愿:用户的点击意愿越强烈越好,表示消息推送的更准确,或者文案更有吸引力。
④用户打扰程度:尽量不让用户觉得打扰,否则用户可能会关闭消息通知。
⑶维度:即平台需要进行对比的角度,从不同的角度去拆分指标进行对比观察,有助于更好的了解消息推送情况。
①日期:可拆分自然日,自然周,自然月等维度。
②类型:可拆分素材类型 ,计划类型,样式类型等维度。
③系统:可拆分操作系统,软件版本,设备品牌等维度。
03 消息推送系统策略设计 1. 3类策略介绍
1)个性化推荐策略:在前面章节已经介绍,这里不做详述。
2)素材策略:前面章节也有所介绍,Push消息的样式主要由通道商提供,作为业务平台,制定最多的还是文案策略。
3)场景策略:核心是拓展和用户有关的场景,场景和用户越相关,用户点击意愿越强。
2. 素材策略:文案积木策略
1)场景
一个电商app的Push消息,实现了用户和商品的个性化推荐,但在Push文案上确实千篇一律的,无法让用户知道推送给自己的是什么商品。现在需要设计文案策略,提升用户的消息pv点击率。
2)分析整体流程分析电商Push文案的成分组成。
分析各种成分对用户点击意愿的重要程度。
抽取影响用户点击意愿的成分并实现自动化组合和填充。
问题分析
⑴人工推送的点击率最高的营销色彩的文案组成成分是什么?
①举例:标题是“白象 方便面”,摘要是“【红烧牛肉面整箱24袋】新人优惠5元,手慢无>>”
②通过分析,我们发现电商营销Push文案的组成成分有4种,分别是:实体,特征,利益点,营销语。
⑵用户对4种成分的点击意愿程度如何?
①通过分析发现,影响用户点击意愿程度从高到低,对4种成分排列:利益点>实体>特征>营销语。特征中3类特征的影响程度从高到低是:分类特征>统计类特征>特点特征。
②利益点的影响程度最强,说明即使不加其他成分,只是给用户发优惠券或红包,用户也很愿意点击。但此类文案需要有实际的预算支持,所以无法大面积长周期的推送。如果针对某类用户,如从未在平台购买过商品的“新用户”,商品有新用户专项的优惠价格;开通了会员的用户有会员优惠价格,可以进行使用。
③实体告诉了用户文案内容的主体是什么,所以露出商品名称即可。
④分类特征主要是商品的品牌和品类;统计类特征有很多,如“近3天浏览过万”,“近7天下单过10万”,“方便面热销榜第1名”,“超十万人好评”,“99%好评”等。特点特征需要提取商品简介的特点,如可乐的“无糖”,榨菜的“低盐”。
⑶统计类特征该如何选取?
一个商品可以从各种角度进行统计,统计类特征的本质是利用用户的“从众心理”,但并不是所有统计类特征都可以提升用户点击欲望。
为了事先得出各个统计类特征的影响程度,可以通过AB实验的方式得出。假设我们圈选了1000万对电视机感兴趣的用户,推送的商品是“非常了得”品牌的,“70英寸Z系列智能电视”。AB实验数据如表 2 所示。
表2
从数据可以看出,“近7天浏览超10万”,“xx品类榜第1名”,“近30天下单过万”的数据表现优于不加统计类特征的对照组,“超99%好评”的数据表现低于不加统计类特征的对照组。所以我们可以让程序每天自动化的统计符合“近7天浏览超10万”,“xx品类榜第1名”,“近30天下单过万”的商品分别是哪些。㈢方案针对上面的分析可以逐步设置几个独立实验,验证不同变量的数据效果。而后配置出效果最好的成分组合,作为模板,对符合不同条件的用户使用。就像积木一样,可以任意拼接组装,所以叫“文案积木”策略。
①成分展示影响实验
实验组设置如表 3 所示,对照组和实验组1可以对比“实体成分”展示影响;实验组2和实验组1可以对比“分类特征”展示影响;实验组3和实验组1可以对比“统计特征”展示影响;实验组4和实验组1可以对比“利益点成分”展示影响。
表3
②模板确定通过以上几组实验数据,确定针对不同用户群里,最优的文案模板。如针对新用户的文案模板是。标题:【商品品牌】【商品品类】
摘要:【新用户优惠折扣】【商品名称】
确定模板后,则可做成自动化的程序,在算法完成用户和商品的个性化匹配后,可提取商品的以上信息,填充在文案中,推送给对应用户。
3. 场景策略:手机复购推送
1)场景
一个生产手机的公司,有自己的官方app。这个公司有甲和乙两种手机系列,现在这个公司接入了3家二手手机回收商。这家公司希望找出有换手机意向的用户,通过push告诉这些用户,可以用旧手机的回收价及公司的补贴,加上一些费用,去换新手机。请设计一套推送方案。
2)分析整体流程找出有换机意向的用户
问题分析
通过上述整体流程可以发现,涉及到的需考虑点有:用户,手机,文案,推荐策略,频控。具体问题如下:
⑴如何定义新手机
①甲系列和乙系列,的最新一款手机,定义为“新机”。
我们需要拿到甲和乙两个系列全部手机的型号和上市时间的数据;以及只有2款,选择较少。
②app内还在售卖的手机,定义为“新机”
但甲系列中有2款手机已经上市2年半了还在售卖,这块手机其实已经不够新了。
③上市时间距今一年(365个自然日)内的手机,定义为“新机”。
一年内甲和乙两个系列上架了多款新机,选择多,时间近。
⑵如何定义旧手机
①旧手机即用户正在使用的手机。如果定义除了上述定义的“新手机”之外的均是“旧手机”,那么如果用户上个月刚购买了上架时间距今大于一年的手机,就会被划入“旧手机”定义中。但其实这是不合理的,因为用户才刚刚购买。
②所以设定刚购买此手机90个自然日内的用户不推送消息。
⑶如何找出有换机意向的用户
①可以统计出用户的平均换机周期,假设是24个月。那么用户使用的手机购买日期距今快到24个月或超过24个月的就认为有换机意向,假设定为大于等于23个月(700个自然日)。
②可以分析购买手机的用户,在购买前有哪些行为,如下单前的30个自然日内,有浏览过任一款手机的详情页。
⑷是否所有旧手机都适合收到以旧换新push
①甲系列4年前出的一款手机,有用户还在使用,回收价最高只有20元,因为价值金额太小,所以不适合给这类用户发push。
②所以需要我们定义一个阈值,比如某机型最高回收价格小于100元,则不给对应的用户推送。
⑸是否该给用户推荐和其使用手机同系列的新机
因为这个信息无法猜测得出,所以可以提前设置几组AB实验进行测试。
⑹push文案应该包含哪些元素
可以想到的元素有,新机名称,新机特性,旧机名称,旧机估价,旧机补贴,但选择哪些放在文案中,也需要通过AB实验进行测试得出。假设最终结论是以上元素全部包括效果最好。
⑺push文案中回收价格怎么写
①同一个机型的手机,会存在多种配置,由低到高,价格不同。如:A手机普通版原价2000元,A手机高配版原价3000元。
②手机回收商会让用户填写手机使用情况,如:屏幕是否完好无损等,根据用户填写结果,来给出估价。所以同一款手机,使用情况不同,回收价格也不同。如:A手机普通版完好无损回收价500元,A手机普通版屏幕有划痕回收价400元。
③同一款手机使用情况相同,但是回收商不同,给出的回收价格也不同。如:A手机高配版完好无损,第一家回收商回收价500元,第二家回收商回收价520元。
④为了避免有误导用户嫌疑,push文案编写需要严谨。如果有多家回收商针对同一部手机给了不同的回收价,则我们选取出价最低的回收商给出的手机完好无损的价格,文案表述上可以写“最高抵500元”。
⑻多久给用户推送一次“以旧换新”push
①因为“以旧换新”push,文案元素基本不变,只有旧机的回收价格,随着时间的推移,会逐渐降低,直至固定。所以过于频繁的给用户推送相同内容的push,不但无法引导用户购买新机,还可能会因为打扰用户,使用户关闭push。有以下3种方案。
②平台可以人为的定义规则,如15个自然日给用户推送一次。
③平台根据回收价格降低达到某阈值时进行推送。如设定某款手机上市180天后的最高回收价格为初始值N0,往后回收价格每低于N0的5%,即需要给用户推送消息。
④还可以考虑用户多久会遗忘此条push,用户的记忆符合遗忘曲线,公式为y=1-0.56*x^0.06,画出遗忘曲线和斜率曲线图,发现30个自然日,斜率变得平缓,表示用户已经遗忘到一定阶段。所以定下每30个自然日为用户推送一次以旧换新push。
3)方案
最终的方案是:
专栏作家
草帽小子,公众号:一个数据人的自留地,人人都是产品经理专栏作家。《大数据实践之路:数据中台+数据分析+产品应用》书籍作者,专注用户画像领域。
本文原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议。