ファーストパーティ モードを設定する

このドキュメントは、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. 使用するロードバランサで [バックエンドの構成] セクションを開きます。新しいバックエンド サービスを作成します。 [バックエンドの構成] 設定画面のスクリーンショット

  3. 位置情報を使用して新しいバックエンド サービスを構成します。

    • measurement-be-svc などの名前を指定します。
    • [バックエンド タイプ] を [インターネット ネットワーク エンドポイント グループ] に設定します。
    • [プロトコル] を HTTPS に設定し、[タイムアウト] は事前入力された値のままにします。
    • [バックエンド] で [インターネット ネットワーク エンドポイント グループ] プルダウンをクリックし、新しいインターネット ネットワーク エンドポイント グループを作成します。
      • [ネットワーク エンドポイント グループの種類] を [インターネット NEG(グローバル、リージョン)] に設定します。
      • [範囲] を [グローバル] に設定します。
      • [Add through] を [完全修飾ドメイン名とポート] に設定します。
      • [完全修飾ドメイン名] を GTM-123456.fps.goog に設定します。
      • [作成] をクリックしてエンドポイントを作成します。
      • [ネットワーク エンドポイント グループ] タブを閉じて、[新しいバックエンド サービス] タブに戻ります。
    • 新しいネットワーク エンドポイント グループの名前を検索して選択します。
    • [高度な構成] セクションを開きます。次のカスタム リクエスト ヘッダーを追加します。
      ヘッダー名 ヘッダーの値
      Host GTM-123456.fps.goog
      X-Gclb-Country {client_region}
      X-Gclb-Region {client_region_subdivision}
    • その他の設定を確認します。この統合には Cloud CDNCloud Armor も必要ないため、両方を無効にしても問題ありません。
    • 作成したバックエンド サービスを保存します。

ルーティング ルールを構成する

  1. 使用するロードバランサで [ルーティング ルール] セクションを開きます。

  2. 次のホストとパスのルールを追加します。

    ホスト Path バックエンド
    * /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] に設定します。
    • [名前] を fps に設定します。
    • [ターゲット] を GTM-123456.fps.goog に設定します。
  3. CNAME レコードを保存します。

オリジンのルールを作成する

  1. [Rules] タブで [Origin Rules] を開き、ルールを作成します。
  2. ルール名を入力します(例: Route measurement)。
  3. カスタム フィルタ式に基づいて受信リクエストを照合し、[式を編集] をクリックします。
  4. 次の式をビルダーに貼り付けます。(http.host eq "example.com" and starts_with(http.request.uri.path, "/metrics"))
  5. [ホストヘッダー] を [Rewrite to...] に更新します。GTM-123456.fps.goog.
  6. [DNS レコード] を [Override to...] に更新します。fps.example.com.
  7. 送信元ルールを保存します。
  8. 他のオリジンのルールがある場合は、他のワイルドカード パスの後に実行されるように、新しく作成したルールの位置を増やします。
  9. ブラウザで https://example.com/metrics/healthy に移動して設定を確認します。ok と表示されます。

位置情報を含める

  1. [Rules] タブで [Transform Rules] を開きます。
  2. [リクエスト ヘッダーの変更] ルールを作成します。
  3. [すべての受信リクエスト] にルールを適用します。
  4. 次の構成でリクエスト ヘッダーを変更します。
    • 演算子を [動的設定] に設定します。
    • [ヘッダー名] を X-CfIpCountryRegion に設定します。
    • [] を ip.src.subdivision_1_iso_code に設定します。
  5. 変換ルールをデプロイします。
  6. ルールが反映されるまで数分待ちます。ブラウザで https://example.com/metrics/?validate_geo=healthy に移動して設定を確認します。ok と表示されます。

(省略可)ユーザーの IP ヘッダーを削除する

ファーストパーティ モードでは、正常に動作するためにユーザーの IP は必要ありません。すべての訪問者の IP ヘッダーを削除するには、Remove audience IP headers Managed Transforms(訪問者の IP ヘッダーの削除)を使用します。

その他

ファーストパーティ モードでタグを配信するには、ファーストパーティ モードのエンドポイントにリクエストをルーティングするように CDN またはロードバランサを設定する必要があります。

  1. GTM-123456.fps.goog を指す送信元またはバックエンドを追加します。
  2. Host ヘッダーを GTM-123456.fps.goog と等しくなるようにオーバーライドします。すべての Cookie とクエリ文字列の転送を許可します。
  3. トラフィックを自社モードにルーティングするように /metrics/* のパスルールを追加します。
  4. デフォルトのルールよりも高い優先度で予約済みパスを構成します。
  5. ブラウザで https://example.com/metrics/healthy に移動して設定を確認します。ok と表示されます。

ステップ 3: 測定経路を使用するようウェブサイトのスクリプトを更新する

ウェブサイトの各ページのスクリプトを次のいずれかに置き換えます。

gtag.js

<head> セクションの先頭で、Google タグ ID を含む 2 行のスクリプトを見つけます。

<!-- 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 つ含むようにコンテナを構成します。

  1. Tag Assistant に移動して、コンテナをプレビューします。サイト内を移動してタグをトリガーします。

  2. [Summary] > [Output] > [Hits Sent] タブで、ヒットが /metrics にルーティングされていることを確認します。

    設定を確認するスクリーンショット

ステップ 5: フィードバック

フィードバック フォームから、ファーストパーティ モードに関するフィードバックをお寄せください。