本文適用於從自有伺服器提供 Google 指令碼的開發人員。建議您為代碼啟用特定區域的行為,以解鎖進階同意聲明模式等功能,並根據使用者所在位置控管代碼行為。
如果您從第一方網域提供指令碼,則應在要求標頭中提供使用者的地理位置資訊,才能使用 event_location.country 和 event_location.region 參數。如果要求標頭中提供 IP 位址,系統會優先使用該位址判斷地理位置。否則,系統會使用 event_location.country 和 event_location.region 參數分別傳送國家/地區資訊。
事前準備
請務必先完成下列事項,再按照本指南的說明操作:
步驟 1:設定要求標頭
您必須傳送含有使用者區域資訊的特定要求標頭,詳情請參閱下文。
如果符合下列條件,可以直接從步驟 2 開始:
- 您使用 App Engine。App Engine 會自動傳送地理位置標頭。
- 您使用的基礎架構供應商與下方列出的不同。您需要設定自訂標頭。
搭配 GCP 負載平衡器的 Cloud Run
您可以透過所有 HTTP 要求標頭傳送地理位置資訊,也可以針對特定要求傳送。新增自訂要求標頭會產生費用,每 100 萬次要求計費一次,因此建議只在放送 Google 指令碼的要求中加入地理位置資訊。這個選項一開始需要較多設定,但可協助您以最經濟實惠的方式執行基礎架構。
指令碼要求
如要只為指令碼要求加入地理位置標頭,您需要設定新的後端並建立轉送規則。
如要建立新的後端,請按照下列步驟操作:
- 開啟 GCP 負載平衡器
- 在負載平衡器中,開啟「Backend configuration」(後端設定) 區段。建立新的後端服務。

- 設定新的後端服務:
- 「後端類型」:選擇應用程式使用的網路端點群組類型。如果您使用 Cloud Run,請選擇「無伺服器網路端點群組」。
- 在「New backend」(新增後端) 中,選擇伺服器端代碼管理工具部署作業的網路端點群組。

- 開啟「進階設定」部分。新增自訂要求標頭。
標頭名稱 標頭值 X-Gclb-Country {client_region} X-Gclb-Region {client_region_subdivision} - 儲存新的後端服務。
如要設定轉送規則,請按照下列步驟操作:
- 在負載平衡器中,開啟「Routing rules」(轉送規則) 部分。 選擇「進階型主機路徑與規則」 模式。
- 更新
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
- 儲存變更。
所有要求
如要透過所有 HTTP 要求傳送地理位置資訊,您必須在現有的後端服務中新增自訂要求標頭,請參閱 Google Cloud 說明文件。 為下列每個標頭建立一個新的自訂要求標頭:
| 標頭名稱 | 標頭值 |
|---|---|
X-Gclb-Country |
{client_region} |
X-Gclb-Country |
{client_region_subdivision} |
GCP 負載平衡器
您可以透過所有 HTTP 要求標頭傳送地理位置資訊,也可以針對特定要求傳送。新增自訂要求標頭會產生費用,每 100 萬次要求計費一次,因此建議只在放送 Google 指令碼的要求中加入地理位置資訊。這個選項一開始需要較多設定,但可協助您以最經濟實惠的方式執行基礎架構。
指令碼要求
如要只為指令碼要求加入地理位置標頭,您需要設定新的後端並建立轉送規則。
如要建立新的後端,請按照下列步驟操作:
- 開啟 GCP 負載平衡器
- 在負載平衡器中,開啟「Backend configuration」(後端設定) 區段。建立新的後端服務。

- 設定新的後端服務:
- 「後端類型」:選擇應用程式使用的網路端點群組類型。如果您使用 Cloud Run,請選擇「無伺服器網路端點群組」。
- 在「New backend」(新增後端) 中,選擇伺服器端代碼管理工具部署作業的網路端點群組。

- 開啟「進階設定」部分。新增自訂要求標頭。
標頭名稱 標頭值 X-Gclb-Country {client_region} X-Gclb-Region {client_region_subdivision} - 儲存新的後端服務。
如要設定轉送規則,請按照下列步驟操作:
- 在負載平衡器中,開啟「Routing rules」(轉送規則) 部分。 選擇「進階型主機路徑與規則」 模式。
- 更新
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
- 儲存變更。
所有要求
如要透過所有 HTTP 要求傳送地理位置資訊,您必須在現有的後端服務中新增自訂要求標頭,請參閱 Google Cloud 說明文件。 為下列每個標頭建立一個新的自訂要求標頭:
| 標頭名稱 | 標頭值 |
|---|---|
X-Gclb-Country |
{client_region} |
X-Gclb-Country |
{client_region_subdivision} |
Amazon Web Services (AWS) CloudFront
建立來源要求政策,將 CloudFront-Viewer-Country 和 CloudFront-Viewer-Country-Region 標頭新增至要求。
系統會自動新增下列標頭及其值:
| 標頭名稱 | 標頭值 |
|---|---|
| CloudFront-Viewer-Country | 使用者所在的國家/地區 |
| CloudFront-Viewer-Country-Region | 使用者的細分區域 |
Cloudflare
在 受管理轉換部分中,啟用「新增訪客位置標頭」:
系統會自動新增下列標頭及其值:
| 標頭名稱 | 標頭值 |
|---|---|
| CF-IPCountry | 使用者所在的國家/地區 |
步驟 2:設定訪客區域變數
如已按照上述方式設定地理位置標頭,代碼管理工具會讀取 HTTP 要求標頭,自動偵測區域或國家/地區。或者,您也可以設定自訂標頭。
自動偵測
- 開啟 Google 代碼管理工具
- 開啟伺服器容器。
- 在「變數」選單中,設定內建變數清單。
- 選取「訪客區域」。
現在您可以在「訪客區域」變數中使用地理位置標頭。
自訂標頭
- 開啟 Google 代碼管理工具
- 開啟伺服器容器。
- 在「變數」選單中,建立類型為「訪客區域」的新使用者定義變數。
- 在「變數設定」中,選擇「自訂變數」。
在「變數」選單中,建立兩個新的「要求標頭」變數:一個用於國家/地區,另一個用於子區域代碼。在 HTTP 要求標頭中填入國家/地區代碼。
在「訪客區域」變數中使用您建立的變數,如螢幕截圖所示。
為變數命名並按一下「儲存」。
步驟 3:在用戶端中啟用區域專用設定
如要使用訪客區域處理傳入的 HTTP 要求,您必須將該區域新增至用戶端。
選取「Google 代碼管理工具:網站容器」用戶端。
勾選「啟用區域專用設定」。將您在上一個步驟中建立的 {{Visitor Region}} 變數新增至「區域」欄位。
按一下「儲存」即可儲存客戶。
步驟 4:確認已套用區域設定
如要測試設定是否正常運作,請按照下列步驟操作:
- 開啟伺服器容器的預覽模式。
- 使用第一方放送功能載入網站。
- 在預覽視窗中,按一下「已聲明」Google Analytics 4 (GA4) 用戶端。
- 如要查看實際區域,請將「Display Variables」(顯示變數) 單選按鈕變更為值。
- ✅ 如果「區域」屬性顯示國家/地區代碼,表示導入作業正確無誤。
- ❌ 如果「區域」屬性顯示
undefined或缺少資料,表示伺服器未收到任何區域資料。檢查伺服器的 HTTP 標頭是否已根據 Google 代碼管理工具要尋找的預先定義變數設定,請參閱「設定要求標頭」。