設定第一方模式

本文件適用於想在第一方模式下部署 Google 代碼的使用者。我們建議使用第一方模式設定最可靠的代碼設定。

總覽

第一方模式可讓您使用託管於自家網站網域 (例如 example.com) 的第一方基礎架構部署 Google 代碼。這個基礎架構介於您的網站和 Google 服務之間,因此您的第一方基礎架構只能直接與網站使用者互動。第一方模式可為資料安全性多添一層保障,並在不影響成效評估的情況下提供額外的資料隱私權控制項 (例如完整的 IP 模糊處理)。本文中的設定可協助您找出網站上多 X% 的評估信號。您可以使用現有的內容傳遞網路 (CDN)、負載平衡器或網路伺服器進行設定,以啟用第一方模式。

在標準 Google 代碼設定中,網頁會向 Google 網域 (例如 www.googletagmanager.com) 要求 Google 代碼。代碼觸發時,會將評估要求直接傳送至 Google 產品。在第一方模式中,網站會從第一方網域 (例如 example.com) 載入 Google 代碼。 代碼觸發時,會將評估要求傳送至您的第一方網域,並將要求轉送至相關的 Google 產品。

從標準 Google 代碼設定切換為第一方模式設定後,就能獲得完整的評估作業。

下圖代表第一方模式的資訊流程:

第一方模式架構

事前準備

本指南假設您已採用下列設定網站:

1. 選擇代碼放送路徑

您必須在網站網域中預留一個路徑,才能放送代碼。請確保您的網域尚未使用這個路徑。

選擇任何您想要設定第一方模式的路徑。可用的路徑範例包括:/metrics/securemetric/analytics;或者 (最好是隨機的英數字元字串,而這些字串通常並不在網站中使用)。

填寫以下內容,填入本文件中的範例。

Your domain: example.com
Google tag ID: GTM-123456
Tag serving path: /metrics

2. 轉送流量

本節假設您的網站已使用支援按路徑轉送流量的 CDN 或負載平衡器。

Google Cloud

您必須設定新的後端來查詢網站訪客的大概地理位置,並在現有的外部應用程式負載平衡器中建立轉送規則。

建立新的後端

  1. 開啟 GCP 負載平衡器

  2. 在負載平衡器中,開啟「Backend configuration」(後端設定) 專區。建立新的後端服務。 後端配置設定的螢幕截圖

  3. 根據地理位置資訊設定新的後端服務:

    • 指定名稱,例如 measurement-be-svc
    • 將「後端類型」設為「網際網路網路端點群組」
    • 將「Protocol」(通訊協定) 設為「HTTPS」,並將「Timeout」(逾時) 保留為預先填入的值。
    • 在「Backends」(後端) 下方,按一下「Internet networkEndpoint group」下拉式選單,並建立新的網際網路網路端點群組:
      • 將「網路端點群組類型」設為「網際網路 NEG (全球性、地區性)」
      • 將「範圍」設為「全域」
      • 將「新增方式」設為「完整網域名稱和通訊埠」
      • 將「完整網域名稱」設為 GTM-123456.fps.goog
      • 按一下「建立」來建立端點。
      • 關閉「網路端點群組」分頁,返回「新增後端服務」分頁。
    • 搜尋並選取新的網路端點群組名稱。
    • 開啟「進階設定」部分。新增下列自訂要求標頭。
      標頭名稱 標頭值
      Host GTM-123456.fps.goog
      X-Gclb-Country {client_region}
      X-Gclb-Region {client_region_subdivision}
    • 檢查其他設定。這項整合作業不需使用 Cloud CDNCloud Arrmor,因此您可以放心停用兩者。
    • 儲存新的後端服務。

設定匯款規則

  1. 在負載平衡器中,開啟「轉送規則」部分。

  2. 新增下列主機和路徑規則:

    主機 路徑 後端
    * /metrics/* measurement-be-svc

  3. 更新負載平衡器設定。

  4. 請在瀏覽器中前往 https://example.com/metrics/healthy,確認設定正確無誤。頁面應包含 ok 文字。前往 https://example.com/metrics/?validate_geo=healthy,確認已納入地理資訊。頁面應包含 ok 文字。

Cloudflare

如要在第一方模式下提供標記,您需要為新的子網域建立 CNAME 項目、建立來源規則來轉寄要求,並建立轉換規則以納入地理位置資訊。

建立 CNAME 項目

選擇要保留用於 CNAME 項目的子網域。請填寫以下內容,填入本文件中的範例。這個 CNAME 絕對不會公開在您的 Cloudflare 設定之外,因此名稱可以是任意名稱。

CNAME subdomain: fps
  1. 在「DNS」分頁中,開啟「Records」部分。
  2. 使用下列設定新增記錄:
    • 將「Type」設為「CNAME」
    • 將「Name」(名稱) 設定為 fps
    • 將「Target」(目標) 設為 GTM-123456.fps.goog
  3. 儲存 CNAME 記錄。

建立來源規則

  1. 在「Rules」分頁中,開啟「Origin Rules」並建立規則。
  2. 輸入規則名稱,例如 Route measurement
  3. 根據自訂篩選器運算式比對傳入要求,然後按一下「Editexpression」(編輯運算式)
  4. 將下列運算式貼到建構工具:(http.host eq "example.com" and starts_with(http.request.uri.path, "/metrics"))
  5. 將「Host Header」更新為「Rewrite to...」GTM-123456.fps.goog.
  6. 將「DNS Record」(DNS 記錄) 更新為「Override to...」(覆寫為...)fps.example.com.
  7. 儲存來源規則。
  8. 如有其他來源規則,請增加新建立的規則位置,讓規則在任何其他萬用字元路徑之後執行。
  9. 請在瀏覽器中前往 https://example.com/metrics/healthy,確認設定是否正確。頁面應為 ok

包含地理位置資訊

  1. 在「Rules」分頁中,開啟「轉換規則」
  2. 建立修改要求標頭規則。
  3. 將規則套用至「所有傳入要求」
  4. 使用下列設定修改要求標頭:
    • 將運算子設為「Set dynamic」
    • 將「Header name」(標頭名稱) 設為 X-CfIpCountryRegion
    • 將「Value」(值) 設為 ip.src.subdivision_1_iso_code
  5. 部署轉換規則。
  6. 等待幾分鐘,讓規則生效。請在瀏覽器中前往 https://example.com/metrics/?validate_geo=healthy,確認設定正確無誤。頁面應會顯示 ok

(選用) 移除訪客 IP 標頭

第一方模式不需要訪客 IP 即可正確運作,如要移除所有訪客 IP 標頭,請使用 Remove 訪客 IP 標頭 Managed Transforms

其他

如要在第一方模式下提供代碼,您必須設定 CDN 或負載平衡器,將要求轉送至第一方模式端點。

  1. 新增指向 GTM-123456.fps.goog 的來源或後端。
  2. 將「主機」標頭覆寫為 GTM-123456.fps.goog。允許轉送所有 Cookie 和查詢字串。
  3. /metrics/* 新增路徑規則,將流量轉送至第一方模式。
  4. 設定保留路徑的優先順序,使其高於預設規則。
  5. 請在瀏覽器中前往 https://example.com/metrics/healthy,確認設定正確無誤。頁面應為 ok

步驟 3:更新網站上的指令碼,以使用評估路徑

將網站每個網頁的指令碼替換成下列任一項目:

gtag.js

<head> 區段頂端,找到包含 Google 代碼 ID 的兩行指令碼:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GTM-123456"></script>

並換成評估路徑:

<!-- Google tag (gtag.js) -->
<script async src="/metrics/"></script>

gtm.js

<head> 部分頂端,將代碼管理工具程式碼片段替換成以下內容:

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'/metrics/?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','');</script>
<!-- End Google Tag Manager -->

步驟 4:測試評估設定

如要測試評估設定,請將容器設為至少具備一個能觸發的代碼。

  1. 前往 Tag Assistant 並預覽容器。瀏覽您的網站以觸發代碼。

  2. 在「Summary」 >「Output」 >「Hits Sent」分頁中,確認命中會轉送至 /metrics

    驗證設定的螢幕截圖

步驟 5:提供意見

請透過意見回饋表單提供有關第一方模式的意見。