實例分享:優惠券功能全流程拆解
在之前的文章里,作者針對營銷工具之拼團活動的前后端做了一個簡單的實例闡述。本篇文章主要是針對營銷工具之優惠券的前后端的流程做一個分享,希望能夠對大家有所幫助~
在國內電商網站中,優惠券是市面上最常見且適用范圍比較廣泛的促銷模式。各大電商平臺通過發放優惠券以達到拉新、促活,提高客單價以及客單量的目的。
一、理論篇:優惠券的類型
先看一張圖吧,根據使用門檻和使用場景的不同,優惠券可以分成以下多種分類。
二、設計篇:優惠券的前后端設計實例
優惠券一般是根據優惠券的生命周期來設計的,優惠券主要分為:制券–發券–用券–統計等各階段。
下面以一個滿減券的生命周期來給大家詳細講述優惠券的全流程設計。在講解實例之前,我們先對優惠券活動的生命周期,以及已領取優惠券的生命周期達成一個共識,方便后面對實例的理解。生命周期的定義如下圖所示:
1. 后臺設計實例
1.1 制券:優惠券的創建
設置優惠券活動時,一般分2個部分設置:基礎信息設置以及活動商品的設置。
(1)基礎設置一般包含以下信息:
1)用戶類型:
常見的有普通券和新人券2種類型。
- 普通券:指全部用戶可用的優惠券。
- 新人券:指新用戶可用的優惠券。
2)優惠類型:
如上文所述,優惠券類型分為滿減券,打折券,現金券,運費券,以及兌換券等等。
3)優惠券名稱:
根據活動參與的時間段或者目的的不同,根據具體活動情況直接設置優惠券活動名稱,以便區分不同類型的優惠券,也更易于活動的管理。
4)發放總量:
即發行量,此活動計劃發放的優惠券總數量。
5)使用門檻:
此處以滿減券為例,需要設置優惠券滿減使用門檻。
6)優惠內容:
即優惠券面值。
7)用券時間:
即優惠券的有效使用時間,用券時間有2種形式:
- 絕對時間:即設置具體的固定時間段,
- 相對時間:即設置領取之日后多少天內使用有效。
8)每人限領次數:
支持限制用戶的領取次數,比如,每人整個周期內可以限領X張,或者每人每天可以領取X張。
9)其他活動是否支持參與使用優惠券:
當平臺有多種促銷模式時,必然會出現互斥和疊加的情況,一般情況下相同類型的促銷模式互斥,不同類型的促銷模式可疊加。此處主要是針對其他促銷活動與優惠券活動的的互斥和疊加的配置按鈕。
(2)活動商品設置:
支持3種模式:全部商品可用,指定商品可用以及指定商品不參與,后兩者選項主要是以SPU維度選擇商品。
(3)活動管理
優惠券創建成功后,優惠券列表對應新增一條活動記錄。活動的管理即是對活動狀態的管理,優惠券活動的狀態有:未提交,未開始,進行中,已結束,已終止5個狀態。
活動狀態定義
1.2 發券:優惠券的發放
優惠券有2種領取方式:
- 主動領取:用戶自己手動點擊領取的情況,
- 被動領?。合到y主動發送給用戶,
此處在我們前面說的系統設計中沒有體現,是因為直接做成了隱藏邏輯,普通券的都是以主動領取的方式處理,新人券是被動領取的方式處理??梢愿鶕嶋H業務做成可配置項,靈活性會更高。
1.3 用券:優惠券的核銷
優惠券核銷的含義是優惠券被使用并且對賬完成。
前端核銷主要體現在用戶端下單使用的正向流程,以及用戶下單后取消或退款的逆向流程中,前端詳細請參考下文優惠券訂單處理的正向流程和逆向流程說明。
后臺核銷主要是針對各個場景下優惠券碼的核銷處理。如下圖所示:
1.4 統計:優惠券的數據統計
主要統計優惠券的發放數量,已領取數量,剩余數量以及使用數量。通過對優惠券使用的數量,整場優惠活動的訂單數,訂單金額,以及優惠總金額等數據的分析,可以統計優惠券對應的客單價,復購率等信息。
2. 小程序前端設計實例
上面我們從實操角度,對優惠券功能的后端整體流程進行了梳理,當后臺系統發起一個優惠券活動時,小程序前端同樣也需要有對應的功能去做支撐,從而形成閉環。
通常小程序前端需要以下幾支功能去支撐優惠券的運行:活動入口、優惠券列表、商品詳情頁的展示和交互、購物車和訂單展示及結算層面、訂單管理、退款管理、以及我的優惠券。
相對其他活動來說,優惠券在央視展示和交互方面要簡單,主要邏輯還是集中在商品詳情頁以及購物車頁面,對商品相應的可用優惠券的推薦,以及訂單結算時可使用最大面額的優惠券計算及推薦。
2.1 活動入口
- 若領取方式為被動領取的情況下,支持系統以推送彈框的形式,在用戶進入小程序時直接推送領?。?/li>
- 首頁Banner廣告位指定跳轉優惠券列表頁面;
- 首頁優惠券展示位;
- 商品詳情頁&購物車頁面&個人中心-我的優惠券,根據頁面引導進入可領取優惠券列表;
2.2 商品詳情頁&購物車的展示和交互
若有符合商品詳情頁商品的優惠券,或者購物車有符合加購商品的優惠券,均展示優惠券項,并支持點擊跳轉到領取優惠券頁面,引導用戶領取可使用優惠券。
2.3 訂單結算頁的最大金額可用優惠券計算并推薦
若有符合商品詳情頁商品的優惠券,或者購物車有符合加購商品的優惠券,均展示優惠券項,并支持點擊跳轉到領取優惠券頁面,引導用戶領取可使用優惠券。
三、流程篇:優惠券訂單處理的正向和逆向流程說明
下圖是用戶使用優惠券下單的正向流程圖,以及付款后申請退款的逆向流程圖。因業務原因,發貨后的退款以及退貨退款,不在系統層面體現,故此流程僅供付款后發貨前,發起的僅退款類型有參考意義。
1. 優惠券訂單處理的正向流程說明
正向流程也就是優惠券核銷的過程,優惠券的核銷流程發生在訂單結算頁,用戶在使用優惠券時,系統會按照以下邏輯進行優惠券核銷操作:
- 優惠券的使用需要實時查詢優惠券的基本信息,保證用戶的下單體驗;
- 在訂單結算頁面,系統需要計算出用戶全部可用優惠券列表中,當前訂單的可用優惠券;
- 若有多張可用優惠券時,系統需計算并默認選中可抵扣金額最高的優惠券;
- 市面上有部分優惠券是支持疊加使用的,故當出現有優惠券疊加邏輯時,同樣需要在小程序前端給到用戶相應的提示;
- 當提交訂單時,訂單則綁定優惠券,記錄訂單與優惠券的關聯關系,且標記優惠券為已使用狀態。
2. 優惠券訂單處理的逆向流程說明
優惠券的逆向流程也就是指優惠券的返還機制,有2種場景:
- 售前退券:指用戶提交訂單后訂單待支付時,用戶手動點擊取消訂單或者超時未支付,系統自動關閉訂單的情況;
- 售后退券:指訂單提交并支付訂單后,發起的僅退款或者退貨退款申請,售后完成關閉訂單的情況。
逆向流程的設計,則要求系統在提交訂單時,需要把優惠券的優惠金額,按一定規則分攤到各個商品SKU維度,以支持部分退款時退款金額的計算。
1)售前退券說明:
此場景下,需要根據訂單是否被拆分,決定優惠券是否返回。若訂單未被拆單,即訂單全部退款時,支持優惠券返還;若訂單拆單,但用戶取消部分子訂單時,僅返還對應的金額,不返還優惠券。
2)售后退券說明:
此場景下,以下兩種處理方式均是合理的:
- 遵循訂單全額退款時,優惠券返還;訂單部分退款時,優惠券不返還原則。若訂單未被拆分,則訂單全部退款時,支持優惠券返還;若訂單拆單,但用戶發起部分子訂單的售后申請,僅返還對應的金額,不返還優惠券
- 售后統一設置成不可返還,訂單支付后,用了就不退。
四、異常篇:異常情況處理方式說明
喚起支付后或找人代付后,不做校驗,若在喚起支付或找人代付后,到支付成功前(以下稱“此過程”),出現以下2種情況的解決方案:
- 此過程中優惠券活動時間已結束——支付成功,訂單為待發貨狀態
- 此過程中優惠券活動時間已結束——未完成支付,訂單保留待付款狀態30min,30min內支持以使用優惠券券后價格支付;30min后訂單自動關閉(即已綁定優惠券的待支付訂單,此處不做校驗,即使已過有效期,仍可使用)。
關于現金券的使用,一般來說現金券是無門檻的直接抵扣訂單金額的,那么當現金券>訂單支付金額時的場景,需要注意。通常采用的方式是提示用戶,并由用戶確認是否使用,若使用,則此現金券被置為已使用狀態,剩余余額部分后續訂單也不支持繼續使用。
運營層面,當優惠券活動被強制終止時,僅不支持用戶端繼續支持領取此優惠活動發放的優惠券,但是終止前已被用戶領取的優惠券依然可以使用。若需要終止前已被用戶領取的優惠券不可以,需要進入優惠活動的碼庫,將所有未使用的優惠券作廢掉。
以上是本次優惠券的分享內容,篇幅較長,感謝閱讀!
#相關閱讀#
作者:shirly ,公眾號:小小何小廚
本文由 @shirly 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于 CC0 協議
文中應該加入當多件商品,滿足不同或者跨度不一致的多張優惠券的時候,應該怎么處理優惠券使用問題
太棒了
好詳細啊你這個
請問下,如果下單是優惠券進行了分攤,但是退款時進行的拆單,這種情況下優惠券的退還或訂單金額的退還應該怎么處理呢?
舉例:一張滿100減50的優惠券,用在了一個訂單上(A商品90元,B商品60元,各分別分攤了30元,20元的優惠金額)。
然后,退了A商品,不退B商品。
問題:此時,應該怎么給該訂單的用戶返回優惠券或退錢呢(具體退多少)?
我個人覺得只要退款拆單了就不退優惠劵,甚至 全單退款優惠劵頁不給予退還
全品類無門檻券可以考慮設計成以積分形式退還,其他情況我理解部分退的場景下不退券,全部退的情況下退還券
請問流程圖是什么軟件做的,很好看
Visio
想詢問下是否了解優惠券功能背后的支付業務流程呢,可以討論下就好啦
為什么我看不到文章啊
可以查看公眾號:小小何小廚
可能是直接從公眾號導入到人人的,這篇好像有時候圖片不可見
不錯
謝謝
優惠券返還的處理邏輯是怎樣的,給用戶重新發一張新的一模一樣的卡券么?
大佬,有沒有微信啥的,我們討論下呀
hst19931109
你好,我也想問這個問題
狀態的變更即可。用戶視角洗下:【已使用】變更為【未使用】
干貨滿滿~
謝謝