透過 Tag Assistant 排解同意聲明模式的問題

本文適用於開發人員和管理員,協助他們確認並排解網站上的同意聲明模式導入問題。如要瞭解網站的資訊公開和同意聲明架構導入問題,請參閱「排解資訊公開和同意聲明架構問題」。如要驗證應用程式導入情況,請參閱 AndroidiOS 的操作說明。

您可以檢查下列同意聲明模式導入情況:

  • 網站是否在任何代碼觸發前,設定正確的預設同意聲明狀態。適當的預設值取決於貴機構的政策。
  • 訪客表示或拒絕同意後,網站是否會正確更新同意聲明狀態。
  • 哪些代碼會檢查哪些同意聲明類型。
  • 每個代碼觸發時是否已授予必要同意聲明類型,以及代碼是否通過任何額外必要同意聲明的檢查。

Tag Assistant 支援下列同意聲明機制:

事前準備

您可以在所有瀏覽器上使用 Tag Assistant。為獲得最佳疑難排解結果,請使用 Google Chrome 並安裝 Tag Assistant Companion 瀏覽器擴充功能。

確認同意聲明模式能夠正常運作

下列步驟說明如何偵錯同意聲明模式。如果您已設定特定地區的預設值或同意橫幅,請使用不同的模擬地理位置重複這些步驟。瞭解如何在 Chrome 中設定位置資訊

gtag.js

如要檢查網站的同意聲明設定,請啟動新的 Tag Assistant 工作階段:

  1. 開啟 Google Tag Assistant
  2. 輸入網站網址。網站會在新分頁中開啟。

  3. 在網站上,開啟 Cookie 通知橫幅並接受所有參數。

  4. 在 Tag Assistant 中,檢查網頁是否已正確設定預設同意聲明:

    1. 在「摘要」中,選取最早的「同意聲明」事件。
    2. 在「API 呼叫」部分,確認已設定下列參數:ad_storagead_personalization,ad_user_dataanalytics_storage
    3. 您也可以在代碼部分的「輸出」中,選取「同意聲明」分頁標籤,然後查看「網頁上預設」欄。

      螢幕截圖:Tag Assistant 顯示預設同意聲明設定

  5. 檢查網頁是否根據同意橫幅互動更新同意聲明:

    1. 在「摘要」中,選取最近的「同意聲明」事件。
    2. 在「API Call」(API 呼叫) 專區中,確認下列參數已更新:ad_storagead_personalizationad_user_dataanalytics_storage
    3. 您也可以在代碼部分的「輸出」中,選取「同意聲明」分頁標籤,然後查看「網頁上更新」欄。

      螢幕截圖:Tag Assistant 顯示更新後的同意聲明設定

代碼管理工具

如要檢查網站的同意聲明設定,請啟動新的 Tag Assistant 工作階段:

  1. 開啟 Google Tag Assistant
  2. 輸入網站網址。網站會在新分頁中開啟。

  3. 在網站上,開啟 Cookie 通知橫幅並接受所有內容。

  4. 在 Tag Assistant 中,檢查網頁是否已正確設定預設同意聲明:

    1. 在「摘要」中,選取最早的「同意聲明」事件。
    2. 在「API 呼叫」部分,確認已設定下列參數:ad_storagead_personalization,ad_user_dataanalytics_storage
    3. 您也可以在代碼部分的「輸出」中,選取「同意聲明」分頁標籤,然後查看「網頁上預設」欄。

      螢幕截圖:Tag Assistant 顯示預設同意聲明設定

  5. 檢查網頁是否根據同意橫幅互動更新同意聲明:

    1. 在「摘要」中,選取最近的「同意聲明」事件。
    2. 在「API Call」(API 呼叫) 專區中,確認下列參數已更新:ad_storagead_personalizationad_user_dataanalytics_storage
    3. 您也可以在代碼部分的「輸出」中,選取「同意聲明」分頁標籤,然後查看「網頁上更新」欄。

      螢幕截圖:Tag Assistant 顯示更新後的同意聲明設定

  6. 查看同意聲明狀態已觸發或封鎖哪些代碼:

    1. 在「摘要」中,選取「代碼」分頁標籤。
    2. 按一下代碼,查看代碼是否按照同意聲明設定運作。

選取問題,查看疑難排解操作說明:

如果網頁並未導入同意聲明模式,Tag Assistant 的「同意聲明」分頁會完全空白。

如要修正這個問題,請導入同意聲明模式。下文的操作說明假設您已在網站上設定同意橫幅。

gtag.js

影片:如何設定同意聲明模式

gtag('consent', 'default', {
      'ad_storage': 'denied',
      'analytics_storage': 'denied',
      'ad_user_data': 'denied',
      'ad_personalization': 'denied',
});

逐步說明:如何設定同意聲明模式

如果您使用同意聲明管理平台 (CMP) 載入同意橫幅,請完成下列幾件事:

  1. 確認 CMP 是否支援 Google 同意聲明模式。
  2. 檢查 CMP 設定,並啟用 Google 同意聲明模式。
  3. 確認同意聲明模式能夠正常運作

如果您自行管理同意橫幅,或 CMP 不會自動整合同意聲明模式,請手動導入同意聲明模式

代碼管理工具

如果您使用代碼管理工具,建議採用提供代碼管理工具範本的同意聲明平台,導入同意聲明模式。如要使用代碼管理工具設定同意橫幅,請按照下列步驟操作:

  1. 開啟 Google 代碼管理工具
  2. 在工作區中開啟「代碼」選單。
  3. 設定新的代碼。按一下「代碼設定」,然後開啟「社群範本庫」
  4. 搜尋 CMP 供應商的代碼,然後按一下「新增至工作區」
  5. 填寫代碼範本中的欄位。如需必填欄位的詳細資訊,請洽詢 CMP 供應商。
  6. 在「觸發條件」中,選取「Consent Initialization - All Pages」(同意聲明初始化 - 所有網頁) 觸發條件。
  7. 儲存代碼並「預覽」容器,確認同意聲明模式能夠正常運作

如果您自行管理同意橫幅,或 CMP 不會自動整合同意聲明模式,請手動導入同意聲明模式

為所有同意聲明模式參數設定同意聲明預設狀態,有助於根據您的標準同意橫幅導入做法,有效管理代碼行為。若想進一步瞭解 Google 的同意聲明規定,請見這篇文章

gtag.js

將呼叫 gtag 同意聲明預設指令的所有程式碼,移至網頁中較高的位置,也就是任何可能使用同意聲明的代碼片段或其他程式碼上方。

設定下列同意聲明參數:

gtag('consent', 'default', {
      'ad_storage': 'denied',
      'analytics_storage': 'denied',
      'ad_user_data': 'denied',
      'ad_personalization': 'denied',
});

請勿以非同步方式設定預設同意聲明狀態。

代碼管理工具

如果您在代碼管理工具中使用 CMP 代碼範本,請參閱 CMP 文件,瞭解如何使用代碼管理工具範本設定預設同意聲明。

請確認代碼至少會載入下列四個參數的同意聲明預設值:

  • ad_storage
  • ad_user_data
  • ad_personalization
  • analytics_storage

如果您自行管理同意橫幅,或 CMP 不會自動整合同意聲明模式,請手動導入同意聲明模式

網站必須在任何代碼讀取同意聲明狀態 (或其他程式碼使用/更新同意聲明狀態) 前,設定預設同意聲明狀態。如果太晚設定預設狀態,可能無法得到預期效果。若想進一步瞭解 Google 的同意聲明規定,請見這篇文章

舉例來說,在下列情境中,廣告代碼已讀取或寫入 Cookie,才設定預設同意聲明:

  1. 訪客開啟網頁
  2. 廣告代碼觸發
  3. 預設同意聲明狀態設為「已拒絕」

Tag Assistant 顯示錯誤: Tag Assistant
錯誤

gtag.js

將呼叫 gtag 同意聲明預設指令的所有程式碼,移至網頁中較高的位置,也就是任何可能使用同意聲明的代碼片段或其他程式碼上方。

設定下列同意聲明參數:

gtag('consent', 'default', {
      'ad_storage': 'denied',
      'analytics_storage': 'denied',
      'ad_user_data': 'denied',
      'ad_personalization': 'denied',
});

請勿以非同步方式設定預設同意聲明狀態。

代碼管理工具

如果同意聲明範本代碼已設定預設同意聲明:

  1. 編輯同意聲明寫入範本代碼的觸發條件,在「同意聲明初始化」時觸發。
  2. 所有其他代碼:在同意聲明初始化後觸發代碼。舉例來說,如要在載入網頁時觸發代碼,請使用「初始化 - 所有網頁」觸發條件。

網站訪客與同意橫幅互動後,橫幅應傳送同意聲明狀態更新指令 update。如果同意聲明狀態沒有更新,請確認您是否導入了更新機制。

gtag.js

訪客與橫幅互動後,請使用 gtag.js update 指令更新同意聲明狀態。請確認您已為設定同意聲明預設值的每個參數提供更新機制,且使用者可以將同意聲明更新為 granteddenied

以下範例說明函式 consentGrantedAdStorage 如何在訪客接受同意橫幅中的廣告 Cookie 時,更新同意聲明狀態。

<script>
function consentGrantedAdStorage() {
  gtag('consent', 'update', {
    'ad_storage': 'granted'
  });
  }
</script>
<!-- Invoke your consent function when a user interacts with your banner -->
<body>
  ...
  <button onclick="consentGrantedAdStorage()">Yes</button>
  ...
</body>

代碼管理工具

如果您使用同意聲明範本代碼設定預設同意聲明,請務必同時更新同意聲明狀態。詳情請參閱 CMP 供應商的說明文件。

如有需要,您可以根據訪客所在區域設定不同的同意聲明預設狀態。如果您已為不同區域導入同意聲明預設值,請嘗試下列步驟,確認設定是否正常運作。

gtag.js

  1. 在瀏覽器中,將訪客位置設為要驗證的區域。 瞭解如何在 Chrome 中設定位置資訊
  2. 確認同意聲明模式能夠正常運作
  3. 如果同意聲明模式未根據使用者所在區域調整,請檢查原始碼。 例如:

      gtag('consent', 'default', {
        'analytics_storage': 'denied',
        'region': ['ES', 'US-AK']
      });
    
      gtag('consent', 'default', {
        'ad_storage': 'denied'
      });

    這個範例會為一個參數設定區域同意聲明預設值,但不會為另一個參數設定。檢查區域行為時,請確認所有參數的行為都符合機構政策的規定。瞭解如何設定地理區域

代碼管理工具

  1. 在瀏覽器中,將訪客位置設為要驗證的區域。 瞭解如何在 Chrome 中設定位置資訊
  2. 確認同意聲明模式能夠正常運作
  3. 如果同意聲明模式未配合使用者區域調整,請檢查同意聲明代碼的設定,詳情請參閱設定地理區域

後續步驟

Google 代碼含同意聲明選項,因此會根據使用者同意聲明調整行為。如果您禁止 Google 代碼在使用者同意前載入,模擬轉換的準確度就會降低,而 Google Analytics 4 的行為模擬功能也將無法使用。解除封鎖 Google 代碼,取得最佳評估結果。

進一步瞭解同意聲明模式的影響結果