回文章列表
資訊顧問 2026-09-10 3 min read

二手書電商的祈福式促銷邏輯:一個活動判斷跑錯期間的真實踩雷

一家二手書電商的滿件贈品活動,因為系統只用促銷起訖日判斷訂單有效範圍,導致活動結束後成立的單漏檢查、客人事後改單也追不到。這篇拆解問題根因與修法,給正在做促銷邏輯的團隊參考。

  • 促銷活動的判斷範圍不能只用活動起訖日,客人改單的時間點才是真正的邊界
  • 系統上線後才發現的規則漏洞,往往是因為當初只想「正常流程」沒想「客人亂改
  • 把檢查邏輯做成排程重算而非一次性判斷,才扛得住事後改單這種現實
二手書電商的祈福式促銷邏輯:一個活動判斷跑錯期間的真實踩雷

某家經營多年的二手書電商,主打「滿三本現貨贈限量書籤」的活動。規則單純,滿三本同批次贈品,超過就用比例湊。上線前測試都過,正式上線後卻陸續收到客訴:明明湊滿三本,贈品卻沒發;更詭異的是,昨天系統判斷正常的訂單,隔天重新檢查卻變成異常。

問題不是規則,是「範圍」

工程師一開始以為是贈品邏輯算錯,追了兩天發現規則本身沒問題,錯在「訂單檢查範圍」的定義。系統原本用促銷活動的起訖日(例如活動開始 20:00 到結束 09:00)當作判斷邊界,只要訂單成立時間落在這個區間內就檢查。

問題是,客人送單前可以自行改品項、改數量。今天湊滿三本的單,客人明天改成兩本,系統卻沒有重新掃過去已經判過的訂單,於是「曾經正常」的單就這樣被系統遺忘,贈品照樣發,庫存卻對不上。活動結束後才成立(例如客服補單、退貨後重建)的訂單,因為時間點落在促銷起訖日之外,更是直接被系統無視,完全不會被檢查到。

促銷活動的起訖日是給行銷看的,不是給系統當判斷邊界用的。

修法:每天全量重算,不信任「昨天判過就沒事」

最後的解法不是修規則,是換掉判斷的時間軸。改成「從活動實際開始那一刻起,到執行檢查的當下」為範圍,每天排程全量重跑一次,而不是隻挑當天新單看。同時把活動結束後一段觀察期也納入檢查,避免補單、改期這類「活動已結束但單子還在動」的情況被漏掉。

  • 範圍改成「活動起日 到 執行當下」,每天重算而非只看當日新單
  • 活動結束後保留一段觀察窗,晚成立的訂單一樣要檢查
  • 補上邊界測試:改場次隔天要能翻出異常、活動結束後成立的單也要能抓到

這種坑為什麼一開始測不出來

測試環境測的通常是「正常流程」:下單、成立、活動內判斷、結束。沒人會特別去模擬「客人下單後反悔改品項」「客服在活動結束三天後補一張單」這種邊角案例,但現實世界裡這些邊角案例天天發生。系統設計如果只信任「訂單成立當下的狀態」,就等於預設客人和客服都不會事後動手,這在真實營運裡是不成立的假設。

系統會照著你寫的邏輯跑,不會照著你以為的世界跑。