快速答案:免運門檻用「運送區域 → 免運費 → 最低訂單金額」設定,但要想清楚門檻是算折價券折扣前還是折扣後、贈品與試用品算不算。要依角色或特定帳號免運、多倉出貨、贈品不計運費,WooCommerce 內建做不到,得用條件式運費外掛(我們常用 Flexible Shipping),而且每改一次都要在測試站把各種組合跑過。
為什麼會這樣 #
WooCommerce 內建的運費是「運送區域 × 運送方式」,只認收件地址與購物車金額或重量,不認角色、不認帳號、不認商品類型。免運門檻比的是商品小計,折價券折完可能低於門檻而被加運費;反過來,新增了低價的試用品或贈品,也會讓門檻判定跟預期不同。
多倉是另一個常見需求。WooCommerce 沒有「倉庫」的概念,同一個地區無法依商品產地套不同運費,只能用運送類別(shipping class)把不同倉的商品分開,再在運送方式裡按類別計費。
超商取貨走綠界或藍新物流時,物流單產生失敗多半是收件人資料格式(電話、姓名長度)、門市代碼沒帶回、或物流 API 還沒開通。物流模組也會改變「地址必填」的邏輯,跟其他結帳欄位外掛疊在一起就會互相打架。
怎麼處理 #
- WooCommerce → 設定 → 運送 → 運送區域,確認台灣區域有你要的方式。「免運費」的條件選最低訂單金額,並決定要不要勾「套用最低訂單金額規則前先計算折價券折扣」。
- 免運門檻要對客人講清楚。「再買 X 元免運」的提示需要主題或外掛支援,至少在結帳頁放一句公告。
- 角色或帳號免運、贈品免運、B2B 不同運費:裝條件式運費外掛,以使用者角色、購物車內商品分類、運送類別當條件。
- 多倉:建立運送類別(例如台灣倉、海外倉),商品各自指定,運送方式裡按類別設費用。不能混單出貨的(預購與現貨)用外掛限制同單。
- 每次改完至少跑六種測試訂單:達門檻、未達門檻、用券後未達門檻、含贈品、B2B 帳號、超商取貨。
- 物流單產生失敗:先看訂單記錄裡的錯誤碼,多數是電話格式或門市沒選;物流 API 要在金流後台另外申請。
我們實際遇過的情況 #
一家電商自己新增了幾個試用品代號後,測試訂單金額未達門檻卻沒被收運費。查到是新商品被歸進「不計入門檻」的運送類別,調整類別就好。同一家客戶後來想把免運門檻調低、並讓特定合作帳號買到一定數量就免運,內建做不到,改用條件式運費外掛整理成規則表。
一家跨境電商要「兩個倉出貨到各地」再加順豐到付的國家,我們把規則列成表格逐一設定並測試,才敢上線。另一家電商裝了地址欄位外掛後,超商取貨的地址必填失效,最後是關掉外掛的必填規則,讓物流模組自己控制。
什麼時候該找人 #
運費規則超過三條、牽涉角色與倉別、或跟金流物流模組疊在一起,設錯的結果是客人「無法結帳」或「全部免運」,兩種都直接影響營收。改之前先備份設定、在測試站跑過。要連金流與物流一起申請的,可以看統一金流申請。
WPTOOLBEAR網站工具熊