為標記啟用區域專屬行為

本文適用於透過自有伺服器提供 Google 指令碼的開發人員。建議您為代碼啟用區域特定行為,以便解鎖進階同意聲明模式等功能,並根據使用者的所在位置控管代碼行為。

事前準備

本指南假設您已完成下列事項:

步驟 1:設定要求標頭

您必須傳送包含使用者區域資訊的特定要求標頭,如以下各節所述。

如果符合下列情況,您可以直接從步驟 2開始:

  • 您使用 App Engine。App Engine 會自動傳送地理標頭。
  • 您使用的基礎架構供應商與下方所列不同。您需要設定自訂標頭

搭配 GCP Load Balancer 使用 Cloud Run

您可以透過所有 HTTP 要求標頭,或特定要求傳送地理位置資訊。由於新增自訂要求標頭會產生費用,每百萬個要求收取一筆費用,因此建議您只在要求中加入地理資訊,以便提供 Google 指令碼。這個選項一開始需要進行更多設定,但有助於您以最經濟的方式運作基礎架構。

指令碼要求

如要只為指令碼要求加入地理位置標頭,您必須設定新的後端並建立轉送規則。

如要建立新的後端,請按照下列步驟操作:

  1. 開啟 GCP 負載平衡器
  2. 在負載平衡器中,開啟「Backend configuration」部分。建立新的後端服務。
    後端設定螢幕截圖
  3. 設定新的後端服務:
    • 後端類型:選擇應用程式使用的網路端點群組類型。如果您使用 Cloud Run,請選擇「無伺服器網路端點群組」
    • 在「New backend」中,選取伺服器端代碼管理工具部署的網路端點群組。
      新後端服務的螢幕截圖
  4. 開啟「進階設定」部分。新增自訂要求標頭。
    標頭名稱 標頭值
    X-Gclb-Country {client_region}
    X-Gclb-Region {client_region_subdivision}
  5. 儲存新的後端服務。

如要設定轉送規則,請按照下列步驟操作:

  1. 在負載平衡器中開啟「轉送規則」部分。選擇「進階主機路徑和規則」模式
  2. 更新 pathRules 參數,將 gtm.js/gtag/js/gtag/destination 對應至新的後端服務。
    pathRules:
    - paths:
      - /gtm.js
      - /gtag*
      service: projects/project_id/global/backendServices/new backend service
    - paths:
      - /*
      service: projects/project_id/global/backendServices/original backend service
  3. 儲存變更。

所有要求

如要透過所有 HTTP 要求傳送地理位置資訊,您必須將自訂要求標頭新增至現有的後端服務,請參閱 Google Cloud 說明文件。為下列每個標頭建立一個新的自訂要求標頭

標頭名稱 標頭值
X-Gclb-Country {client_region}
X-Gclb-Country {client_region_subdivision}

GCP 負載平衡器

您可以透過所有 HTTP 要求標頭,或特定要求傳送地理位置資訊。由於新增自訂要求標頭會產生費用,每百萬個要求收取一筆費用,因此建議您只在要求中加入地理資訊,以便提供 Google 指令碼。這個選項一開始需要進行更多設定,但有助於您以最經濟的方式運作基礎架構。

指令碼要求

如要只為指令碼要求加入地理位置標頭,您必須設定新的後端並建立轉送規則。

如要建立新的後端,請按照下列步驟操作:

  1. 開啟 GCP 負載平衡器
  2. 在負載平衡器中,開啟「Backend configuration」部分。建立新的後端服務。
    後端設定螢幕截圖
  3. 設定新的後端服務:
    • 後端類型:選擇應用程式使用的網路端點群組類型。如果您使用 Cloud Run,請選擇「無伺服器網路端點群組」
    • 在「New backend」中,選取伺服器端代碼管理工具部署的網路端點群組。
      新後端服務的螢幕截圖
  4. 開啟「進階設定」部分。新增自訂要求標頭。
    標頭名稱 標頭值
    X-Gclb-Country {client_region}
    X-Gclb-Region {client_region_subdivision}
  5. 儲存新的後端服務。

如要設定轉送規則,請按照下列步驟操作:

  1. 在負載平衡器中開啟「轉送規則」部分。選擇「進階主機路徑和規則」模式
  2. 更新 pathRules 參數,將 gtm.js/gtag/js/gtag/destination 對應至新的後端服務。
    pathRules:
    - paths:
      - /gtm.js
      - /gtag*
      service: projects/project_id/global/backendServices/new backend service
    - paths:
      - /*
      service: projects/project_id/global/backendServices/original backend service
  3. 儲存變更。

所有要求

如要透過所有 HTTP 要求傳送地理位置資訊,您必須將自訂要求標頭新增至現有的後端服務,請參閱 Google Cloud 說明文件。為下列每個標頭建立一個新的自訂要求標頭

標頭名稱 標頭值
X-Gclb-Country {client_region}
X-Gclb-Country {client_region_subdivision}

Amazon Web Services (AWS) CloudFront

建立來源要求政策,將 CloudFront-Viewer-CountryCloudFront-Viewer-Country-Region 標頭新增至要求。

系統會自動新增下列標頭及其值:

標頭名稱 標頭值
CloudFront-Viewer-Country 使用者的國家/地區
CloudFront-Viewer-Country-Region 使用者所屬分支機構
AWS CloudFront 中的標頭設定

Azure Front Door

使用 規則引擎,建立規則集,並使用 修改要求標頭動作,搭配下列對應項目:

標頭名稱 標頭值
X-Azure-Country {geo_country}
Azure Front Door 設定的螢幕截圖

Cloudflare

受管理的轉換部分中啟用「新增訪客位置標頭」:

系統會自動新增下列標頭及其值:

標頭名稱 標頭值
CF-IPCountry 使用者的國家/地區
Cloudflare 設定的螢幕截圖

步驟 2:設定「訪客區域」變數

如果您已按照上述方式設定地理標頭,代碼管理工具會讀取 HTTP 要求標頭,自動偵測區域或國家/地區。您也可以設定自訂標頭。

自動偵測

  1. 開啟 Google 代碼管理工具
  2. 開啟伺服器容器。
  3. 在「變數」選單中,設定內建變數清單。
  4. 選取「訪客所在區域」

地理位置標頭現在可用於「訪客區域」變數。

自訂標頭

  1. 開啟 Google 代碼管理工具
  2. 開啟伺服器容器。
  3. 在「變數」選單中,建立類型為「訪客所在區域」使用者定義變數。
  4. 在「變數設定」中,選擇「自訂變數」
  5. 在「變數」選單中,建立兩個新的「要求標頭」變數:一個用於國家/地區,另一個用於行政區劃代碼。請在 HTTP 要求標頭中填入國家/地區代碼的值。

  6. 如螢幕截圖所示,在「Visitor Region」變數中使用您建立的變數。

    變數設定的螢幕截圖

  7. 為變數命名並按一下「儲存」

步驟 3:在用戶端中啟用區域專用設定

如要使用訪客區域處理傳入的 HTTP 要求,您必須將該區域新增至用戶端。

  1. 選取要套用區域設定的用戶端,或建立新的用戶端。支援的用戶端包括:

    • Google 代碼管理工具:網站容器
    • Google Analytics:GA4
  2. 如果您要設定 GA4 用戶端,請勾選「特定 ID 的預設 gtag.js 路徑」方塊,然後輸入網站容器的評估 ID。

  3. 勾選「啟用區域專用設定」。將您在上一個步驟中建立的 {{Visitor Region}} 變數新增至「區域」欄位。

  4. 按一下「儲存」即可儲存客戶。

步驟 4:確認區域設定已套用

如要測試設定是否有效,請按照下列步驟操作:

  1. 開啟伺服器容器的預覽模式
  2. 使用第一方放送服務時載入網站。
  3. 在預覽視窗中,按一下「已聲明」Google Analytics 4 客戶。用戶端的螢幕截圖
  4. 如要查看實際區域,請將「Display Variables」核取鈕變更為值。訪客區域欄位的螢幕截圖
    • ✅ 如果「Region」屬性顯示國家/地區代碼,表示導入正確無誤。
    • ❌ 如果「Region」屬性顯示 undefined 或缺少,表示伺服器未收到任何區域資料。請確認伺服器的 HTTP 標頭是否已根據 Google 代碼管理工具要尋找的預先定義變數進行設定,請參閱「設定要求標頭」。

後續步驟