Branch8

台灣個資法 PIPA 電商合規實戰教學:從 Cookie 到結帳流程完整指南

Matt Li
July 1, 2026
12 mins read
台灣個資法 PIPA 電商合規實戰教學:從 Cookie 到結帳流程完整指南 - Hero

Key Takeaways

  • PIPA 適用所有蒐集台灣消費者個資的企業,無論公司所在地
  • Cookie 同意需用 opt-in 模式,搭配 Google Consent Mode v2
  • 結帳頁的隱私權同意與行銷同意必須分開獨立勾選
  • 個資跨境傳輸需加密、記錄日誌,並在隱私權政策揭露
  • 當事人權利請求須於 15 日內回覆,建議用自動化流程管理

台灣《個人資料保護法》(PIPA)要求電商平台在蒐集、處理及利用個人資料時,必須取得當事人明確同意並落實安全維護措施。本教學將以具體程式碼與工具設定,帶你從 Cookie 同意機制、隱私權政策、結帳流程到資料外傳合規,逐步完成台灣市場電商合規部署。

為什麼跨境電商必須重視台灣個資法?

台灣個資法(全名《個人資料保護法》,英文簡稱 PIPA)自 2012 年全面施行,適用於所有蒐集台灣消費者個資的企業,無論公司設立地點。根據台灣國家發展委員會 2024 年統計,台灣電商市場規模已突破新台幣 6,000 億元,對於從香港、新加坡或歐美拓展亞太市場的品牌而言,合規不是選項而是必要條件。

違反 PIPA 的罰則包含行政罰鍰最高新台幣 50 萬元(非公務機關),以及刑事責任最高兩年有期徒刑。更實際的風險是:台灣消費者對隱私權意識日益提高,根據台灣資策會(III)2023 年調查,超過 72% 的台灣網購消費者會在結帳前查看隱私權政策。

PIPA 與 GDPR 的關鍵差異

許多跨境團隊會假設「已符合 GDPR 就自動符合 PIPA」,這是常見誤解。以下是幾個必須注意的差異:

  • 同意方式:PIPA 要求「書面同意」或「其他足以確認當事人同意之方式」,電商實務上需要明確的 opt-in 勾選,不接受預先勾選(pre-checked)
  • 敏感個資範圍:PIPA 將醫療、基因、犯罪前科、性生活等列為特種個資,蒐集門檻更高
  • 跨境傳輸:PIPA 第 21 條授權主管機關限制個資傳輸至特定國家,目前雖未大規模執行,但企業仍需建立合法傳輸依據
  • 資料保存期限:PIPA 要求明確告知保存期限,且當事人可隨時請求刪除

合規前的準備工作與先決條件

在開始實作前,請確認以下環境已就緒:

  1. 電商平台:本教學以 Shopify Plus 為主要範例,同時提供 WooCommerce 與 Headless Commerce 的對應方案
  2. Tag Management:Google Tag Manager(GTM)帳戶已建立
  3. Cookie 管理工具:CookieYes 或 OneTrust(本教學使用 CookieYes 作為範例,因其支援繁體中文且有免費方案)
  4. 隱私權政策產生器:iubenda 或自行撰寫(建議由台灣法律顧問審閱)
  5. 開發環境:Node.js v18+ 及存取前端模板的權限

個資盤點:先搞清楚你蒐集了什麼

合規的第一步不是寫程式碼,而是盤點你的電商平台究竟蒐集了哪些個資。PIPA 第 8 條要求在蒐集時告知當事人「蒐集之目的」與「個人資料之類別」。

建議建立一份個資流程清單,包含以下欄位:

  • 資料類別:姓名、Email、電話、地址、信用卡末四碼、IP 位址、Cookie ID
  • 蒐集節點:註冊表單、結帳頁、Newsletter 訂閱、客服對話、GA4 追蹤
  • 處理目的:訂單履行、行銷溝通、網站分析、詐騙偵測
  • 儲存位置:Shopify 伺服器(加拿大/美國)、HubSpot CRM、Google Analytics
  • 保存期限:訂單資料保留 7 年(稅務需求)、行銷資料保留至取消訂閱後 30 天
  • 跨境傳輸目的地:美國、加拿大、新加坡

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.

Cookie 同意機制是最直接影響使用者體驗的合規元件。PIPA 雖未如 GDPR 有專門的 ePrivacy Directive 規範 Cookie,但透過 Cookie 蒐集的個資(如行為追蹤資料)仍屬 PIPA 管轄。

CookieYes 設定步驟

  1. 在 CookieYes 後台新增網站,選擇語言為「繁體中文」
  2. 設定同意模式為「Opt-in」(非 Opt-out),符合 PIPA 明確同意要求
  3. 將 Cookie 分類為:必要性 Cookie、分析 Cookie、行銷 Cookie、功能性 Cookie

在 GTM 中加入 CookieYes 觸發標籤:

1<!-- CookieYes Consent Banner - 放在 <head> 最前方 -->
2<script id="cookieyes" type="text/javascript"
3 src="https://cdn-cookieyes.com/client_data/YOUR_SITE_ID/script.js">
4</script>

從 2024 年 3 月起,Google 要求使用 Consent Mode v2 才能在 GA4 和 Google Ads 中保留完整數據建模。以下是 GTM 中的 Consent Mode 初始化設定:

1// GTM Custom HTML Tag - 在所有其他標籤之前觸發
2window.dataLayer = window.dataLayer || [];
3function gtag(){dataLayer.push(arguments);}
4
5gtag('consent', 'default', {
6 'ad_storage': 'denied',
7 'ad_user_data': 'denied',
8 'ad_personalization': 'denied',
9 'analytics_storage': 'denied',
10 'functionality_storage': 'denied',
11 'personalization_storage': 'denied',
12 'security_storage': 'granted', // 必要性安全 Cookie
13 'wait_for_update': 500,
14 'region': ['TW'] // 僅對台灣用戶套用 opt-in 模式
15});
16
17gtag('set', 'ads_data_redaction', true);
18gtag('set', 'url_passthrough', true);

當用戶在同意橫幅中選擇接受後,CookieYes 會自動觸發更新:

1// CookieYes 同意更新回呼
2document.addEventListener('cookieyes_consent_update', function(e) {
3 const preferences = e.detail;
4
5 gtag('consent', 'update', {
6 'ad_storage': preferences.advertisement ? 'granted' : 'denied',
7 'ad_user_data': preferences.advertisement ? 'granted' : 'denied',
8 'analytics_storage': preferences.analytics ? 'granted' : 'denied',
9 'functionality_storage': preferences.functional ? 'granted' : 'denied',
10 });
11});

預期結果:台灣 IP 用戶首次造訪時會看到繁體中文的 Cookie 同意橫幅,所有非必要 Cookie 預設為停用,直到用戶主動同意。

步驟二:改造結帳流程的同意收集機制

結帳頁面是電商蒐集最多個資的節點,包含姓名、地址、電話、付款資訊。PIPA 第 8 條要求在蒐集時「明確告知」以下事項:

  1. 蒐集機關名稱
  2. 蒐集目的
  3. 個資類別
  4. 個資利用期間、地區、對象及方式
  5. 當事人行使權利之方式

Shopify Plus Checkout Extensibility 實作

使用 Shopify Plus 的 Checkout UI Extensions(2024 年後取代 checkout.liquid),新增同意勾選區塊:

1// extensions/pipa-consent/src/Checkout.jsx
2import {
3 useExtensionApi,
4 render,
5 BlockStack,
6 Checkbox,
7 TextBlock,
8 Link,
9} from '@shopify/checkout-ui-extensions-react';
10
11render('Checkout::Contact::RenderAfter', () => <PIPAConsent />);
12
13function PIPAConsent() {
14 const { applyAttributeChange } = useExtensionApi();
15 const [privacyConsent, setPrivacyConsent] = useState(false);
16 const [marketingConsent, setMarketingConsent] = useState(false);
17
18 const handlePrivacyChange = (checked) => {
19 setPrivacyConsent(checked);
20 applyAttributeChange({
21 type: 'updateAttribute',
22 key: 'pipa_privacy_consent',
23 value: checked ? 'granted' : 'denied',
24 });
25 };
26
27 const handleMarketingChange = (checked) => {
28 setMarketingConsent(checked);
29 applyAttributeChange({
30 type: 'updateAttribute',
31 key: 'pipa_marketing_consent',
32 value: checked ? 'granted' : 'denied',
33 });
34 };
35
36 return (
37 <BlockStack spacing="tight">
38 <Checkbox
39 checked={privacyConsent}
40 onChange={handlePrivacyChange}
41 >
42 我已閱讀並同意《隱私權政策》,了解本公司將依台灣個人資料保護法蒐集、處理及利用我的個人資料以完成訂單。
43 </Checkbox>
44 <Checkbox
45 checked={marketingConsent}
46 onChange={handleMarketingChange}
47 >
48 我同意接收促銷資訊與個人化推薦(選填,可隨時取消)。
49 </Checkbox>
50 <TextBlock size="small" appearance="subdued">
51 詳見 <Link to="/policies/privacy-policy">隱私權政策</Link>
52 如需行使個資查閱、更正或刪除權利,請聯繫 privacy@yourstore.tw
53 </TextBlock>
54 </BlockStack>
55 );
56}

關鍵設計原則:隱私權同意與行銷同意必須分開,不能用一個勾選框包辦。隱私權同意應為必填(否則無法完成訂單),行銷同意則為選填且預設未勾選。

WooCommerce 替代方案

若使用 WooCommerce,可透過 woocommerce_review_order_before_submit hook 加入類似的同意欄位:

1// functions.php
2add_action('woocommerce_review_order_before_submit', 'pipa_consent_fields');
3function pipa_consent_fields() {
4 echo '<div class="pipa-consent-wrapper">';
5 woocommerce_form_field('pipa_privacy_consent', array(
6 'type' => 'checkbox',
7 'label' => '我已閱讀並同意<a href="/privacy-policy">隱私權政策</a>,了解個資蒐集目的與範圍。',
8 'required' => true,
9 ));
10 woocommerce_form_field('pipa_marketing_consent', array(
11 'type' => 'checkbox',
12 'label' => '我同意接收促銷資訊(選填)',
13 'required' => false,
14 ));
15 echo '</div>';
16}
17
18add_action('woocommerce_checkout_process', 'pipa_validate_consent');
19function pipa_validate_consent() {
20 if (!isset($_POST['pipa_privacy_consent'])) {
21 wc_add_notice('請先閱讀並同意隱私權政策後才能完成結帳。', 'error');
22 }
23}

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.

步驟三:建立符合 PIPA 的隱私權政策頁面

隱私權政策不只是法律文件,它是 PIPA 第 8 條告知義務的核心載體。以下是必須涵蓋的區塊:

必要內容架構

  • 蒐集機關名稱與聯絡方式:包含公司全名、統一編號(如有)、隱私權聯繫 Email
  • 蒐集目的代碼:依法務部「個人資料保護法之特定目的及個人資料之類別」公告,列出對應代碼(如 040 行銷、059 金融服務業依法令規定及金融監理需要)
  • 個資類別:C001 辨識個人者、C002 辨識財務者、C003 政府資料中之辨識者等
  • 利用期間:明確寫出「訂單完成後保留 7 年」或「至當事人請求刪除為止」
  • 利用地區:如資料儲存於美國 AWS 伺服器或加拿大 Shopify 伺服器,必須明確列出
  • 當事人權利:查閱、補充或更正、停止蒐集處理利用、請求刪除、製給複製本

多語系實作提醒

對於跨境電商,建議至少提供繁體中文與英文版本。當台灣用戶瀏覽時,預設顯示繁體中文版。使用 Shopify Markets 的商店可在 locales/zh-TW.json 中維護翻譯內容。

步驟四:個資跨境傳輸的技術合規

PIPA 第 21 條規定,國際傳輸個資不得規避本法的適用。當你的電商平台將台灣消費者資料傳送到海外伺服器時,需確保接收方有「適當的安全維護措施」。

常見跨境場景與應對

  • Shopify 伺服器(加拿大/美國):Shopify 的 Data Processing Addendum(DPA)已包含 Standard Contractual Clauses,可作為合規依據
  • HubSpot CRM(美國):確認已簽署 DPA,並在隱私權政策中揭露資料傳輸至美國
  • GA4 資料(美國 Google 伺服器):搭配 Consent Mode v2 使用,未同意前不傳輸個資
  • 自建 API 傳輸至香港或新加坡總部:在 API 層實作 TLS 1.3 加密,並建立內部個資傳輸合約

以下是 API 層面的個資傳輸日誌範例,用於審計追蹤:

1// middleware/pipa-transfer-log.js
2const pipaTransferLog = async (req, res, next) => {
3 const personalDataFields = ['name', 'email', 'phone', 'address'];
4 const hasPersonalData = personalDataFields.some(
5 field => req.body && req.body[field]
6 );
7
8 if (hasPersonalData) {
9 await auditLogger.log({
10 timestamp: new Date().toISOString(),
11 source_region: 'TW',
12 destination_region: process.env.SERVER_REGION || 'HK',
13 data_categories: personalDataFields.filter(
14 f => req.body[f]
15 ),
16 legal_basis: 'consent',
17 consent_id: req.headers['x-consent-id'] || 'unknown',
18 encryption: 'TLS_1.3',
19 retention_days: 2555, // 7 年
20 });
21 }
22 next();
23};
24
25module.exports = pipaTransferLog;

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.

步驟五:實作當事人權利行使機制

PIPA 第 3 條賦予當事人五項權利:查閱、補充更正、停止蒐集處理利用、刪除、製給複製本。電商平台必須提供可執行的管道。

最低可行方案:表單 + 自動化流程

  1. 在網站 footer 加入「個資權利行使」連結,導向 Google Form 或 Typeform
  2. 表單欄位包含:姓名、Email(用於驗證身分)、請求類型(查閱/更正/刪除/停止利用)、補充說明
  3. 透過 Make(原 Integromat)或 n8n 自動化流程,將請求分派至客服團隊
  4. PIPA 規定處理期限為收到請求後 15 日內,自動化流程應包含到期提醒

當我們團隊在 2024 年 Q3 為一家香港美妝品牌的台灣 Shopify Plus 商店導入 PIPA 合規時,我們使用 n8n 搭配 Notion 資料庫建立了個資請求追蹤系統。整個流程從收到請求到自動發送確認信僅需 3 分鐘,而過去人工處理平均需要 2 個工作天。該專案從規劃到上線耗時 6 週,涵蓋 Cookie 同意機制、結帳流程改造、隱私權政策撰寫與個資請求自動化四大模組。

進階方案:帳戶自助服務

對於有會員系統的電商平台,可在帳戶設定頁新增「我的個資管理」區塊,讓用戶自行下載個資副本、更新行銷同意偏好、或提交刪除請求。

部署後的驗證清單

上線前,請逐項確認以下項目:

  1. Cookie 橫幅測試:使用 VPN 切換至台灣 IP,確認橫幅以繁體中文顯示且預設為 opt-in
  2. Consent Mode 驗證:在 Chrome DevTools > Network 中搜尋 gcs= 參數,未同意前應顯示 G100(全部 denied)
  3. 結帳流程測試:嘗試不勾選隱私權同意直接結帳,應出現錯誤提示
  4. 隱私權政策連結:確認所有頁面 footer、結帳頁、註冊表單均可正確連結到隱私權政策
  5. 個資請求管道:實際提交一筆測試請求,確認自動化流程正常運作且在 15 日內完成
  6. 跨境傳輸日誌:確認 API 日誌正確記錄個資傳輸事件

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.

常見問題排除

  • 確認 CookieYes script 放在 <head> 最前方,排在 GTM 之前
  • 檢查是否有 Content Security Policy(CSP)阻擋了 cdn-cookieyes.com 網域
  • 確認 CookieYes 後台的地區設定包含台灣
  • 使用 Google Tag Assistant 擴充功能檢查 consent signal
  • 確認 GTM 中的 Consent Initialization trigger 設定正確
  • 檢查 CookieYes 與 GTM 的整合模板版本是否為最新

結帳同意欄位未出現

  • Shopify Plus:確認 Checkout UI Extension 已部署至正確的 target(Checkout::Contact::RenderAfter
  • WooCommerce:確認 hook 優先順序未被其他外掛覆蓋,可嘗試調整 priority 參數

持續合規:不是一次性專案

台灣個資法的執法力度正在加強。根據台灣法務部 2024 年報告,個資相關申訴案件較前年增加約 18%。此外,台灣正在研議修正個資法,預計將加入強制性資料外洩通報義務(目前僅部分行業要求),並可能大幅提高罰則。

建議每季執行一次合規審查,重點項目包含:

  • 新增的第三方工具是否已納入隱私權政策
  • Cookie 掃描是否包含所有新增的追蹤碼
  • 個資請求處理記錄是否完整
  • 同意記錄(consent log)是否可匯出作為舉證用

如果你的團隊正在將電商業務拓展至台灣或其他亞太市場,需要從技術架構到法規合規的端到端支援,歡迎聯繫 Branch8 團隊。我們在香港、台灣與新加坡的跨市場團隊,能協助你在符合各地個資法規的前提下,快速完成市場進入。

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

是的,PIPA 適用於所有蒐集、處理或利用台灣消費者個人資料的企業,無論公司註冊地點。如果你的電商平台向台灣消費者銷售商品或服務,就必須遵守 PIPA 的規定,包括取得明確同意與提供當事人權利行使管道。

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.