跳至主要內容

一次發出上千張折扣碼:從產碼到寄出

批次產生與匯入 CSV、下載碼、在 Mailchimp 配對到 email、匯出使用紀錄對帳

作者:Firstory

要寄給幾千人的名單,一人一張碼,還要能算出誰用了?這一篇是完整流程。如果你只是要發一張大家共用的碼,看用會員優惠發折扣碼,帶進新訂閱就夠了。

批次的碼每張固定限用 1 次,不能調整。批次的用途就是一人一張。要發可以多人共用的碼,請用「單張」新增。

兩種產碼方式

在活動底下點「新增折扣碼」,除了「單張」之外還有兩個選項:

  • 批次產生:由系統抽出碼字串。你填張數(單批上限 20,000),可以另外加一個前綴,產出會長成 SUMMER-K7M2-9XQP。系統產生的碼一律大寫,並且排除 0、O、1、I、L,因為聽眾要用鍵盤手動輸入,這幾個字容易看錯。前綴同樣只能用大寫英文字母與數字 2 到 9

  • 匯入 CSV:上傳你自己的碼清單。適合已經有編號規則的情況,例如 MEMBER-000123。匯入的碼我們原樣存下,不改寫也不檢查格式。代價是自訂碼手動輸入的出錯率比較高,如果碼會請聽眾手打,建議避開容易混淆的字

產生在背景執行

20,000 張碼不會在你按下按鈕的瞬間寫完。批次會立刻出現在列表並顯示進度,你可以離開這個頁面再回來。產生中不會擋住任何操作,同一個活動可以再開一批,也可以新增單張碼。

批次列會顯示五種狀態:排入佇列(一分鐘內開始)、產生中啟用停用產生失敗

兩件要知道的事:

  • 產生中不能匯出。檔案還不完整,下載到的是半份名單,寄出去就是廢碼

  • 產生失敗沒有重試。失敗的批次不會留下半批碼,要重新產請開一個新批次。失敗原因會一直保留,客服之後仍然查得到某一批為什麼沒有送出。列表上的「清除這一列」只是讓它離開清單,不會刪除任何資料

匯入 CSV 是兩個步驟

按下的按鈕是「驗證檔案」,不是「匯入」。這一步不會建立任何東西,只會告訴你有幾列可以匯入。

檔案格式:一列一張碼,放在第一欄。第一列如果是 code折扣碼優惠碼序號兌換碼 這類欄名會自動略過。單一檔案上限 20,000 列、4 MB。

驗證結果會把錯誤分成三類,因為修法不同:

  • 檔案內重複:同一張碼在你的檔案裡出現兩次。請在試算表去重。注意大小寫不分,abcABC 算重複

  • 與已上線的碼衝突:這個節目已經有另一張碼在使用這個字串。請改掉檔案裡的碼,或找出那張碼並停用它

  • 格式不符:碼不能有空白、不能有逗號、不能是空白值,長度上限 64 個字元。碼開頭或結尾的空白會自動去掉、該列照樣匯入;碼中間的空白會被拒絕

每一類最多顯示 5 個範例列,其餘會顯示還有幾列。你可以只匯入乾淨的列,也可以先回去修檔案再重新上傳。驗證結果只有 30 分鐘有效,過期請重新選擇檔案。

配對 email 一定要用系統匯出的那份 CSV

這是整條流程最該防的一步。假設你上傳 979 列、實際只匯入 842 列,如果你拿原本上傳的那份檔案去配 email,就會有 137 個人收到不存在的碼

匯入完成的畫面會請你下載系統匯出的 CSV,那份才是聽眾真的能兌換的碼。批次那一列也會一直保留匯出按鈕,你隨時可以再下載。

另外,按下確認時系統會再驗證一次,所以數字跟上一次不同是正常的,通常是因為中間有一張碼上線了。畫面會把兩次的數字都告訴你。

把碼寄出去(以 Mailchimp 為例)

Firstory 負責產碼、保證字串唯一、匯出、驗碼與統計。配對到人與寄送在你的電子報工具完成,我們不碰你的收件名單。這也是折扣碼不綁定 email 的原因。

  1. 在 Firstory 產碼或匯入,然後下載 CSV(只有一欄 code)。張數要大於收件人數,留一點餘裕

  2. 在 Mailchimp 匯出目標 audience 或 segment 的 email 清單

  3. 在試算表把 email 與 code 並排成兩欄

  4. Mailchimp > Import contacts > 上傳檔案 > 勾選「Update any existing contacts」(不勾不會更新既有聯絡人)> 在 column matching 建一個新的 audience field,例如 COUPON

  5. 信件內容插入 *|COUPON|*

  6. 寄出前建一個 segment 篩「COUPON is blank」,確認結果是 0 筆

第六步是這條路徑最重要的檢查。電子報工具只做欄位替換,不會管碼還剩幾張、也不會管碼有沒有被兌換過,所以典型的故障是「某個人收到一封沒有碼的信」。碼數量不足、匯入沒對齊、第四步忘記勾選更新,都會長成這個症狀。

Mailchimp 端的兩個限制:一個 audience 最多 30 個欄位(Premium 為 80 個);Mailchimp 內建的 Promo Code 內容區塊不適用,它需要連接 Shopify 之類的店家整合,而且一個區塊只能放一個碼。

看誰用了:匯出使用紀錄

在活動列的「⋯」選單點「匯出使用紀錄」。檔案有七個欄位

  • code:折扣碼字串

  • source:這張碼怎麼來的。generated=系統批次產生、imported=你匯入的、single=你單張新增的。如果看到 unknown 代表資料異常,請告訴我們,不要把它讀成單張碼

  • statusredeemed(已兌換)或 unredeemed(還沒有人用)

  • redeemed_atemailtier_planamount:兌換時間、會員 email、購買的方案、實際扣款金額

檔案結構是每一筆兌換一列,再加上每一張還沒有人兌換的碼一列。所以它同時回答兩個問題:誰用了這個活動,以及還有多少碼在外面。未兌換的列後面四個欄位是空的,但欄位仍然存在。

三個容易誤讀的地方:

  • tier_plan 寫的是兌換當下購買的方案。會員之後升級,這一列不會被改寫

  • 畫面上的「剩下 N 個兌換名額」是名額不是張數。上限 100 次、已成立 3 次的碼算 97;整批停用的批次算 0。所以這個數字可以跟列數不一樣

  • 還在處理中的兌換算 unredeemed。這份檔案只報告已經成立的扣款

有批次還在產生中就不能匯出使用紀錄,要等這個活動的每一批都產完,否則檔案會缺列。

排錯

  • 「這個檔案不是 UTF-8 文字」:請在 Excel 另存為「CSV UTF-8」,不要存成「Unicode 文字」

  • 超過 20,000 列或超過 4 MB:請把清單拆開,分成兩個批次匯入

  • 「沒有任何一列可以匯入」:不會建立空批次。裡面的碼全部是重複、已經上線,或格式不符

  • 「你有太多驗證過但還沒匯入的檔案」:請先匯入其中一份,或等最舊的一份 30 分鐘後失效

  • 「這個檔案是對另一個活動驗證的」:請從你要放這些碼的那個活動重新上傳

  • 找不到匯出按鈕:批次要到「啟用」或「停用」狀態才能匯出。停用的批次仍然可以匯出,因為你還是需要知道自己寄出去了哪些碼

相關文章

是否回答了您的問題?