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

このドキュメントは、ファーストパーティ モードで Google タグをデプロイするユーザーを対象としています。最も安定したタグ設定には、ファーストパーティ モードをおすすめします。

ファーストパーティ モードでは、ウェブサイトのドメインにホストされている独自のファーストパーティ インフラストラクチャを使用して Google タグをデプロイできます。このインフラストラクチャは、ウェブサイトと Google のサービスの間に配置されます。このドキュメントの手順に沿って設定すると、ウェブサイトの測定精度が向上します。既存のコンテンツ配信ネットワーク(CDN)、ロードバランサ、またはウェブサーバーを使用して設定できます。

標準の Google タグの設定では、ウェブページが Google ドメインから Google タグをリクエストします。タグがトリガーされると、測定リクエストが Google サービスに直接送信されます。ファーストパーティ モードでは、ウェブサイトがファーストパーティ ドメインから Google タグを読み込みます。タグがトリガーされると、測定リクエストがファーストパーティ ドメインに送信され、関連する Google サービスに転送されます。

次の図は、ファーストパーティ モードの情報フローを示しています。

ファーストパーティ モードのアーキテクチャ情報フロー。

始める前に

このガイドは、ウェブサイトにすでに以下が設定されていることを前提としています。

開始するには、設定タイプを選択します。

1. タグ配信パスを選択する

タグを配信するために、ウェブサイトのドメインでパスを予約する必要があります。このパスがドメインですでに使用されていないことを確認します。

ファーストパーティ モードを設定するには、サイトでまだ使用されていないパスを選択します。サイトにすでに存在するパスと競合する可能性を減らすには、任意の文字と数字の組み合わせを選択します。読みやすいパスが必要な場合は、/metrics/securemetric/analytics などの任意の単語を使用できます。

パスはルートパス / でないこと、100 文字を超えないこと。

以下の情報を入力して、このドキュメントのサンプルに反映します。

Your domain: example.com
Google tag ID: G-12345
Tag serving path: /metrics

2. トラフィックをルーティング

このセクションでは、ウェブサイトで、パスごとにトラフィックをルーティングできる CDN またはロードバランサがすでに使用されていることを前提としています。

サイト訪問者のおおよその位置情報を検索する新しいバックエンドを設定し、既存の外部アプリケーション ロードバランサでルーティング ルールを作成する必要があります。

新しいバックエンドを作成する

  1. GCP ロードバランサを開く

  2. ロードバランサで [バックエンドの構成] セクションを開きます。新しいバックエンド サービスを作成します。 [バックエンドの構成] 設定画面のスクリーンショット

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

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

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

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

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

    ホスト パス バックエンド
    * /metrics/* measurement-be-svc

  3. ロードバランサの構成を更新します。

  4. ブラウザで https://example.com/metrics/healthy に移動して、設定を確認します。ページに ok というテキストが表示されます。https://example.com/metrics/?validate_geo=healthy に移動して、地理情報が含まれていることを確認します。ページに ok というテキストが表示されます。

ファーストパーティ モードでタグを配信するには、新しいサブドメインの CNAME エントリを作成し、リクエストを転送するオリジン ルールを作成し、位置情報を含む変換ルールを作成します。この設定を完了するには、Cloudflare Enterprise プランが必要です。Enterprise プランをご利用でない場合は、代わりに Cloudflare の自動設定の使用を検討してください。

CNAME エントリを作成する

CNAME エントリ用に予約するサブドメインを選択します。次の情報を入力して、このドキュメント全体のサンプルに入力します。この CNAME は Cloudflare 構成の外部に公開されることはないため、名前は任意です。

CNAME subdomain: fps
  1. [DNS] タブで [レコード] セクションを開きます。
  2. 次の構成で新しいレコードを追加します。
    • [タイプ] を [CNAME] に設定します。
    • [名前] を fps に設定します。
    • [ターゲット] を G-12345.fps.goog に設定します。
  3. CNAME レコードを保存します。

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

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

位置情報を含む

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

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

ファーストパーティ モードでは、訪問者の IP アドレスを取得しなくても正常に動作します。すべてのユーザーの IP ヘッダーを削除するには、ユーザーの IP ヘッダーを削除するマネージド変換を使用します。

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

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

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

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

gtag.jsgtm.js

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

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

を測定パスに置き換えます。

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

<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 -->

測定設定をテストする

測定設定をテストするには、少なくとも 1 つのタグが発動するようにコンテナを構成します。

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

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

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