首頁/AI 講義/數位工具・自動化

數位工具・自動化 · Workspace+GAS+Gemini約 11 分鐘Automation

生成多版本 A/B 行銷文案|GAS實作

生成多版本 A/B 行銷文案|GAS實作 — 賴家榮 AI 教學

Overview這篇教學會做出什麼

行銷文案最怕「只寫一句就上線」,因為你永遠不知道換個說法會不會更好。這篇會帶你用 Gemini 針對同一個賣點一次生成多個不同角度的版本(理性、感性、急迫感等),全部寫進試算表,讓你能直接拿去做 A/B 測試、用數據決定哪句最有效。

Key Takeaways

  • 針對同一主題與賣點,讓 Gemini 一次生成多個版本文案。
  • 每個版本走不同訴求(理性、情感、急迫感、好奇心)。
  • 用 SpreadsheetApp 把每個版本寫進不同欄位,方便對照與投放。
  • 解析 Gemini 回傳的結構化結果,穩定拆成多個版本。
  • 金鑰用 PropertiesService 保管,安全不外流。
  • 全程在 Google 帳號內完成,免費額度即可測試。

完成後,你只要填入主題與賣點、按一下執行,同一列就會並排出現好幾個版本的標語或短文案。接下來把它們投到廣告或電子報做 A/B 測試,讓點擊率與轉換率替你選出最強的那一句。

Why為什麼值得這樣做

文案好壞很難單憑直覺判斷,你覺得最棒的那句,客戶不一定買單。A/B 測試就是用真實數據取代猜測——但前提是你得先有多個夠好、夠不一樣的版本可以測,而人工一次想出好幾個角度既慢又容易卡住。

Gemini 能在一次請求裡從不同訴求切入,快速生出風格迥異的版本;試算表則讓多版本一字排開、方便對照與記錄成效。兩者結合,等於幫你把「發想測試素材」這關自動化,讓你能持續用低成本產出變體、靠數據不斷優化文案。

Prepare開始前的準備

Checklist

  • 一個 Google 帳號,能使用 Google 試算表。
  • 到 Google AI Studio 申請一組 Gemini API 金鑰(免費額度可測試)。
  • 準備一份試算表,規劃主題欄、賣點欄與多個版本欄位。
  • 先想清楚要測試的訴求方向(理性、情感、急迫感等)。
  • 會從試算表「擴充功能 > Apps Script」進入編輯器。

Steps一步一步實作

1規劃試算表欄位

動作建立欄位,例如 A 欄主題、B 欄賣點、C 到 E 欄放版本一到三、F 欄狀態,第一列放標題。

常見地雷版本欄數要和程式一致,若想生成 4 個版本,欄位與程式都要一起改。

2開啟 Apps Script

動作在試算表點「擴充功能 > Apps Script」,讓程式綁定這份表。

常見地雷第一次執行會要求授權存取試算表,請用擁有這份表的帳號授權。

3存放 Gemini 金鑰

動作在「專案設定 > 指令碼屬性」新增 GEMINI_API_KEY,值填你的金鑰。

常見地雷別把金鑰寫死在程式碼,避免分享或匯出時外洩。

4貼上 askGemini 函式

動作把下方第一段共用函式貼進編輯器,負責呼叫 Gemini 取回文字。

常見地雷確認模型名稱是 gemini-2.5-flash,打錯會回 404。

5設計多版本提示詞

動作要求 Gemini 生成 3 個不同訴求的版本,並用固定分隔符號隔開,方便切割。

常見地雷一定要指定輸出格式(例如用 === 分隔),否則很難穩定拆成多個版本。

6解析並寫入各欄

動作把回傳字串依分隔符切成陣列,逐一寫入 C、D、E 欄。

常見地雷解析前先過濾空白項,避免多切出空字串塞進欄位。

7小量測試差異度

動作先填幾組主題賣點執行 generateVariants,檢查三個版本是否訴求真的不同。

常見地雷若版本太雷同,要在提示詞把各版本的訴求方向講得更明確。

8投放並記錄成效

動作把版本拿去廣告或電子報做 A/B 測試,把點擊率回填試算表比較。

常見地雷一次只變文案這一個變數,其他條件保持一致,測試結果才有參考價值。

下面第一段是共用的 askGemini 函式,把提示詞送給 Gemini 並回傳純文字,直接照抄。

function askGemini(prompt) {
  const key = PropertiesService.getScriptProperties().getProperty('GEMINI_API_KEY');
  const url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=' + key;
  const payload = { contents: [{ parts: [{ text: prompt }] }] };
  const res = UrlFetchApp.fetch(url, { method:'post', contentType:'application/json', payload: JSON.stringify(payload), muteHttpExceptions:true });
  return JSON.parse(res.getContentText()).candidates[0].content.parts[0].text.trim();
}

接著是主流程 generateVariants:讀主題與賣點、請 Gemini 依不同訴求生成三個版本、用分隔符解析後寫進 C、D、E 欄。你可調整訴求方向或版本數量。

function generateVariants() {
  const SEP = '==='; // 版本之間的分隔符
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();

  for (let i = 1; i < data.length; i++) {
    const topic  = data[i][0]; // A 欄:主題
    const point  = data[i][1]; // B 欄:賣點
    const status = data[i][5]; // F 欄:狀態
    if (!topic || status === '已生成') continue;

    const prompt = '請針對以下行銷主題撰寫「3 個不同版本」的短文案,供 A/B 測試使用。\n'
      + '主題:' + topic + '\n賣點:' + point + '\n'
      + '版本1走理性訴求(強調效益與數據)、版本2走情感訴求(強調感受與情境)、版本3走急迫感訴求(強調限時或稀有)。\n'
      + '每個版本 40 字以內。請只輸出三個版本文字,版本之間用一行「' + SEP + '」分隔,不要加編號或說明。';

    const result = askGemini(prompt);
    const variants = result.split(SEP)
      .map(function (s) { return s.trim(); })
      .filter(function (s) { return s.length > 0; }); // 過濾空白項

    const row = i + 1;
    // 依序寫入 C、D、E 欄(第 3、4、5 欄)
    for (let v = 0; v < 3; v++) {
      sheet.getRange(row, 3 + v).setValue(variants[v] || '');
    }
    sheet.getRange(row, 6).setValue('已生成'); // F 欄:狀態
  }
}

Flow流程長怎樣

A/B 多版本文案生成流程
1在試算表填入主題與賣點
2執行 generateVariants
3SpreadsheetApp 讀出未生成的列
4Gemini 依不同訴求生成 3 個版本
5用分隔符解析並寫入 C、D、E 欄
6把版本投放做 A/B 測試
7回填成效數據挑出最佳版本

多版本一次到手,你不用再苦思第二、第三種寫法。流程把「生成測試素材」自動化,你只要負責投放、看數據,讓每一次測試都推著文案越來越準。

Tips實用小技巧

FAQ常見問題

常見問題 FAQ

為什麼要生成多個版本,而不是一個就好?

因為你很難靠直覺確定哪句最有效。A/B 測試的價值就在用真實成效比較,而這需要多個夠好、夠不同的版本當素材。人工一次想好幾個角度既慢又容易卡,讓 Gemini 從不同訴求快速生成變體,你就能持續產出測試素材、靠數據而非猜測來優化文案。

三個版本會不會其實大同小異?

如果提示詞沒把訴求分清楚,確實可能雷同。解法是明確指定每個版本的方向,例如版本一理性、版本二情感、版本三急迫,教學裡就是這樣寫的。方向拉得越開,版本差異越明顯,A/B 測試才測得出真正的偏好,而不是在幾乎一樣的句子間比較。

用分隔符解析可靠嗎?會不會拆錯?

只要在提示詞明確要求「版本之間用一行 === 分隔、不要加編號」,Gemini 多半會照做,split 就能穩定拆出各版本。教學裡還加了過濾空白項的步驟,避免多切出空字串。萬一偶爾格式跑掉,最壞情況也只是某列少一個版本,重跑該列即可,不會整支中斷。

可以生成更多版本,例如五個嗎?

可以。把提示詞的「3 個版本」改成你要的數量、補上各版本的訴求方向,再把試算表欄位和程式裡寫入的迴圈次數一起改成對應數量即可。三處要一致:提示詞、欄位、程式。改完先小量測試確認解析正常,再放大量生成,就能穩定產出更多變體。

怎麼知道哪個版本最好?

靠實際投放的數據,而不是感覺。把版本分別用在廣告或電子報,記錄各自的點擊率或轉換率回填試算表,成效最高的就是贏家。關鍵是測試時一次只變文案這一個變數,其他條件(受眾、時段、圖片)保持一致,這樣勝出才真的是文案的功勞。

免費額度夠做文案測試嗎?

很夠。每列只是一次呼叫就拿到全部版本,成本很低,一般測試量在免費額度內綽綽有餘。除非你要一次生成海量主題的變體,才需要留意速率限制、分批處理。長期大量需求再考慮付費方案,屆時沿用同一組金鑰、程式完全不用改。

生成的文案能直接投放嗎?

建議快速審一下再投。多版本草稿通常可用,但仍要確認沒有誇大不實、沒有違反平台規範或不當承諾。把 Gemini 當成幫你發想變體的助理,你負責最後把關與微調。這樣既省了想文案的時間,又能確保投放內容合規、貼合品牌,不會因小失大。

可以指定文案長度嗎?廣告有字數限制。

可以,在提示詞寫清楚上限,例如「每個版本 40 字以內」。Gemini 大致會遵守,偶爾略有出入,審稿時順手確認。若平台限制很嚴,把上限抓保守一點留緩衝。這對廣告標題、按鈕文字這類短版位特別重要,先控好長度才不會上稿時被截斷。

需要會寫程式才能維護嗎?

不太需要。日常維護主要是改提示詞的訴求方向、字數這些文字,屬於複製貼上等級。核心邏輯已寫好並附註解,看懂中文就能微調。只有在改變版本數量時要記得同步改欄位與迴圈;若要更大改造,再找懂 GAS 的人或參考官方文件即可。

測完的成效資料能拿來優化嗎?

非常建議。把每次勝出的版本與其成效記錄下來,一段時間後你就會看出哪種訴求、哪種句型對你的受眾最有效。你甚至可以把這些高效範例貼進提示詞,請 Gemini 參考它們的風格生成新變體,形成「生成—測試—回饋」的正向循環,讓文案越測越準。

CTA下一步|找人帶團隊做

把「發想測試素材」交給 Gemini、把「版本與成效管理」交給試算表,你的行銷就能從憑感覺選一句,升級成用數據持續優化。如果想把這套 A/B 文案流程完整建立、甚至串接投放平台,可以找專人帶著團隊一起做。

想讓團隊用 AI+自動化把重複工作交給流程?賴家榮提供 Workspace/GAS/Gemini 企業內訓與大學課程。

預約授課・免費諮詢

本文為賴家榮 AI 教學中心原創教學內容;想讓團隊學會用 AI,歡迎看AI 課程或預約授課 →

代表圖片來源:圖片來源:Pexels

Your turn

把 AI,變成團隊真的用得上的能力。

不論你在哪個產業,賴家榮都能帶團隊把 AI 學到真的用得上。

預約授課・免費諮詢