Cookie 同意管理
設定 Cookie 提示方式與第三方指令碼的載入規則,讓隱私說明符合網站的實際行為。
Saavo 內建 Cookie 同意橫幅、分類偏好設定與 Cookie 政策頁面。目前這項功能主要控制是否載入第三方統計與廣告指令碼,不會自動管理網站使用的所有 Cookie 與本機儲存項目。
相關設定位於 config/cookie-consent.ts。專案預設採用 silent 模式,所有第三方服務的必填設定也都是空值,因此初始狀態不會顯示橫幅,也不會載入 Google Analytics、AdSense 等第三方指令碼。

運作模式
| 模式 | 是否顯示橫幅 | 第三方指令碼的處理方式 |
|---|---|---|
silent | 否 | 立即載入已啟用且設定完整的第三方指令碼 |
prompt | 是 | 使用者同意對應分類後,才載入指令碼 |
disabled | 否 | 不顯示同意介面,也不透過此功能載入第三方指令碼 |
silent 只是「不詢問就直接載入」,不代表網站已取得使用者同意。如果服務對象所在地區要求事先取得同意,應依實際業務與適用法規改用 prompt,並請專業人員審核隱私與 Cookie 說明。
第一方流量統計不受此開關控制
專案內建的 /js/analytics.js 與 /api/analytics/collect 屬於第一方流量統計,不受此處的第三方統計分類控制。即使使用者拒絕第三方統計指令碼,只要第一方統計仍啟用,就可能繼續發出資料收集請求。詳細說明請參考流量統計。
設定 Cookie 分類與第三方服務
預設設定包含下列分類:
necessary:登入、安全、結帳等必要 Cookie,始終啟用,無法關閉。functionality:功能偏好,例如佈景主題設定。analytics:Google Analytics、Clarity、Umami、Plausible、PostHog 等第三方統計服務。marketing:Google AdSense 等行銷服務。
第三方服務必須同時符合兩個條件,才會實際載入:
- 在
config/cookie-consent.ts啟用對應項目。 - 在
config/analytics.ts或config/ads.ts填寫完整設定。
例如,只將 Google Analytics 項目設為 enabled: true,卻未填寫 Measurement ID,頁面仍不會載入其指令碼。在 prompt 模式下,沒有可用指令碼的第三方項目,也不會作為可執行的選項參與載入。
不要略過這套設定,直接在元件中插入第三方 <script>,否則指令碼不會受到使用者選擇的控制,橫幅說明也會與實際行為不符。
同意紀錄與版本號碼
使用者的選擇儲存在 cookie_consent Cookie 中,有效期間為 365 天。紀錄包含:
- 政策版本
policyVersion。 - 設定版本
configVersion。 - 各分類與項目的選擇。
- 同意狀態,以及建立、更新與到期時間。
修改政策內文時,請遞增 policyVersion。調整分類、項目或預設值時,請遞增 configVersion。任一版本與舊紀錄不同,舊紀錄就會失效。在 prompt 模式下,使用者需要重新選擇。
mode: 'prompt',
policyVersion: '1.1.0',
configVersion: '1.1.0',使用者首次選擇時,頁面會依結果載入允許的指令碼。之後修改既有偏好時,頁面會重新整理,以重新套用指令碼載入狀態。只有 prompt 模式會在頁尾提供重新開啟 Cookie 設定的入口。

目前不會管理哪些功能偏好
functionality.theme 會顯示並記錄佈景主題偏好,但目前尚未串接主題的儲存邏輯。網站主題仍由 localStorage 中的 saas-theme 獨立儲存,關閉這項偏好,不會停止主題的讀取或寫入。
如果產品要求此選項實際控制是否保留主題設定,需要修改主題初始化與切換邏輯。只調整同意設定或文案,無法改變實際儲存行為。
同樣地,新增任何 Cookie、本機儲存項目或第三方指令碼時,都應先確認由哪段程式碼寫入,再決定是否納入同意管理,以及如何整合。
更新 Cookie 政策
/cookies 是提供給使用者的 Cookie 政策頁面。範本中的內容只是範例,正式上線前,必須依實際網站重新撰寫,並與 config/cookie-consent.ts 保持一致,至少說明:
- 網站實際使用的必要 Cookie 與用途。
- 已啟用的第三方服務、收集目的與儲存期限。
- 第一方流量統計的收集範圍。
- 使用者如何修改或撤回選擇。
- 政策生效日期與聯絡方式。
不要只修改橫幅,卻保留範例政策,也不要在政策中列出網站實際上未啟用的服務。
上線檢查
- 已依目標市場選擇
silent、prompt或disabled。 -
/cookies與網站實際使用的 Cookie、儲存項目及第三方指令碼一致。 - 未使用的統計與廣告服務設定維持空值。
- 在
prompt模式下,已測試接受、拒絕與自訂三種操作。 - 拒絕後,受控制的第三方統計與廣告指令碼不會載入。
- 已個別評估第一方流量統計是否需要告知或取得同意。
- 政策或分類變更後,已遞增對應版本。
- 文件描述的功能偏好已實際串接對應功能,沒有將「記錄偏好」寫成「阻止儲存」。
常見問題
接下來
- 設定第一方與第三方統計:流量統計
- 查看實際產品如何處理品牌與隱私內容:WebpageToPDF 實作教學
- 核對登入與付款流程:使用者身分驗證與帳號、付款與方案