這週「特斯拉會飛」上了新聞。10 月 15 日,特斯拉在德州發表延了好幾年的新款 Roadster。現場這台車靠風扇和冷氣體推進器,在空中懸浮、翻轉,還從好幾台特斯拉的車子上方越過去。
整理幾個重點:
- 分三個版本:Performance 是上路用,Thrust 是賽道用,Rocket 號稱可以飛,只開放邀請。
- 官網開放預約,Performance 要付 5 萬美元,Thrust 要 25 萬美元,售價還沒公布。
- 馬斯克說 2028 年量產。這台車 2017 年第一次發表時就收過訂金,之後量產時間延了好幾次。
這台車到底能不能飛上路,是另一回事。但這場發表會有一件事很值得小店參考:產品還沒做出來,就先把想買的人留下來。
小店也能做的「先收預購」
你不需要一台會飛的車,也可以這樣做:
- 新品還在打樣,先開放預購登記,看反應決定要做多少。
- 手工或限量商品,一批只做 30 份,收滿就停。
- 課程、活動名額有限,額滿就關。
預購最怕的不是沒人填,是收太多做不出來。Google 表單本身沒有「收到第幾筆就自動關閉」的功能,很多人是盯著回覆數,看差不多了再手動關。商品一熱門,一個晚上就可能超收,接下來就是一個一個私訊道歉、退款。
下面用一小段程式解決這件事。
步驟一:做好預購表單
表單的基本做法(題型怎麼選、必填、格式驗證)在這篇有完整教學:Google 表單製作教學。
預購表單建議至少有這幾題:姓名、手機、Email、品項(選擇題)、數量(限制只能填數字)。
表單說明裡要寫清楚:限量幾份、預計什麼時候出貨、怎麼付款、什麼情況可以取消。
步驟二:加上額滿自動關閉
- 在表單編輯畫面,點右上角的「⋮」,選「Apps Script」。
- 刪掉原本的內容,貼上:
const LIMIT = 30; // 限量幾份
function onFormSubmit(e) {
const form = FormApp.getActiveForm();
const count = form.getResponses().length;
if (count >= LIMIT) {
form.setAcceptingResponses(false);
form.setCustomClosedFormMessage(
'本次限量預購已額滿,謝謝你的支持!下一批開放時會再通知大家。'
);
}
}
- 把
LIMIT = 30改成你要的數量,額滿時顯示的文字也改成你自己的。 - 左側點時鐘圖示的「觸發條件」→「新增觸發條件」,函式選
onFormSubmit,活動來源選「來自表單」,活動類型選「提交表單時」,儲存並授權。 - 測試:先把數字改成 2,自己填兩次,看表單有沒有關閉。測完記得到「回覆」分頁刪掉測試資料,數字改回來,再把「接受回覆」打開。
一筆可以訂好幾份的話
上面的程式是算「幾筆回覆」。如果一個人可以一次訂 3 份,要改成加總「數量」那一題。把程式換成:
const LIMIT = 30; // 限量幾份
const QTY_TITLE = '數量'; // 數量那一題的題目文字
function onFormSubmit(e) {
const form = FormApp.getActiveForm();
let total = 0;
form.getResponses().forEach(function (r) {
r.getItemResponses().forEach(function (ir) {
if (ir.getItem().getTitle() === QTY_TITLE) {
total += Number(ir.getResponse()) || 0;
}
});
});
if (total >= LIMIT) {
form.setAcceptingResponses(false);
form.setCustomClosedFormMessage(
'本次限量預購已額滿,謝謝你的支持!下一批開放時會再通知大家。'
);
}
}
QTY_TITLE 要和表單上的題目文字一字不差。
這樣做,還有幾個要注意的地方
- 可能多收幾份。 程式是在有人送出之後才檢查數量,同一時間很多人一起填,表單關閉前還是可能多收幾筆。比較保險的做法是把數字設得比實際能做的少一點,並在表單說明寫「超過數量以填寫時間先後為準」。
- 付款要另外對。 表單只負責登記,誰付了錢、誰還沒付,還是要另外核對。
- 想即時知道有人預購。 可以讓每筆新預購自動推播到 LINE,做法在這篇:Google 表單自動推播到 LINE 教學。
預購名單,是你最好的客人名單
預購的人,是還沒看到商品就願意先填資料的人。這份名單用完一次就丟掉很可惜:下一批開放、新品上市,應該先通知他們。
這些都可以用程式接起來:預購表單接上付款狀態、額滿自動關閉、新預購通知到 LINE、名單自動整理進客戶資料,下次開賣前先發給這批人。不用一開始就換系統,從你現在用的 Google 表單和試算表改起就好。
如果你準備做預購,或已經被超收、對帳弄得很累,可以先預約 30 分鐘免費診斷,我們看過你的流程再告訴你哪一段值得自動化。
常見問題
Q:額滿關閉後,想再開放怎麼辦?
到表單的「回覆」分頁,把「接受回覆」打開。記得同時把程式裡的 LIMIT 調高,不然下一筆送出後又會被關掉。
Q:可以設定時間一到自動開放嗎?
可以。另外寫一個函式呼叫 FormApp.getActiveForm().setAcceptingResponses(true),再新增一個「時間驅動」的觸發條件,選好開放的日期時間就可以。
Q:一定要用程式嗎?
不一定。如果量不大,手動關也可以。程式解決的是「沒人盯著的時候,表單也會自己關」,熱門商品、半夜開賣,或你同時在顧店的時候最有用。