手動發券與批次發放
挑人/標籤篩選/全體、防重複、獲獎通知
- 核心營運 > 會員經營 > 優惠券管理
功能說明
「促銷活動」類的券可以由你主動挑對象發送:單選、多選、用標籤篩選後多選,或一鍵發給全體會員。發送後券馬上進到會員的優惠券錢包;如果券範本有開「獲獎通知」而且會員有綁 LINE,會同時推播一張優惠券卡片給他。
系統內建防重複:已經持有同一張券「還沒用、也還沒過期」的會員會自動跳過(已使用或已過期的可以再發),所以重按發送不會讓會員疊到兩張一樣的券。
這頁能做什麼(功能總覽)
- 自動防重複:手上還有同一張券「沒用完、沒過期」的會員自動跳過,重按發送也不會疊券(系統內建,不用設定)。
- LINE 推播券卡:券的「獲獎通知」有開、而且會員有綁 LINE 時,發券當下同步推一張套你店主題色的券卡。
- 發送結果:發完會跳提示告訴你發送成功;被跳過幾人、推播成功幾則,系統有記錄,需要時可以請客服查。


詳細介紹
到 自動化行銷 的「自訂標籤」頁籤點某個標籤開詳情,按「發送優惠券」先挑一張券(選券清單每張都標「會通知 / 不通知」),接著會進到這個畫面:
- 可再用系統標籤縮小「第二層篩選(系統標籤,可選)」再挑系統標籤,只發給同時符合的人畫面上方
- 符合條件幾位即時算出這次會發給幾位會員「符合條件 N 位會員」
- 這張券會不會推 LINE顯示「此券獲獎通知:已開啟 / 未開啟」和切換開關;沒開時會提醒你券會直接發進會員帳,但不會推播 LINE 通知。注意這是這張券的全域設定,切換後其他發放路徑也會跟著套用通知狀態區塊
- 按下會再確認一次按「確認發送 (N 人)」會先跳確認框,按確認才真的發(視窗底部)。
操作步驟
1打開發送視窗
2找人或篩選
- 搜尋框「搜尋姓名或手機號碼...」,輸入後停一下就會自動查詢。
- 漏斗按鈕打開「以標籤篩選會員」面板分「系統標籤」與「自訂標籤」兩區,可以多選;選多個標籤時是同時具備才算(會員必須每個選到的標籤都有)。按「清除全部」重來。
3勾人
4確認發送
出現確認框「確認發送優惠券」:「即將發送『{券名}』給 {N 位會員 / 全體會員}。此動作無法復原,確定要繼續嗎?」,按「確認發送」執行。(畫面見上方「發送與防呆」分頁)
前置條件與依賴
- 帳號要有優惠券管理權限。
- 只有「促銷活動」類的券可以手動發送(新好友禮 / 生日禮是系統自動發的)。
- LINE 推播走你自己的 LINE 官方帳號(見 LINE 整合設定),會用掉你官方帳號的訊息額度。沒設定 LINE 一樣可以發券(顧客到會員中心看得到),只是不會收到推播。
- 標籤篩選用的標籤說明見 系統自動標籤與分眾。
- 想「定期自動發」而不是一次性手動發,改用「自動化行銷 > 建立活動」(自動化行銷(建立活動))。
常見問題與排查
Q1:選了 20 人,為什麼只發出去 12 張?
最常見原因:其餘 8 人手上已經有同一張券「還沒用、也還沒過期」,被防重複機制自動跳過了。已使用或已過期的會員才會拿到新券。想確認可以到那幾位會員的優惠券錢包看,他們身上還掛著那張券。
Q2:券發成功了,但顧客說沒收到 LINE 通知?
照這四個條件依序檢查:
- 到 優惠券管理 點那張券的鈴鐺,看「獲獎通知」有沒有開。
- 到 商家資訊 的「LINE 整合」分頁,確認 LINE 整合已完成(金鑰欄位都顯示綠勾「已設定」)。
- 到會員資料看這位顧客有沒有綁 LINE(現場建立的臨時客、從舊系統匯入的會員通常沒有綁)。
- 到 LINE 官方帳號後台看當月訊息額度是不是用完了(額度用完時 LINE 會拒發)。
- 注意推播失敗不影響發券本身,券還是在會員的「我的優惠券」裡。
Q3:怎麼確認剛剛那批發送的名單?
這頁的手動發券沒有發送紀錄頁,想確認可以抽幾位會員,到他們的優惠券錢包看有沒有剛發的那張券。如果券是「自動化行銷」的自動活動發的,到「建立活動」頁籤展開那檔活動、切到「發送紀錄」分頁,就看得到每一批發送的完整名單(可搜尋姓名 / 電話、點名字直接開會員詳情),見 自動化行銷(建立活動)。
Q4:發錯券了怎麼辦,可以收回嗎?
優惠券管理頁沒有「收回單張已發券」的功能。可行做法:請顧客不要使用(券過期自然失效);或刪除券範本會讓已領的券無法使用(影響所有領過這張券的人,副作用大,見 優惠券建立與規則 Q9,慎用)。單張券的移除目前只能請平台方處理。
Q5:發送視窗的會員清單為什麼比會員管理頁少?
視窗有搜尋跟篩選:只要搜尋框有字、或有勾標籤,就只會顯示符合的人;把搜尋框清空、標籤按「清除全部」,就回到全部會員。另外標籤篩選面板只會出現「已啟用」的標籤,被停用的系統標籤不會出現在面板裡。
API / 資料流速查
- 端點
POST /api/merchant/coupons/send,payload{ templateId, memberIds: string[] | 'all' },權限coupon.manage。 - 流程查範本(含租戶主題色)→ 查
tenant_line_config(token + liff_url)→ 解析對象 → 撈既有member_coupons過濾有效持券者 → 批次 insert 快照 → 逐人推播(失敗不中斷、只計數)。 - 回傳
{ success, count, skipped, pushed }。前端 toast 只報成功與否,skipped 細節需查 DB。 - 推播卡片
sendCouponIssuedCard,內容含券標題、折扣(定額 $N / N 折 / 免單)、描述、到期日(永久顯示「永久有效」)、店名,按鈕連到商家 LIFF / 公開站優惠券頁。
member_coupons 寫入欄位速查(發送當下快照)
| 欄位 | 值 |
|---|---|
| tenant_id / member_id / coupon_template_id | 對象與來源 |
| status | 固定 unused |
| expires_at | 今天 + valid_days(台北 23:59:59);valid_days=0 → NULL 永久 |
| title_snapshot | 範本標題 |
| discount_type / discount_value | 折扣快照 |
| min_amount | 低消快照 |
| target_rules_snapshot | 適用規則 JSONB [{targetType, targetId}] |
給客服的話術重點
- 「發出去的張數 = 選的人數 − 已持有效同券的人數」,少發不是漏發。
- 「發券成功」與「LINE 通知成功」是兩件事,分開排查。
- 「同一張券範本重複發送很安全」,防重複讓你不會把顧客的錢包塞爆。
- 要對「符合某條件的人持續自動發」,別天天手動發,改用自動化行銷活動。









