一文帶你徹底了解微信公眾號(hào)推送機(jī)制
本文意在幫助大家了解如何在開發(fā)模式下進(jìn)行相關(guān)消息推送,主要描述消息需求實(shí)現(xiàn)流程與注意事項(xiàng),具體的開發(fā)說(shuō)明詳見微信公眾平臺(tái)技術(shù)文檔。
一、微信公眾號(hào)消息推送定義
在開發(fā)模式下,企業(yè)消息系統(tǒng)發(fā)送圖文推送、模板消息、自動(dòng)回復(fù)、客服消息等類型的消息至微信服務(wù)端,在微信公眾號(hào)對(duì)話窗口下與用戶進(jìn)行互動(dòng)。
二、主要流程說(shuō)明
2.1 接入開發(fā)模式
首先將公眾號(hào)的APP ID等信息同步開發(fā)者,并將開發(fā)者的參數(shù)配置到后臺(tái),并開啟開發(fā)者模式。驗(yàn)證正確后即成功接入開發(fā)模式。
2.2 獲取用戶信息
獲取用戶信息是進(jìn)行消息推送最基礎(chǔ)的步驟,獲取用戶信息時(shí)需要用戶授權(quán),開發(fā)者需將微信回調(diào)的CODE值調(diào)用微信用戶信息接口替換相關(guān)信息,并進(jìn)行數(shù)據(jù)存儲(chǔ)。
2.3 消息推送
消息推送從發(fā)送發(fā)起方來(lái)劃分,分為兩種:用戶觸發(fā)推送,企業(yè)主動(dòng)推送。
關(guān)注歡迎語(yǔ)、關(guān)鍵詞回復(fù)、客服消息等用戶主動(dòng)發(fā)起并且實(shí)時(shí)互動(dòng)的消息,用戶主動(dòng)發(fā)出消息或觸發(fā)事件,微信側(cè)會(huì)將相關(guān)信息同步至開發(fā)者,待開發(fā)者處理好后推送給用戶。
主動(dòng)推送主要為群發(fā)的圖文消息等,用戶被動(dòng)接受。開發(fā)者直接調(diào)用相關(guān)消息推送接口即可,但此類消息微信有嚴(yán)格的頻率控制。
三、推送賬號(hào)
每個(gè)用戶在每一個(gè)微信公眾號(hào)下有對(duì)應(yīng)的唯一open ID,微信的推送也是以一個(gè)open ID來(lái)對(duì)應(yīng)一個(gè)用戶。
對(duì)于公司內(nèi)部來(lái)說(shuō),可能會(huì)運(yùn)營(yíng)多個(gè)微信公眾號(hào)。一個(gè)用戶同時(shí)關(guān)注了多個(gè)公眾號(hào),對(duì)于內(nèi)部運(yùn)營(yíng)來(lái)說(shuō)便產(chǎn)生了各個(gè)公眾號(hào)關(guān)注用戶關(guān)聯(lián)關(guān)系(用戶打通)的需求。微信側(cè)提供了union ID作為關(guān)聯(lián)賬號(hào),同一用戶,對(duì)同一個(gè)微信開放平臺(tái)下的不同應(yīng)用(小程序、公眾號(hào)等),unionid是相同的。因此,需將微信公眾號(hào)去微信開發(fā)平臺(tái)進(jìn)行綁定(open.weixin.qq.com)。
對(duì)于精準(zhǔn)推送來(lái)說(shuō),需要將企業(yè)內(nèi)部的customer ID與微信的open ID形成映射關(guān)系,這樣便可以根據(jù)用戶在企業(yè)自身的產(chǎn)品上產(chǎn)生的行為,通過(guò)微信公眾號(hào)對(duì)指定用戶進(jìn)行消息推送,例如信用卡還款提醒。
綁定關(guān)系的實(shí)現(xiàn)主要通過(guò)微信授權(quán)第三方登陸頁(yè)面(企業(yè)登陸頁(yè)面),在企業(yè)登陸頁(yè)面登陸后,可將企業(yè)customer ID與微信code值同時(shí)傳輸?shù)浇壎ǚ?wù),之后調(diào)用微信接口將code值對(duì)應(yīng)的open ID等信息與企業(yè)customer ID建立綁定關(guān)系。其中已關(guān)注對(duì)應(yīng)公眾號(hào)的用戶則為靜默授權(quán),無(wú)需用戶確認(rèn)授權(quán),用戶體驗(yàn)較好。
四、消息場(chǎng)景與功能實(shí)現(xiàn)
在啟用開發(fā)模式后,微信公眾號(hào)提供了企業(yè)與微信關(guān)注用戶互動(dòng)的一個(gè)窗口。本質(zhì)上,每次交互都是微信會(huì)將用戶的行為與提交的內(nèi)容傳遞公眾號(hào)開發(fā)者,等待開發(fā)者處理好后,將對(duì)應(yīng)的消息或者指令反饋給用戶。
因此,企業(yè)可結(jié)合微信與自身的能力與用戶進(jìn)行互動(dòng),推送的精細(xì)程度與靈活程度大大提高。以下為部分微信消息典型場(chǎng)景與實(shí)現(xiàn)邏輯,發(fā)送內(nèi)容形式可以是文本、圖文、圖片、語(yǔ)音、視頻等,文件要求詳見微信公眾平臺(tái)技術(shù)文檔。
4.1 關(guān)注歡迎語(yǔ)
可以根據(jù)用戶的歷史關(guān)注數(shù)據(jù)區(qū)分首次、非首次用戶,來(lái)回復(fù)針對(duì)新關(guān)注用戶的露出的特定優(yōu)惠。
當(dāng)企業(yè)的公眾號(hào)在某些渠道推廣時(shí)也可以根據(jù)不同的參數(shù)二維碼來(lái)識(shí)別關(guān)注來(lái)源,評(píng)估推廣渠道的好壞或針對(duì)不同渠道或活動(dòng)的用戶回復(fù)不同的內(nèi)容。
4.2 關(guān)鍵詞回復(fù)
當(dāng)用戶回復(fù)的內(nèi)容命中關(guān)鍵詞時(shí),回復(fù)對(duì)應(yīng)關(guān)鍵詞的內(nèi)容。
可以用在彩蛋互動(dòng)、活動(dòng)推廣、用戶主動(dòng)查詢信息等場(chǎng)景。對(duì)于關(guān)鍵詞判斷時(shí),如果關(guān)鍵詞有較多相近的詞匯的話也可組成詞組,命中其中一個(gè)便進(jìn)行消息回復(fù)。這些命中規(guī)則在消息系統(tǒng)實(shí)現(xiàn)即可。
4.3 群發(fā)消息
對(duì)于認(rèn)證訂閱號(hào),,每個(gè)月每個(gè)用戶只有接受4次主動(dòng)推送圖文等消息的機(jī)會(huì)。當(dāng)用戶數(shù)量達(dá)到一定程度,用戶需求出現(xiàn)一定差異化,企業(yè)需要精細(xì)化運(yùn)營(yíng)的時(shí)候便捉襟見肘了。
為了更好地差異化推送,可利用企業(yè)自身用戶標(biāo)簽、用戶畫像系統(tǒng)與微信群發(fā)消息結(jié)合,將用戶進(jìn)行分群推送,實(shí)現(xiàn)精細(xì)化運(yùn)營(yíng)。
4.4 智能客服
如果企業(yè)有智能問(wèn)答等相關(guān)能力的話,也可以接入微信推送系統(tǒng),這樣可以增加與微信用戶互動(dòng)的趣味性,也可用來(lái)解決一些用戶的實(shí)際問(wèn)題,提高用戶解決問(wèn)題的效率,降低企業(yè)客戶服務(wù)相關(guān)的成本。
4.5 菜單欄互動(dòng)
大多數(shù)情況下,微信的菜單欄都被設(shè)置成了各個(gè)頁(yè)面或者小程序的入口,實(shí)際上微信也提供了通過(guò)底部菜單欄進(jìn)行觸發(fā)消息事件的能力,用戶點(diǎn)擊后可回復(fù)相關(guān)內(nèi)容。
五、部分與消息場(chǎng)景相關(guān)的常用功能說(shuō)明
由于開啟了開發(fā)者模式,微信公眾平臺(tái)上的某些功能(菜單配置、自動(dòng)回復(fù)設(shè)置)便不可使用,或者微信提供了更好的精準(zhǔn)推送的能力,需要微信公眾號(hào)的開發(fā)者利用微信公眾平臺(tái)提供的相關(guān)接口進(jìn)行自行實(shí)現(xiàn)。
5.1 菜單配置及其差異化
微信公眾平臺(tái)上的菜單欄配置在開發(fā)模式下會(huì)失效,因此微信推送系統(tǒng)需要提供此功能便于日常運(yùn)營(yíng)。當(dāng)然,每個(gè)人看到的菜單欄也可以是不一樣的,比如開過(guò)本行信用卡的用戶再開第二張的可能性較低,因此可釋放出申卡菜單欄進(jìn)行其他資源投放。差異化的菜單欄展示可以通過(guò)微信的自定義菜單相關(guān)接口實(shí)現(xiàn)。
5.2 生成帶參數(shù)的二維碼
帶參數(shù)的二維碼主要用來(lái)做渠道區(qū)分,其中一個(gè)場(chǎng)景可以應(yīng)用于個(gè)人用戶的裂變,生成專屬邀請(qǐng)碼,不過(guò)要注意微信側(cè)對(duì)于永久、臨時(shí)二維碼的限制。
5.3 用戶標(biāo)簽與素材管理
用戶標(biāo)簽主要是將企業(yè)對(duì)用戶的分群數(shù)據(jù)打標(biāo)到微信用戶上,實(shí)現(xiàn)差異化推送、差異化菜單的基本能力。
素材管理也是消息回復(fù)中常涉及到的部分功能,將圖片、語(yǔ)音等素材文件提交至微信側(cè)。
六、其他重點(diǎn)及避雷說(shuō)明
6.1 access token有效性
access token是公眾號(hào)的全局唯一調(diào)用憑證且有效期目前為2個(gè)小時(shí),需要定時(shí)刷新,每日調(diào)用次數(shù)限制2000次以內(nèi)。刷新后,前一個(gè)token將會(huì)失效。特別需要注意的是,如果當(dāng)企業(yè)內(nèi)部有多個(gè)團(tuán)隊(duì)或者多個(gè)場(chǎng)景需要使用access token時(shí),不要各自去對(duì)接微信,要建立一個(gè)唯一對(duì)接者,然后對(duì)內(nèi)部需求進(jìn)行分發(fā),避免互相將token置失效,若沒有良好的重試控制機(jī)制,瞬間浪費(fèi)調(diào)用額度。
6.2 存量用戶數(shù)據(jù)初始化
對(duì)于大多數(shù)微信公眾號(hào)接入開發(fā)模式前,已經(jīng)運(yùn)營(yíng)了一段時(shí)間,積累了一定的用戶數(shù)量。在接入開發(fā)者模式之后,對(duì)于存量用戶需要進(jìn)行數(shù)據(jù)初始化,需從微信側(cè)獲取必要信息并記錄,避免后續(xù)消息推送無(wú)法覆蓋存量用戶。
6.3 公眾號(hào)遷移
賬號(hào)遷移需要一定費(fèi)用并且會(huì)在遷移時(shí)通知用戶,用戶有是否取關(guān)的權(quán)利。對(duì)于遷移造成的用戶open ID變化要做好替換,避免出現(xiàn)由于遷移導(dǎo)致長(zhǎng)時(shí)間無(wú)法推送的事故出現(xiàn)。
6.4 接口權(quán)限獲取
對(duì)于以上提到的各種功能并不是每一個(gè)公眾號(hào)都是具有相關(guān)的接口權(quán)限的,贏在接入開發(fā)模式之前將相關(guān)接口的權(quán)限獲取好,避免權(quán)限不夠?qū)е虏荒芷椒€(wěn)接入,對(duì)研發(fā)工作和用戶造成影響。相關(guān)的權(quán)限可以在微信公眾平臺(tái)——開發(fā)——接口權(quán)限模塊進(jìn)行查看。
6.5 接口調(diào)用頻率限制
微信的一些接口在調(diào)用上是有一定限制的,一定要事先了解并且在微信消息推送系統(tǒng)做好相應(yīng)的調(diào)用控制,避免出現(xiàn)不合理調(diào)用造成額度浪費(fèi),無(wú)法進(jìn)行用戶推送。詳細(xì)限制在微信公眾平臺(tái)——開發(fā)——開發(fā)者工具——開發(fā)者文檔——接口調(diào)用頻次限制說(shuō)明。
6.6 小程序?qū)Я?/h3>
目前公眾號(hào)底部菜單欄可以進(jìn)行關(guān)聯(lián)后的小程序的設(shè)置,或者通過(guò)回復(fù)超鏈接的形式(體驗(yàn)不是很好)。直接回復(fù)小程序卡片的功能微信側(cè)還未開放,但可通過(guò)客服消息功能實(shí)現(xiàn),需認(rèn)證后公眾號(hào)具有客服消息權(quán)限及關(guān)聯(lián)過(guò)小程序。當(dāng)需要推送小程序時(shí),調(diào)用相關(guān)客服消息接口。
6.7 數(shù)據(jù)分析
任何的消息觸達(dá)都需要進(jìn)行數(shù)據(jù)分析,發(fā)送、觸達(dá)、點(diǎn)擊,轉(zhuǎn)化等數(shù)據(jù)是必不可少的。在微信公眾號(hào)的場(chǎng)景下,更有菜單欄的點(diǎn)擊、用戶關(guān)注、取消、消息閱讀量等數(shù)據(jù)來(lái)衡量公眾號(hào)的運(yùn)營(yíng)情況。在微信消息系統(tǒng)產(chǎn)品設(shè)計(jì)時(shí),便需要將相關(guān)數(shù)據(jù)采集、統(tǒng)計(jì)分析。
七、小程序服務(wù)通知說(shuō)明
小程序場(chǎng)景下,用戶更多是集中在小程序功能上,消息互動(dòng)僅僅是其中一塊非常小的模塊,但對(duì)于小程序運(yùn)營(yíng)者來(lái)說(shuō),利用好服務(wù)通知也是可以提升小程序活躍度的重要手段。
小程序的服務(wù)通知會(huì)在用戶的聊天列表專門有一個(gè)“服務(wù)通知”對(duì)話,收納各種小程序的服務(wù)通知。其中特別值得注意的是,小程序有一個(gè)form_id的概念,當(dāng)用戶在小程序內(nèi)發(fā)生過(guò)提交表單行為且該表單聲明為要發(fā)模板消息時(shí)或用戶在小程序內(nèi)支付時(shí),產(chǎn)生一條form_id,有效期為7天且不可重復(fù)使用。開發(fā)者在下發(fā)服務(wù)通知時(shí)需要提交有效的form_id。
八、寫在最后
- 遵守規(guī)則,以用戶為中心,避免封號(hào)產(chǎn)生重大影響。
- 微信提供了許多基礎(chǔ)功能,可將多個(gè)功能或結(jié)合企業(yè)自身的能力組合形成一種新的互動(dòng)的方式,例如根據(jù)生成參數(shù)二維碼、自動(dòng)回復(fù)形成用戶可自行裂變邀請(qǐng)的功能。
- 對(duì)于某些場(chǎng)景的限制要做到深入了解,避免某些業(yè)務(wù)場(chǎng)景達(dá)到了微信接口調(diào)用次數(shù)限制后出現(xiàn)問(wèn)題,需了解各接口調(diào)用頻次說(shuō)明。
- 一切功能實(shí)現(xiàn)基于微信公眾平臺(tái)能力,需并且經(jīng)常回顧平臺(tái)規(guī)則并且關(guān)注更新。
- 消息推送只是微信公眾號(hào)生態(tài)下一個(gè)消息的模塊,市面上已經(jīng)有各種各樣的針對(duì)微信的運(yùn)營(yíng)工具,可根據(jù)自身需求評(píng)估,是否需要自己獨(dú)立開發(fā)。
- 以上寫的只是第三方公司有公眾號(hào)消息推送需求的基本經(jīng)驗(yàn),最重要的還是多了解微信公眾平臺(tái)的開發(fā)者文檔。
以上內(nèi)容為個(gè)人經(jīng)驗(yàn)總結(jié),歡迎討論指正。
相關(guān)閱讀
本文由 @卓別木 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
寫的特別詳細(xì),謝謝
“對(duì)于認(rèn)證訂閱號(hào),,每個(gè)月每個(gè)用戶只有接受4次主動(dòng)推送圖文等消息的機(jī)會(huì)” 此處應(yīng)該是服務(wù)號(hào)吧?訂閱號(hào)一天不是一次嗎?
棒