台灣電商品牌 LINE 購物聯盟行銷導購系統設定教學
Key Takeaways
- 導購串接三支柱:商家審核、商品 Feed、轉換回傳缺一不可
- Cookie domain 設錯是漏單最大主因,務必跨子網域驗證
- Pixel 加 Server-to-Server 並行,再用 order_id 去重對帳
- 七天猶豫期退貨必須回傳沖銷,否則佣金長期高估
- 多通路經營時,歸因邏輯要收回自家資料層統一判定
台灣電商品牌串接 LINE 購物導購,核心有三步:申請商家合作並通過審核、上傳符合 Google Merchant 規格的商品 Feed、安裝轉換追蹤(Web Pixel 或 Server-to-Server 回傳訂單)。完成後以測試訂單驗證回傳,再用對帳報表比對落差。
為什麼 LINE 購物值得台灣電商投入設定成本
LINE 在台灣的滲透率是這套導購機制的基礎。根據 LINE for Business 台灣官方揭露的數據,LINE 在台灣的月活躍用戶數超過 2,100 萬,等同於絕大多數具消費力的網路人口都在這個介面裡。LINE 購物(shopping.line.me)則把這個流量池轉成 CPS(Cost Per Sale)導購入口:消費者在 LINE 購物比價、點擊後跳轉到你的官網,成交才付佣金。
對跨境品牌而言,這是進入台灣市場成本結構最可預測的通路之一——沒有成交就沒有媒體成本。但它的技術門檻也比投放廣告高:你必須把商品資料、點擊參數、訂單回傳三條鏈路都接通,任何一環斷掉,佣金對帳就會出現爭議。
根據經濟部統計處發布的零售業營業額統計,台灣零售業網路銷售額近年持續維持雙位數佔比成長,代表比價型導購流量的競爭只會更激烈。設定品質(Feed 更新頻率、庫存準確度)會直接影響你在比價列表中的曝光排序。
我們在亞太市場(香港總部、台灣與新加坡交付團隊)協助品牌做跨境導購串接時,最常見的狀況不是「接不起來」,而是「接起來了但對不上帳」。這篇教學會把重點放在可驗證的設定流程。
開始前要準備什麼
在動工之前,先確認以下條件齊備,否則會卡在審核階段反覆來回:
- 台灣公司登記與統一編號:LINE 購物商家合作需要在台營業登記主體。跨境品牌若無台灣實體,通常需透過台灣代理商或在台設立分公司/子公司。
- 官網具備完整結帳流程:必須是自有購物網站(Shopify、SHOPLINE、Cyberbiz、91APP、WooCommerce、Magento 皆可),且支援台灣常見金流(信用卡、ATM、超商取貨付款)。
- 商品資料來源:可輸出 XML 或 CSV Feed 的後台,或可存取的 Product API。
- 技術權限:能修改網站 head 標籤、theme 檔案,或擁有 Shopify Custom Pixel/GTM 容器的編輯權限。
- 訂單系統可寫入自訂欄位:用來保存點擊識別碼(click id / tracking id),這是 Server-to-Server 回傳的關鍵。
- SSL 憑證與固定網域:追蹤參數在 HTTP 轉址時容易遺失。
另外建議先在 GA4 建好一組獨立的 channel grouping,用來分辨 LINE 購物帶進的流量與你自己的 LINE 官方帳號推播流量——兩者都會帶 utm_source=line,不分開會嚴重混淆歸因。
Ready to Transform Your Ecommerce Operations?
Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.
步驟一:申請商家合作與選擇串接模式
到 LINE 購物官網的「商家合作」頁面提交申請,通常需要提供:品牌名稱、官網網址、統一編號、主要商品類別、預估月營業額級距、可接受的佣金級距。
審核通過後,LINE 購物(或其技術服務夥伴)會提供:
- 商家代碼(Merchant ID)
- Feed 上傳位置與排程規格
- 轉換追蹤參數名稱(常見為
utm_source=line_shopping加上一組唯一的點擊識別參數) - 訂單回傳方式:JavaScript Pixel 或 Server-to-Server Postback
兩種回傳模式怎麼選
JavaScript Pixel(前端回傳)
- 優點:實作最快,貼一段 script 在感謝頁即可
- 缺點:受 Safari ITP、廣告阻擋器、頁面跳離影響,漏單率較高;退貨/取消訂單難以沖銷
Server-to-Server Postback(後端回傳)
- 優點:不受瀏覽器限制,可在訂單狀態變更(出貨、取消、退款)時補送或沖銷,對帳準確度高
- 缺點:需要開發資源,必須自行保存 click id 與訂單的對應關係
實務上我們建議兩者並行:Pixel 做即時回報,Server 端做每日對帳補正。多數導購平台會以 order_id 去重,不會重複計算佣金——但請在上線前跟窗口書面確認去重規則。
步驟二:建立符合規格的商品 Feed
LINE 購物的商品 Feed 大致沿用 Google Merchant Center 的產品資料規格(RSS 2.0 + g: namespace)。先用 Google 官方規格做基準,再依窗口提供的欄位表微調。
最小可用 XML Feed 範例
1<?xml version="1.0" encoding="UTF-8"?>2<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">3 <channel>4 <title>Brand TW Product Feed</title>5 <link>https://www.example.com.tw</link>6 <description>LINE Shopping feed</description>7 <item>8 <g:id>SKU-10023-BLK-M</g:id>9 <g:title>輕量防風外套 黑色 M</g:title>10 <g:description>三層防潑水布料,重量 320g,附收納袋。</g:description>11 <g:link>https://www.example.com.tw/products/windbreaker?variant=10023</g:link>12 <g:image_link>https://cdn.example.com.tw/img/10023-1.jpg</g:image_link>13 <g:additional_image_link>https://cdn.example.com.tw/img/10023-2.jpg</g:additional_image_link>14 <g:availability>in stock</g:availability>15 <g:price>2980 TWD</g:price>16 <g:sale_price>2380 TWD</g:sale_price>17 <g:sale_price_effective_date>2026-01-01T00:00+0800/2026-01-31T23:59+0800</g:sale_price_effective_date>18 <g:brand>EXAMPLE</g:brand>19 <g:condition>new</g:condition>20 <g:gtin>4712345678901</g:gtin>21 <g:item_group_id>10023</g:item_group_id>22 <g:google_product_category>1604</g:google_product_category>23 <g:product_type>服飾 > 外套 > 防風外套</g:product_type>24 <g:shipping>25 <g:country>TW</g:country>26 <g:price>80 TWD</g:price>27 </g:shipping>28 </item>29 </channel>30</rss>
幾個台灣市場特有的注意事項:
g:price必須含幣別TWD,且為含稅售價。台灣消費者看到的標價即為含稅價,若你的後台存的是未稅價,Feed 產生時要先換算。- 變體(顏色、尺寸)要用
g:item_group_id串在一起,否則比價列表會出現大量重複商品。 g:link建議帶 variant 參數直達該規格,降低跳出率。- 促銷價請務必填
g:sale_price_effective_date,否則活動結束後比價頁仍顯示舊價,會產生客訴與訂單取消。
用排程自動產生 Feed
以 WooCommerce 為例,用 WP-CLI 搭配 cron 每小時重建一次:
1# /etc/cron.d/line-shopping-feed20 * * * * www-data cd /var/www/shop && \3 wp eval-file scripts/generate-line-feed.php --url=https://www.example.com.tw \4 >> /var/log/line-feed.log 2>&1
Shopify 則可用 Admin GraphQL API 拉取庫存與價格,再由排程服務輸出靜態 XML 到 CDN:
1curl -s -X POST "https://your-shop.myshopify.com/admin/api/2025-07/graphql.json" \2 -H "X-Shopify-Access-Token: $SHOPIFY_TOKEN" \3 -H "Content-Type: application/json" \4 -d '{"query":"{ products(first: 50, query: \"status:active\") { edges { node { id title onlineStoreUrl variants(first: 100) { edges { node { sku price inventoryQuantity } } } } } } }"}'
庫存同步頻率是排序的隱形變數。比價平台普遍會降低「點進去卻缺貨」的商品權重,因此建議熱銷品至少每小時更新一次 g:availability,長尾商品可放寬到每日。
Ready to Transform Your Ecommerce Operations?
Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.
步驟三:安裝點擊參數接收與轉換追蹤
接住並保存 click id
消費者從 LINE 購物點擊進站時,網址會帶上類似下列參數:
1https://www.example.com.tw/products/windbreaker2 ?utm_source=line_shopping&utm_medium=cps&utm_campaign=tw_jan3 &ls_click_id=9f2c1b7e4a8d
第一件事是把 ls_click_id 寫進 first-party cookie,存活期依合約的歸因視窗設定(台灣 CPS 通路常見為 1~7 天,以窗口提供的為準):
1<script>2(function () {3 var p = new URLSearchParams(window.location.search);4 var cid = p.get('ls_click_id');5 if (!cid) return;6 var days = 7;7 var exp = new Date(Date.now() + days * 864e5).toUTCString();8 document.cookie = 'ls_click_id=' + encodeURIComponent(cid) +9 ';expires=' + exp + ';path=/;domain=.example.com.tw;SameSite=Lax;Secure';10})();11</script>
注意 domain 要設在主網域層級。許多台灣電商的購物車在子網域(例如 checkout.example.com.tw),cookie 若綁在 www 會在結帳時讀不到,這是漏單最常見的原因。
在結帳完成時寫入訂單
WooCommerce 可在建立訂單時把 cookie 存成 order meta:
1add_action( 'woocommerce_checkout_create_order', function ( $order ) {2 if ( ! empty( $_COOKIE['ls_click_id'] ) ) {3 $order->update_meta_data(4 '_ls_click_id',5 sanitize_text_field( wp_unslash( $_COOKIE['ls_click_id'] ) )6 );7 }8}, 10, 1 );
Shopify 因為無法直接改 checkout,改用 Web Pixels API 的 Custom Pixel,在 checkout_completed 事件送出:
1// Shopify Admin > Settings > Customer events > Add custom pixel2analytics.subscribe('checkout_completed', (event) => {3 const co = event.data.checkout;4 const cid = (document.cookie.match(/ls_click_id=([^;]+)/) || [])[1];5 if (!cid) return;67 const payload = {8 click_id: decodeURIComponent(cid),9 order_id: co.order.id,10 amount: co.totalPrice.amount,11 currency: co.currencyCode,12 items: co.lineItems.map((i) => ({13 sku: i.variant.sku,14 qty: i.quantity,15 price: i.variant.price.amount16 }))17 };1819 navigator.sendBeacon(20 'https://track.example.com.tw/line-shopping/conversion',21 new Blob([JSON.stringify(payload)], { type: 'application/json' })22 );23});
用自有 endpoint 收單、再由伺服器轉送給導購平台,比直接在前端呼叫平台 API 好:你保有一份原始紀錄可供對帳,也避免把密鑰暴露在瀏覽器。
步驟四:建立 Server-to-Server 訂單回傳
後端 endpoint 的職責是:驗證、去重、簽章、轉送、記錄。以下是 Node.js(Express)的精簡實作:
1import express from 'express';2import crypto from 'node:crypto';34const app = express();5app.use(express.json());67const SECRET = process.env.LS_SECRET;8const ENDPOINT = process.env.LS_POSTBACK_URL;910function sign(body, ts) {11 return crypto12 .createHmac('sha256', SECRET)13 .update(`${ts}.${JSON.stringify(body)}`)14 .digest('hex');15}1617app.post('/line-shopping/conversion', async (req, res) => {18 const { click_id, order_id, amount, currency, items } = req.body;19 if (!click_id || !order_id) return res.status(400).json({ error: 'missing_fields' });2021 // 去重:同一 order_id 只送一次22 const already = await db.conversions.findOne({ order_id });23 if (already) return res.json({ status: 'duplicate', order_id });2425 const payload = {26 merchant_id: process.env.LS_MERCHANT_ID,27 click_id,28 order_id,29 order_amount: Number(amount),30 currency: currency || 'TWD',31 status: 'confirmed',32 occurred_at: new Date().toISOString(),33 items34 };3536 const ts = Date.now().toString();37 const resp = await fetch(ENDPOINT, {38 method: 'POST',39 headers: {40 'Content-Type': 'application/json',41 'X-Timestamp': ts,42 'X-Signature': sign(payload, ts)43 },44 body: JSON.stringify(payload)45 });4647 await db.conversions.insert({ order_id, click_id, amount, sent_at: new Date(),48 http_status: resp.status });4950 res.json({ status: 'sent', http_status: resp.status });51});5253app.listen(8080);
退貨與取消的沖銷
台灣的《消費者保護法》賦予網購消費者七天猶豫期(無條件解除契約),退貨率因此結構性偏高,尤其服飾與美妝。若你只送成立訂單、不送取消,對帳時佣金一定會偏高。
在訂單狀態轉為 cancelled 或 refunded 時補送一筆沖銷:
1curl -X POST "$LS_POSTBACK_URL" \2 -H "Content-Type: application/json" \3 -H "X-Signature: $SIG" \4 -d '{5 "merchant_id": "M-10023",6 "order_id": "TW-2026-000881",7 "status": "cancelled",8 "order_amount": 0,9 "reason": "customer_return_7day"10 }'
Ready to Transform Your Ecommerce Operations?
Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.
步驟五:驗證與測試訂單
不要用正式促銷檔期當測試場。建立一條可重複執行的驗收流程:
- Feed 驗證:用
xmllint --noout feed.xml確認 XML 格式無誤,再抽 20 筆比對價格與庫存是否與後台一致。 - 參數保存驗證:手動開啟帶
ls_click_id的網址,在 DevTools → Application → Cookies 確認 cookie 寫入、domain 正確。 - 跨子網域驗證:從商品頁走到結帳頁,確認 cookie 仍可讀取。
- 下測試單:以極低金額商品(或折扣碼歸零)完成真實結帳,確認 order meta 有寫入 click id。
- 確認回傳:查你自己的 conversions 紀錄表,HTTP status 應為 200;再請窗口在後台確認該筆是否入帳。
- 沖銷驗證:把測試單改為取消,確認沖銷請求送出且後台金額歸零。
預期輸出範例:
1{ "status": "sent", "http_status": 200 }
若回傳 {"status":"duplicate"},代表去重邏輯生效(通常是 Pixel 已先送過一次),這是正常的。
常見問題排除
後台顯示有點擊但零轉換
九成是 cookie 作用域或結帳頁跨網域造成。檢查順序:cookie domain → SameSite 設定(跨站跳轉需 SameSite=Lax 以上,Strict 會在第一次導流時就讀不到)→ 結帳頁是否為獨立網域 → 是否有 CDN 或 WAF 剝除查詢參數。
轉址過程參數遺失
常見於有語系或地區判斷的 301/302 轉址(例如 / → /zh-tw/)。請在轉址規則中保留 query string:
1location = / {2 return 302 /zh-tw/$is_args$args;3}
少了 $is_args$args,所有導購參數都會被吃掉。
佣金對帳有落差
先分三類比對:平台有你沒有(多半是 Pixel 重複計算或跨裝置歸因)、你有平台沒有(S2S 回傳失敗或簽章錯誤)、金額不同(含/未含運費與稅、折扣碼攤分方式)。建議在合約階段就明確定義計佣基準金額是商品小計還是訂單總額。
Feed 商品大量被退件
最常見三個原因:g:image_link 回傳 403(CDN 擋了非瀏覽器 User-Agent)、g:availability 值不在允許清單(只能是 in stock / out of stock / preorder / backorder)、價格含有逗號分隔符。Google Merchant Center 的產品資料規格文件可作為欄位格式的第一參考。
GA4 歸因與平台後台對不起來
GA4 預設採 data-driven attribution,而 CPS 平台採 last-click,兩者本來就不會相同。依 Google Analytics 官方說明,GA4 的歸因模型與轉換計算邏輯和第三方平台並非 1:1 對應。對帳請以你自己的訂單資料庫為唯一事實來源,GA4 只用來看趨勢。
Ready to Transform Your Ecommerce Operations?
Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.
用 AI 輔助降低維運負擔
導購系統上線後的真正成本在維運:商品描述要適配比價列表的字數、分類要對映平台類目、促銷檔期要批次改價。這幾件事現在都可以用 LLM 批次化處理。
實務做法是把 Feed 生成流程拆成兩段:結構化欄位(價格、庫存、SKU)由系統直出,文案欄位(title、description)由 LLM 依模板重寫後進人工抽查。例如要求模型把商品標題壓到 30 字內、前 12 字必須包含品牌與品類關鍵字,再以規則檢查器驗證輸出長度與禁用詞。
我們曾協助一個在台灣與東南亞同時銷售的服飾品牌集團,把多通路 Feed 的分類對映從人工維護的試算表改成規則+LLM 建議的混合流程,分類建議由模型產出、最終值仍由營運人員確認後寫入。這種做法的取捨很清楚:你用模型換掉重複勞動,但必須保留人工審核閘門,否則錯誤分類會在數千個 SKU 上同時擴散。
跨市場經營時這個差異更明顯——台灣、香港、新加坡的商品命名慣例、尺寸標示、稅務顯示規則都不同,單靠一套硬編碼模板很難涵蓋。
上線後的優化順序
按投報率排序,建議這樣推進:
- 先修漏單,再談成長。漏單率每降一個百分點,等同於無成本的營收發現。
- 庫存與價格同步頻率提高到每小時,改善比價排序與點擊後體驗。
- 主圖與標題 A/B:比價列表是純視覺競爭,第一張圖的背景乾淨度與去背品質影響點擊率。
- 佣金級距分層:對毛利高的品類給較高佣金換取曝光權重,對低毛利品類降佣,避免整體毛利被稀釋。
- 跨通路歸因去重:若你同時跑 LINE 購物、聯盟網、通路王等多個 CPS 通路,務必建立統一的 last-click 判定邏輯,否則同一張訂單可能被多個通路認領。
最後一點對跨境品牌特別重要。當你同時在台灣、香港、馬來西亞跑導購通路,訂單來源判定若散落在各平台的後台,財務端幾乎不可能閉環。把歸因邏輯收回自家資料層,是規模化的前提。
Branch8 以香港為總部,在台灣、新加坡、越南、馬來西亞、印尼、菲律賓與澳洲設有交付團隊,協助歐美與亞太品牌建置跨境電商的導購串接、Feed 自動化與歸因資料層。若你正在評估台灣或東南亞多通路導購的技術架構,歡迎與我們談談你目前的串接狀況。
Ready to Transform Your Ecommerce Operations?
Branch8 specializes in ecommerce platform implementation and AI-powered automation solutions. Contact us today to discuss your ecommerce automation strategy.
Sources
FAQ
LINE 購物是 CPS 導購比價平台,消費者在平台比價後點擊進入你的官網,成交才計算佣金;LINE 官方帳號則是你自有的會員溝通渠道,以訊息則數計費。兩者流量都可能帶 utm_source=line,建議在 GA4 用不同 utm_medium 或 campaign 區分,否則歸因會混淆。
About the Author
Matt Li
Co-Founder & CEO, Branch8 & Second Talent
Matt Li is Co-Founder and CEO of Branch8, a Y Combinator-backed (S15) Adobe Solution Partner and e-commerce consultancy headquartered in Hong Kong, and Co-Founder of Second Talent, a global tech hiring platform ranked #1 in Global Hiring on G2. With 12 years of experience in e-commerce strategy, platform implementation, and digital operations, he has led delivery of Adobe Commerce Cloud projects for enterprise clients including Chow Sang Sang, HomePlus (HKBN), Maxim's, Hong Kong International Airport, Hotai/Toyota, and Evisu. Prior to founding Branch8, Matt served as Vice President of Mid-Market Enterprises at HSBC. He serves as Vice Chairman of the Hong Kong E-Commerce Business Association (HKEBA). A self-taught software engineer, Matt graduated from the University of Toronto with a Bachelor of Commerce in Finance and Economics.