透過 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 Call」(API 呼叫) 區段是否已設定下列參數:ad_storagead_personalization, ad_user_dataanalytics_storage
    3. 或者,您也可以在代碼區段的「Output」(輸出) 區段中,選取「Consent」(同意聲明) 分頁標籤,然後查看「On-page Default」(頁面預設) 資料欄。

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

  5. 確認頁面是否會根據您的同意橫幅互動而更新同意聲明:

    1. 在「摘要」中,選取最近的「同意聲明」事件。
    2. 檢查「API Call」(API 呼叫) 區段的下列參數是否已更新:ad_storagead_personalizationad_user_dataanalytics_storage
    3. 或者,您也可以在代碼區段的「Output」(輸出) 區段中,選取「Consent」(同意聲明) 分頁標籤,然後查看「On-page Update」(頁面更新) 資料欄。

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

代碼管理工具

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

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

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

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

    1. 在「摘要」中,選取最早的「同意聲明」事件。
    2. 檢查「API Call」(API 呼叫) 區段是否已設定下列參數:ad_storagead_personalization, ad_user_dataanalytics_storage
    3. 或者,您也可以在代碼區段的「Output」(輸出) 區段中,選取「Consent」(同意聲明) 分頁標籤,然後查看「On-page Default」(頁面預設) 資料欄。

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

  5. 確認頁面是否會根據您的同意橫幅互動而更新同意聲明:

    1. 在「摘要」中,選取最近的「同意聲明」事件。
    2. 檢查「API Call」(API 呼叫) 區段的下列參數是否已更新:ad_storagead_personalizationad_user_dataanalytics_storage
    3. 或者,您也可以在代碼區段的「Output」(輸出) 區段中,選取「Consent」(同意聲明) 分頁標籤,然後查看「On-page Update」(頁面更新) 資料欄。

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

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

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

選取問題即可取得疑難排解指示:

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

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

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. 在「觸發條件」中,選取「同意聲明初始化 - 所有網頁」觸發條件。
  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

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

<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 代碼,以獲得最佳評估結果。

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