広告主様向け Google タグ ゲートウェイを設定する

このドキュメントは、広告主様向け Google タグ ゲートウェイをデプロイするユーザーを対象としています。最も耐久性の高いタグ設定には、広告主様向け Google タグ ゲートウェイをおすすめします。

概要

広告主様向け Google タグ ゲートウェイを使用すると、自社所有のファーストパーティ インフラストラクチャを使用して Google タグをデプロイできます。このインフラストラクチャは、ウェブサイトのドメインでホストされます。このインフラは、お客様のウェブサイトと Google のサービスの間に存在します。このドキュメントで説明する設定は、ウェブサイトの測定精度を高めるうえで役立ちます。既存のコンテンツ配信ネットワーク(CDN)、ロードバランサ、ウェブサーバーを使用して設定できます。

標準の Google タグの設定では、広告主様のウェブページが Google ドメインに Google タグをリクエストします。タグが配信されると、測定リクエストが Google サービスに直接送信されます。広告主様向け Google タグ ゲートウェイを使用すると、ウェブサイトはファーストパーティ ドメインから Google タグを読み込みます。タグが配信されると、一部の測定リクエストがファーストパーティ ドメインを使用して Google に送信されます。

この図は、広告主様向け Google タグ ゲートウェイの情報フローを表しています。

広告主様向け Google タグ ゲートウェイのアーキテクチャ情報フロー。

始める前に

このガイドは、以下を使用してウェブサイトが構成されていることを前提としています。

まず、セットアップ タイプを選択します。

1. 測定パスを選択する

各タグまたは Google タグ マネージャー コンテナを配信するために、ウェブサイトのドメインで一意の測定パスを予約する必要があります。

測定パスの要件:

  • パスがドメインで使用されていないことを確認してください。
  • 各パスはルートパス / にすることはできません。
  • 各パスは 100 文字以内で指定してください。

Google タグ マネージャー:

Google タグ マネージャーを使用している場合は、コンテナ ID(例: GTM-XXXXXX)を指定するだけで済みます。この 1 回の設定で、そのコンテナにすでに追加されているすべてのタグ(Google アナリティクス、Google 広告など)に対応できます。

一意のコンテナまたはスタンドアロン タグごとに、一意の配信パスと対応する ID が必要になります。

広告主様向け Google タグ ゲートウェイを設定するには、サイトでまだ使用されていないパスを選択します。サイトで使用済みのパスとできるだけ競合しないようにするには、文字と数字の任意の組み合わせを選択します。読みやすいパスにするには、/gtm、/metrics、/analytics などの単語を使用することもできます。

次に例を示します。

ユースケース ID タグ配信パス オリジン エンドポイント
スタンドアロンのタグ 1 G-12345 /abjfo/ g-12345.fps.goog
スタンドアロンのタグ 2 G-67890 /fjdso/ g-67890.fps.goog
GTM コンテナ GTM-ABCDEF /cvfjk/ gtm-abcdef.fps.goog

以下を入力して、このドキュメント全体で例を生成します。

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

複数のタグやコンテナを処理する方法:

タグが同じ GTM コンテナにある場合は、この設定を繰り返す必要はありません。Google タグ マネージャーのコンテナを 1 つ追加するだけで、そのコンテナ内のすべてのタグが処理されます。

タグが別々の GTM コンテナにある場合、またはタグがリンクされていない場合は、この設定はインスタンスごとに繰り返す必要があります。このことは、以下を運用している場合に必要です。

  • 複数の異なる Google タグ マネージャー コンテナ。
  • コンテナ内に含まれていない個々のタグ(例: G-XXXXXX)。

この操作では、コンテナまたはタグごとに一意のタグ配信パスを割り当てる必要があります。

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

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

Google Cloud

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

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

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

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

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

    • 名前を指定します(例: measurement-be-svc)。
    • [バックエンド タイプ] を [インターネット ネットワーク エンドポイント グループ] に設定します。
    • [プロトコル] を [HTTPS] に設定し、[タイムアウト] は事前入力された値のままにします。
    • [バックエンド] で、[インターネット ネットワーク エンドポイント グループ] プルダウンをクリックし、新しいインターネット ネットワーク エンドポイント グループを作成します。
      • [ネットワーク エンドポイント グループ タイプ] を [インターネット NEG(グローバル、リージョン)] に設定します。
      • [スコープ] を [グローバル] に設定します。
      • [追加手段] を [完全修飾ドメイン名とポート] に設定します。
      • [完全修飾ドメイン名] を G-12345.fps.goog に設定します。
      • [作成] をクリックしてエンドポイントを作成します。
      • [ネットワーク エンドポイント グループ] タブを閉じて、[新しいバックエンド サービス] タブに戻ります。
    • 新しいネットワーク エンドポイント グループの名前を検索して選択します。
    • [高度な構成] セクションを開きます。次のカスタム リクエスト ヘッダーを追加します。
      ヘッダー名 ヘッダーの値
      Host G-12345.fps.goog
      X-Forwarded-CountryRegion {client_region_subdivision}
      X-Forwarded-Geolocation latlong={client_city_lat_long};city={client_city}
    • 他の設定を確認します。この統合には 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 というテキストが表示されるはずです。

Cloudflare

広告主様向け Google タグ ゲートウェイでタグを配信するには、新しいサブドメインの CNAME エントリを作成し、リクエストを転送するオリジン ルールを作成し、位置情報を含める変換ルールを作成します。この設定を完了するには、Cloudflare Enterprise プランが必要です。Enterprise プランをお持ちでない場合は、代わりに Cloudflare の UI 内設定の使用をご検討ください。

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 Record] を [Override to...] に更新します。fps.example.com
  7. オリジンルールを保存します。
  8. 他のオリジン ルールがある場合は、新しく作成したルールの位置を増やして、他のワイルドカード パスの後に実行されるようにします。
  9. ブラウザで https://example.com/metrics/healthy に移動して、設定を確認します。ページには ok と表示されます。

位置情報を含める

  1. [ルール] タブで、[設定] を開きます。
  2. [Add visitor location headers] オプションを有効にします。
  3. ルールが反映されるまで数分待ちます。ブラウザで、https://example.com/metrics/?validate_geo=healthy に移動して設定を確認します。ページに ok と表示されます。

Akamai

広告主様向け Google タグ ゲートウェイでタグを配信するには、プロパティに新しいルールを追加して、リクエストを転送し、位置情報を追加する必要があります。

リダイレクト ルールを作成する

  1. プロパティ マネージャーで配信構成の新しいバージョンを作成します。
  2. [プロパティの設定] セクションで、新しい Rule を追加します。
    • 名前を入力します(例: Route measurement)。
  3. 新しい一致条件を追加する
    • 一致のプルダウンを [パス] と [次のいずれか] に設定します。
    • 一致値を /metrics/* に設定する
  4. 新しい行動を追加する
    • [Standard Property Behavior] を選択し、[Origin Server] 動作を選択します。
    • [オリジン サーバーのホスト名] を G-12345.fps.goog に設定します。
    • [Forward Host Header] を [Origin Hostname] に設定します。
  5. 新しいルールを保存して変更をデプロイする
    • 本番環境にロールアウトする前に、ステージング環境で新しいリダイレクト ルールをテストしてください。
    • ヒント: 送信レスポンス ヘッダーを変更または削除するルールがないことを確認してください。Content-Type レスポンス ヘッダーがない場合、Google スクリプトが失敗する可能性があります。

位置情報を含める

  1. [プロパティの構成設定] で、作成したリダイレクト ルールを選択します。

  2. 新しい動作を追加する

    • [Standard Property Behavior] を選択し、[Content Targeting (EdgeScape)] ビヘイビアーを選択します。
    • [有効] を true に設定します。
  3. 新しい動作を保存し、変更をデプロイします。

    • 本番環境にロールアウトする前に、ステージング環境で新しいリダイレクト ルールをテストしてください。
  4. ブラウザで https://example.com/metrics/healthy に移動して設定を確認します。ページに ok というテキストが表示されるはずです。https://example.com/metrics/?validate_geo=healthy に移動して、地理情報が含まれていることを確認します。ページに ok というテキストが表示されるはずです。

Amazon CloudFront

広告主様向け Google タグ ゲートウェイでタグを配信するには、リクエストを転送して位置情報が追加されるように配信の動作を構成する必要があります。

新しいオリジンを追加する

  1. Amazon Web Services(AWS)の CloudFront ページに移動します。
  2. CloudFront ディストリビューションを選択する
  3. [オリジン] タブで、次の設定でオリジンを作成します。
    • [オリジン ドメイン] を G-12345.fps.goog に設定します。
    • [プロトコル] を [HTTPS のみ] に設定します。

リダイレクト動作を作成する

  1. AWS の CloudFront ページに移動します。
  2. CloudFront ディストリビューションを選択する
  3. [Behaviors] タブで、次の設定で新しい Behavior を作成します。
    • [パスパターン] を /metrics/* に設定します。
    • [オリジンとオリジン グループ] を G-12345.fps.goog に設定します。
    • [オブジェクトを自動的に圧縮する] を [いいえ] に設定します。
    • [閲覧者のプロトコル ポリシー] を [HTTPS のみ] に設定します。
    • [Allowed HTTP Methods](許可された HTTP メソッド)を GET、HEAD、OPTIONS、PUT、POST、PATCH、DELETE に設定します。
    • [キャッシュキーとオリジン リクエスト] で、[キャッシュ ポリシーとオリジン リクエスト ポリシー] を選択します。
      • キャッシュ ポリシーCachingDisabled に設定する
      • オリジン リクエスト ポリシーAllViewerExceptHostHeader に設定する
  4. [行動] リストで、新しい行動の Precedence が他のすべての行動よりも高いことを確認します。
    • Precedence を変更するには、動作を選択し、[上に移動] ボタンを他のすべての動作よりも上位になるまで選択します。
  5. ブラウザで https://example.com/metrics/healthy に移動して、設定を確認します。ページには ok と表示されます。

位置情報を含める

  1. 必要な地理位置情報を転送するには、リダイレクト動作で [Headers] を [AllViewerExceptHostHeader] に設定します。
    • CloudFront ビューアのロケーション ヘッダーの完全なリストについては、こちらの記事をご覧ください。
  2. ディストリビューションがデプロイされるまで数分待ちます。ブラウザで、https://example.com/metrics/?validate_geo=healthy に移動して設定を確認します。ページに ok と表示されます。

Fastly

広告主様向け Google タグ ゲートウェイでタグを配信するには、リクエストを転送して位置情報データを追加するように Fastly CDN サービスを設定する必要があります。このプロセスでは、1 つの 条件、1 つのホスト、2 つの VCL スニペットを作成します。

条件とホストを作成する

まず、ゲートウェイのリクエストを識別する条件と、それらを Google に転送するホストを設定します。

  1. 次の設定で新しい条件を作成します。

    • タイプ: Request
    • 名前: Google Tag Gateway Path(または任意の名前)
    • 適用条件: req.url.path ~ "^/metrics"
  2. 次の設定で新しいホストを作成します。

    • ホスト名/アドレス: fps.goog
  3. 新しいホストを次の追加設定で構成します。

    • [条件を関連付ける] をクリックし、手順 1 で作成した条件を選択します。
    • [ホストをオーバーライド] を fps.goog に設定します。
    • その他の設定はデフォルトのままにします。
    • [更新] をクリックしてホストを保存します。

Google タグ ID と位置情報ヘッダーを追加する

次に、VCL(Varnish 構成言語)スニペットを追加して、Google タグ ID とクライアントのジオロケーション データを関連付けます。vcl_miss 用と vcl_pass 用の 2 つのスニペットを、まったく同じコードを使用して作成する必要があります。

  1. サービスで、[VCL Snippets] に移動し、次のフィールドを使用してスニペットを作成します。

    • 名前: Geo_MISS(または任意の名前)
    • プレースメント: Within Subroutine
    • サブルーチン: vcl_miss
    • VCL:

      if (req.url.path ~ "^/metrics") {
        set bereq.http.X-Gtg-Tag-Id = "G-12345";
        set bereq.http.X-Forwarded-Country = client.geo.country_code;
        set bereq.http.X-Forwarded-Region = client.geo.region;
        set bereq.http.X-Forwarded-Geolocation = "latlong=" +
          client.geo.latitude + "," + client.geo.longitude + ";city=" +
          client.geo.city;
      }
      
  2. 次のフィールドを使用して別のスニペットを作成します。

    • 名前: Geo_PASS(または任意の名前)
    • タイプ: vcl_pass
    • VCL:

      if (req.url.path ~ "^/metrics") {
        set bereq.http.X-Gtg-Tag-Id = "G-12345";
        set bereq.http.X-Forwarded-Country = client.geo.country_code;
        set bereq.http.X-Forwarded-Region = client.geo.region;
        set bereq.http.X-Forwarded-Geolocation = "latlong=" +
          client.geo.latitude + "," + client.geo.longitude + ";city=" +
          client.geo.city;
      }
      

    これで、2 つの新しい別々のスニペットが作成されます。これにより、ホストから取得する必要があるリクエストには、キャッシュミス(vcl_miss)かキャッシュパス(vcl_pass)かにかかわらず、位置情報ヘッダーが追加されます。

完全な構成を有効にして検証する

ホスト、条件、VCL スニペットがすべて作成されたので、完全な設定を有効にしてテストできます。

  1. [有効にする] をクリックして、すべての新しい変更をデプロイします。
  2. ブラウザで両方のテストを実行して、構成を確認します。

    • テスト 1(タグとルーティング): https://example.com/metrics/healthy に移動します。
    • テスト 2(位置情報): https://example.com/metrics/?validate_geo=healthy に移動します。

    両方のページに ok と表示されます。

その他

広告主様向け Google タグ ゲートウェイでタグを配信するには、リクエストを広告主様向け Google タグ ゲートウェイのエンドポイントにルーティングするように CDN またはロードバランサを設定する必要があります。

  1. G-12345.fps.goog を示すオリジンまたはバックエンドを追加します。
  2. G-12345.fps.goog と同じになるように Host ヘッダーをオーバーライドします。すべての Cookie とクエリ文字列の転送を許可します。
  3. 次のいずれかのヘッダーを含めることで、サイト訪問者の位置情報を受け渡します。
    • X-Forwarded-CountryRegion - ユーザーの国と地域を 1 つの ISO 3166-2 コードで表します(例: US-CA)。
    • X-Forwarded-CountryX-Forwarded-Region:
      • X-Forwarded-Country - ユーザーの国(ISO 3166-1 alpha-2 コード形式。例: US)。
      • X-Forwarded-Region - ユーザーの地域区分コード(例: CA)。
    • 両方のヘッダー セットが含まれている場合、X-Forwarded-CountryRegion が使用されます。
  4. /metrics/* のパスルールを追加して、広告主様向け Google タグ ゲートウェイにトラフィックをルーティングします。
  5. 優先度がデフォルトのルールよりも高くなるように、確保しておいたパスの優先度を設定します。
  6. ブラウザで、https://example.com/metrics/healthy に移動して設定を確認します。ページに ok と表示されるはずです。https://example.com/metrics/?validate_geo=healthy に移動して、地理情報が含まれていることを確認します。ページに ok と表示されるはずです。

ステップ 3: ウェブサイトのスクリプトを更新して測定パスを使用します

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

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

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

計測方法のセットアップをテストする

計測方法のセットアップをテストするには、配信されるタグが少なくとも 1 個あるようにコンテナを設定します。

  1. Tag Assistant に移動 して、コンテナをプレビューします。
  2. ウェブサイト内を移動して、イベントをトリガーします。
  3. [概要] > [出力] > [送信されたヒット] タブで、ヒットが /metrics に転送されていることを確認します。

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