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