跳至主要内容

讀者信箱這條路 — 從一個想法到一整套系統

2026.02.24

一個讀者信箱的背後,
是寶店長想跟每一個人好好說話的心意。

開一間店,不難,
好好對待每一個人,那並不容易。


起心動念

靈食雜貨舖開張後,
寶店長一直在想一件事:

雖然寶店長的最終理想是一間實體店面,
但現在虛擬店面先將就著吧。
然而,
讀者看完文章後,有話想說,要怎麼說?

留言區?
太公開了,有些話只想私下講。
而且技術層面有點高,還要找後端存放資料庫。

Email?
是個辦法,但門檻似乎有點高。

社群私訊?
這好像不是個可以深入講話的地方,
而且寶店長還不紅,
還沒心力經營社群。

我想要一個地方,
讓讀者可以很輕鬆地,
跟寶店長說說話。

就像雜貨舖的櫃檯一樣,
你走進來,想聊就聊,
不想聊也沒關係,看看就走。

但如果你想說什麼,
寶店長一定在。

開始,就是這樣的想法。


第一個問題:用什麼接收?

寶店長不是工程師,
所以一開始想的很單純—

「弄個表單,讓讀者填一填,我收到就好了。」

Google 表單?
我自己會想填寫嗎?

嵌入 iframe?
那又是什麼?
我搞不清楚,但好像不能自訂樣式。

那自己做一個看起來很美的表單頁面?
可以是可以,但資料要存在哪?

跟 Claude 討論了一下,
Claude 建議用 Google Sheet 當資料庫
搭配 Google Apps Script 當後端

「哇,這是什麼東西啊?」
(我只不過開間店,真的要變維修工了。)

Claude:
「簡單說,你在 Google Sheet 上寫一段程式,
它就會自動接收網站送過來的資料,
存到你的試算表裡。」

「免費嗎?」

Claude:「免費。」

「那就它了。」

很多時候,選擇工具的理由,
就是這麼樸實無華。


設計表單:寶店長也會想用的表單

接下來要想的是—
讀者來這個頁面,到底想做什麼?
如果是寶店長自己,會想要怎麼用?

跟 Claude 一來一回討論了好幾輪,
最後定出四種類型:

類型做什麼
❤️ 訂閱週報想收到寶店長的週報
📖 回應文章對某篇文章有感觸,想跟寶店長分享
🫧 聊天就是想跟寶店長聊天
💡 建議客訴給雜貨舖建議或發牢騷

四種類型,對應四種心情。

而且可以複選—
你可以同時訂閱週報,又回應文章,又想聊天。

寶店長就是這樣想東想西,想面面俱到,什麼功能想得到的,都給它放進去。


表單的流程設計

這裡花了最多時間思考。

一開始的想法是:
一頁全部攤開,讓讀者從頭填到尾。

Claude 說:「這樣讀者一打開,看到一大堆欄位,會直接關掉。」

「也是。我自己看到長表單也會關掉。」

於是改成了多步驟流程

Step 1:先認識你(Email + 稱呼)

Step 2:你今天想做什麼?(複選類型)

Step 3+:依序填答每個類型的內容

送出!

每一步只看到那一步的東西,
不會被嚇到。

做這個還真不簡單,
還要考慮到人性。

還加了進度指示器(就是上面那排數字圈圈),
讓讀者知道自己走到哪了。

使用者體驗這件事,
自己用的時候不會想太多,
但幫別人設計的時候,處處都是學問。

以後填寫表單時,真的要讚嘆人家的用心。


稱呼的設計:一個小巧思

表單第一步要填稱呼。

一開始只有一個文字輸入框,
但後來覺得,有些人可能不想透露名字。

於是設計了選項:

  • 「稱呼不重要,看寶店長隨意!」
  • 「寶店長可以稱呼我為『貴客』!」
  • 或者自己填

連稱呼都要替讀者想好退路。

因為寶店長知道,
有些人光是要開口說話,
就已經很勇敢了。

寶店長到現在,也是很害羞,不知道怎麼介紹自己。
所以,寶店長懂。


訂閱的那些選項

訂閱週報的問卷裡, 問了「為什麼想訂閱」:

  • 寶店長實在太可愛了!
  • 寶店長實在太幽默了!
  • 寶店長實在太囉嗦了!
  • 寶店長實在太用心了!不支持不行!
  • 寶店長經營的靈食雜貨舖實在令人太有啟發了!
  • 沒有什麼原因,就是想訂閱。

寫這些選項的時候,寶店長非常開心呢。

做一件自己也熱愛喜歡的事,
全世界才會被你感染到呢。


回應文章:讀者投書

「回應文章」這個類型,
是寶店長最期待的。

因為寫文章是單向的,
你不知道文字到了另一端,
被怎樣的人讀到,
產生了怎樣的感受。

所以這個區塊的設計很簡單:

  1. 哪篇文章觸動了你?
  2. 請務必跟寶店長分享心得感受!
  3. 額外選項:請寶店長回信 / 允許分享

寶店長衷心希望,
大家真的很真實地回饋心得,
那是最寶貴的內容了。


聊天:來者不拒

聊天類型的設計,
是最能展現寶店長風格的。

「我想跟寶店長聊天,是因為...」

  • 我想問問題!
  • 我想被聽見!
  • 我想講講話!
  • 我想要聽寶店長不專業的意見!

然後問讀者:「希望寶店長如何回應?」

  • 請務必回信!!!
  • 回不回信都沒差。
  • 千萬不要回我信!!!
  • 我沒想法。

寶店長自認為想得很周到。

也真的很希望,

如果你需要被傾聽,
歡迎來找寶店長。


建議客訴:玻璃心的覺悟

客訴區的副標題寫的是:

「請儘管給建議,我可以接受客訴的,
我的玻璃心會自己撿好的。」

這不是開玩笑的,
寶店長的玻璃心是真的。

但玻璃心歸玻璃心,
該聽的建議還是要聽。

所以客訴類型自動標記為「需要回覆」,
寶店長的待處理清單會自動加上一筆。

客訴是最好的禮物,
雖然拆開來的時候可能會受傷。


Google Apps Script:後端的故事

前端做好了, 接下來是最技術的部分—
讓表單送出的資料,真的存到 Google Sheet。

寶店長完全不懂 Apps Script,
但 Claude 一步一步帶著做:

  1. 在 Google Sheet 開啟「擴充功能 > Apps Script」
  2. 寫一個 doPost 函數,接收 POST 請求
  3. 根據 type 欄位,寫入不同的分頁
  4. 部署成「網頁應用程式」,拿到一個 URL
  5. 前端用 fetch 把資料送過去

聽起來很簡單對吧?
來,你試試看,
有種東西叫做有看沒有懂,
做了成功了,但是可以徹底忘記自己做了什麼。


資料怎麼分類?

一開始想把所有類型的資料都放同一個分頁,
用一個 type 欄位區分。

但 Claude 建議—
每個類型一個分頁,資料更清楚。

於是 Google Sheet 的分頁變成這樣:

分頁名稱對應類型
📖 回應文章article
🫧 聊天chat
💡 建議客訴feedback

訂閱比較特別,
是寫到另一個獨立的 Google Sheet,
因為訂閱名單跟讀者回饋是兩件事。

還加了一個 📋 待處理 分頁—
如果讀者勾了「請回信」,
系統會自動在待處理分頁加一筆,
寶店長打開就知道有誰在等回信。

自動化不是為了偷懶,
而是寶店長三頭六臂也不夠用啊。


送出後的感謝語

表單送出成功後,
會根據類型顯示不同的感謝語:

  • ❤️ 訂閱:「寶店長會用心經營的,敬請期待!」
  • 📖 回應文章:「你的分享對寶店長來說很珍貴!」
  • 🫧 聊天:「寶店長收到了,會找時間好好回你的!」
  • 💡 建議客訴:「感謝你的建議,寶店長的玻璃心正在自我修復中...」

每一句都是真心話。

尤其是最後一句,
寶店長寫的時候笑了,
但也覺得要先打預防針,
萬一真的收到客訴,
至少讀者知道寶店長的玻璃心很脆弱。


優化:那些後來才想到的事

表單上線後,
擺放了一段時間,
也的確沒人寫信,
不過沒關係,
趁機發現一些可以更好的地方。

啟發對話的專屬欄位

油條生跟燒焦生的啟發對話系列,
每篇文章最後都有一句:

歡迎寫信告訴我們:
👉「你曾經發現自己在錯的地方找答案嗎?」

但這個「寫信」,原本只是純文字。
讀者看了之後—去哪裡寫信?

連結都沒有附。
我也真是暈了。

這就像在路邊掛了一個招牌寫「歡迎光臨」,
但門在哪都不知道。

於是做了兩件事:

第一,加上明確的連結。

改成這樣:

歡迎寫信告訴我們:
👉「你曾經發現自己在錯的地方找答案嗎?」

📮 點這裡寫信給寶店長

一個明確的按鈕,讓讀者知道要點哪裡。

第二,在信箱裡新增「啟發對話」專屬類型。

原本只有四種類型,
但啟發對話跟一般的「回應文章」不太一樣。

回應文章是讀者自由填寫文章名稱,
但啟發對話有明確的篇目可以選,
而且寶店長更想知道的是:
哪句話讓你有共鳴?你自己的故事是什麼?

所以新增了第五種類型:

💬 回應啟發對話
Q1. 哪一篇啟發對話讓你有感觸?(選擇篇目)
Q2. 哪一句話最讓你有共鳴?
Q3. 分享你自己的故事或想法
Q4. 額外選項(回信 / 允許分享 / 希望油條生和燒焦生聊聊這個主題)

歡迎回答**「希望油條生和燒焦生聊聊這個主題」**—
這樣燒焦生就不用苦惱下一篇的主題是什麼啦。

互動,從來不只是單向的給予,
是雙向的交流,才能激盪出更美的火花。


匿名分享:不留 Email 也可以

表單上線後,寶店長在想一件事:

如果有人想說話,但不想留 Email 呢?

原本 Email 是必填的,非常合理,
寶店長回信,當然需要 Email,
但問題是吼,
可能有人就是想匿名,也不想收到回信。

好吧,
基於尊重大家的立場,
還有寶店長想盡可能提供各種選擇,
所以就開了一個例外,
可以匿名留言,
這非常有誠意,
希望大家可以有心得感受就可以回覆寶店長,
都已經做到這樣了。

總之,跟 Claude 討論了三個方案:

方案做法優缺點
AEmail 改成選填簡單,但容易漏掉想回信的人
B提供匿名選項明確告知後果,讓讀者自己選
C維持不動安全,但可能嚇跑人

最後選了 方案 B

在表單第一步加了一個勾選:

☐ 我想匿名分享,不留 Email

勾了之後:

  • Email 欄位消失
  • 稱呼自動變成「匿名的有緣人」
  • 跳出提醒:「⚠️ 匿名分享的話,寶店長將無法回信給你喔!」

但有個限制,
匿名的人不能選「訂閱週報」或「聊天」,
因為這兩個本質上需要聯繫方式,
所以,還是鼓勵大家盡可能留下 Email 啦。

寶店長就是要尊重每一個人的選擇跟想法,
我懂毛很多的感覺。


後端也要跟著改

前端改完了,後端的 Google Apps Script 也要跟著調整。

新增「啟發對話」類型意味著:

  • Google Sheet 要多一個 💬 啟發對話 分頁
  • Apps Script 要加上 dialogue 類型的處理邏輯
  • 待處理清單也要能接收啟發對話的回信請求

這些改動不複雜,
因為 Claude 會給指示,
寶店長被訓練到很會看說明文件了。

不過,
文字再怎麼清楚,
沒嘗試過的方法,
還是要花一些時間的。

沒關係,
寶店長跟你拚了。


技術架構全貌

整個讀者信箱的架構其實不複雜,
但每一層都是一步一步搭出來的:

讀者在 /write 頁面填寫表單

React 前端收集資料,打包成 JSON

fetch POST 送到 Google Apps Script

Apps Script 解析資料,判斷 type

根據 type 寫入對應的 Google Sheet 分頁

如果需要回信,自動加入「待處理」分頁

寶店長打開 Google Sheet,看到新的來信

就這樣,依舊看不懂

不過,
沒有資料庫,沒有伺服器,沒有後台管理系統,
簡單處理就好,
一個 React 頁面 + 一個 Google Sheet + 一段 Apps Script。

重點是,
成本?費用零。
但,也花了半天時間。

總之,
心意無價啦。
希望不要遺漏任何一個,想說話的人。


那些讀者不知道的事

看到這裡,
有沒有很想去點點讀者信箱了啊。
(友善建議:趁現在還沒人寫,趕緊寫喔,到時候人突然多起來,請排隊等寶店長回信喔。)

雖然看到的會是一個簡單的表單,
真的很簡單。

但多的是你不知道的事(血汗淚):

  • 那個看起來很普通的 checkbox 元件,改了三次才讓「Other」的勾選邏輯正確
  • 多步驟表單的「上一步 / 下一步」,要處理到每個狀態都正確,比想像中複雜
  • mode: 'no-cors' 這四個字,是因為 Google Apps Script 的跨域限制,找了好久才知道要加(這是程式自己的抱怨,反正我就按 Enter,一直按。)
  • 每次加一個新類型,前後端要同時改,而且 Apps Script 改完要記得重新部署

使用者覺得理所當然的每一個流暢操作,
背後都是踩過的坑,跟燒掉的 tokens。


回頭看整個歷程

從「想跟讀者說話」的念頭,
到今天有五種類型、匿名機制、自動待處理的完整系統:

階段做了什麼
起心動念想要讀者互動,但不知道怎麼做
選擇工具Google Sheet + Apps Script,免費又夠用
設計表單四種類型、多步驟流程、進度指示器
選項設計每個選項都替讀者想好退路
後端串接Apps Script 接收資料、分頁儲存、待處理自動化
上線使用在文章中引導讀者寫信
第一次優化啟發對話專屬欄位、文章連結從純文字改成明確按鈕
第二次優化匿名分享機制、限制匿名不能選需要回信的類型
後端同步新增分頁、調整 Apps Script、重新部署

改了又改,改了又改, 看到這裡是不是很想要寫信給寶店長,非常歡迎。

📮 點這裡寫信給寶店長


💡 寶店長學到了什麼

最大的收穫

做一個讀者信箱,
技術上真的不難。

難的是耐心、堅持、不放棄。

每一個跟程式搏鬥的背後,
都是寶店長「在乎大家」的心意啊。


💬 寶店長後記

一個信箱,
看起來很小的事,
做起來才知道有多少細節,
寫出來才知道有多麼誠懇。

無論如何,
希望這些用心,

能盡可能地接住所有來到這的有緣人,
讓大家的心有地方安放。

如果你看到這裡,
想對寶店長說什麼,
那就來說吧。

📮 點這裡寫信給寶店長

如果還真的不想說,
也沒關係,
我也可以少件事啊,哈哈哈。
(開玩笑的啦。)

給每一位讀者

不管你是想說點什麼,
還是只是想被聽見,

寶店長的信箱,永遠為你敞開。

匿名也好,具名也好,
你的聲音,都是珍貴的,
寶店長深表感恩。

祝福大家,今日的身心靈,一切安好。

🧩 延伸閱讀


© 2026 Spirit & Savor 靈食雜貨舖
系列:精選靈食・寶店長・寶店長的學習筆記
📧 spiritandsavor@gmail.com

💌 喜歡這篇文章?

歡迎回應這篇文章、訂閱週報、或跟寶店長聊聊天。

📮 寫信給寶店長 →