ファーストパーティ配信パスを設定する

ファーストパーティ配信パス機能を使用すると、コンテンツ配信ネットワーク(CDN)またはウェブ インフラストラクチャを介して Google 広告サーバーにリクエストをルーティングすることで、マスクされていないユーザー IP アドレスを復元できます。

サードパーティのリクエストでは、ブラウザと OS の機能、ネットワーク構成によって IP アドレスがマスクされることがあります。このマスキングは、広告収入、地域ターゲティング、無効なトラフィック(IVT)の検出に影響する可能性があります。

CDN は、ドメインへのすべての受信リクエストで、ユーザーのマスクされていないクライアント IP を受信します。この機能には、次の利点があります。

  • クライアントサイドのコード変更が不要: JavaScript を編集したり、パラメータを手動で渡したりする必要はありません。Google パブリッシャー タグ(GPT)は、Google アド マネージャーの設定から構成済みのパスを読み取り、復元リクエストを非同期で実行します。
  • オーバーヘッドの削減: リクエストは軽量で、ページビュー セッションごとにローカルにキャッシュされ、広告スロットの定義に沿って非同期で実行されます。
  • 暗号化されたペイロード: デフォルトでは、この機能はユーザーの IP アドレスを暗号化されたペイロードとして返します。

このページでは、優先 CDN へのファーストパーティ配信パスを構成する方法について説明します。

前提条件

CDN を構成する前に、次の操作を行います。

  • アド マネージャー アカウントで配信パス(/adserver/ など)を指定します。パスを指定するには、方法 1: ファーストパーティ配信パスの手順に沿って操作します。
    • サービングパスが一意であり、送信するトラフィックがこのパスを使用していないことを確認します。
  • 次の項目を用意または設定します。
    • ターゲット ホストまたは送信元: securepubads.g.doubleclick.net
    • ターゲットパス: /pagead/fpm
    • プロトコル: HTTPS(デフォルト ポート 443)。
    • Headers: ヘッダーを Host: securepubads.g.doubleclick.net に設定します。
    • キャッシュ保存: ルートのキャッシュ保存をバイパスするように CDN を構成します。たとえば、キャッシュ ポリシーをキャッシュ保存または Cache-Control: no-store ヘッダーをバイパスするように設定します。
  • CDN が Cloudflare の場合、送信元ルールを作成するには Cloudflare Enterprise ティアが必要です。

CDN を構成する

設定したパスに一致するリクエストを Google 広告サーバーに転送するように、CDN またはリバース プロキシを構成します。使用する CDN を選択します。

Cloudflare

  1. 次の値を使用して、ダッシュボードでルールを作成します。

    • カスタム フィルタ式: 次のように追加します。
      • フィールド: URI Path
      • 演算子: starts with
      • 値: パス(例: /adserver/)。
    • ホストヘッダーのオーバーライド: [書き換え] を選択し、ターゲット ホスト securepubads.g.doubleclick.net を追加します。
    • DNS オーバーライド: [オーバーライド先] を選択し、ターゲット ホスト securepubads.g.doubleclick.net を追加します。
  2. 次の値を使用して、ダッシュボードで URL ルールの書き換えを作成します。

    • カスタム フィルタ式: 次のように追加します。
      • フィールド: URI Path
      • 演算子: starts with
      • 値: パス(例: /adserver/)。
    • パス: [書き換え先 > 静的 >] を選択し、/pagead/fpm ターゲットパスを追加します。
    • クエリ: [保持] を選択します。

Amazon CloudFront

  1. オリジン設定の手順に沿って、次の値を設定します。

    • オリジン ドメイン: securepubads.g.doubleclick.net
    • プロトコル: HTTPS
  2. 関数を作成するの手順に沿って、次の例を追加します。

    function handler(event) {
        var request = event.request;
        request.uri = '/pagead/fpm';
        return request;
    }
    

    この例では、受信リクエスト イベントを取得し、URI をターゲットパスに割り当てて、リクエストを返します。

    [変更を保存] をクリックし、[公開] タブに移動して、[関数を公開] をクリックします。

  3. コンソールでディストリビューションを更新するの手順に沿って、次の値を設定します。

    • パスパターン: パス(例: /adserver/*)。
    • 送信元と送信元グループ: ターゲット ホスト securepubads.g.doubleclick.net。
    • キャッシュ ポリシー: CachingDisabled を選択します。
    • オリジン リクエスト ポリシー: AllViewerExceptHostHeader を選択します。
    • 関数関連付け:
      • ビューア リクエスト: [CloudFront Function] を選択し、関数の名前を追加します。

Fastly

  1. ホストの追加の手順に沿って、次の値を指定します。

    • Address: ターゲット ホスト、securepubads.g.doubleclick.net
    • ポート: デフォルトのポート 443。
    • TLS を有効にする: はい
      • 証明書のホスト名: securepubads.g.doubleclick.net
        • [Match the SNI hostname to the Certificate Name] を選択します。
      • SNI ホスト名: securepubads.g.doubleclick.net
      • オーバーライド ホスト: securepubads.g.doubleclick.net
  2. 次の例を使用して、VCL スニペットの作成を行います。

    if (req.url ~ "^PATH") {
        set req.backend = F_NAME;
        set req.http.Host = "securepubads.g.doubleclick.net";
        set req.url = regsub(req.url, "^PATH", "/pagead/fpm");
        return(pass);
    }
    

    次のように置き換えます。

    • NAME: ホストの名前(例: Google_GAM_FPM_Backend)。
    • PATH: パス(例: /adserver/)。

Google Cloud

  1. NEG とインターネット エンドポイントを作成するの手順に沿って、次の値を使用します。

    • ネットワーク エンドポイント グループの種類: [インターネット NEG(グローバル)] を選択します。
    • デフォルト ポート: 443
    • 新しいネットワーク エンドポイント: [完全修飾ドメイン名(FQDN)とポート] を選択します。
    • FQDN: ターゲット ホスト securepubads.g.doubleclick.net を追加します。
  2. グローバル バックエンド サービスを作成し、次の値を使用してカスタム リクエスト ヘッダーを構成します。

    • バックエンド タイプ: [インターネット ネットワーク エンドポイント グループ] を選択します。
    • プロトコル: [HTTPS] を選択します。
      • ヘッダー名: Host
      • ヘッダー値: ターゲット ホスト securepubads.g.doubleclick.net を追加します。
  3. URL マップを構成するの手順に沿って操作します。

  4. [ルーティング ルール] で、サブドメインに一致する本番環境ホストルールを見つけます。

    routeRules 構成でパス マッチャーを更新します。

    name: NAME
    defaultService: projects/PROJECT_ID/global/backendServices/DEFAULT_BACKEND
    routeRules:
      - priority: 1
        matchRules:
          - prefixMatch: PATH
        service: projects/PROJECT_ID/global/backendServices/BACKEND_NAME
        routeAction:
          urlRewrite:
            pathPrefixRewrite: /pagead/fpm
    

    次のように置き換えます。

    • BACKEND_NAME: ステップ 2 で作成したバックエンド サービスの名前(例: gam-fpm-backend-service)。
    • DEFAULT_BACKEND: ウェブサイトをホストするデフォルトのバックエンド サービス。
      • Cloud Storage でウェブサイトをホストする場合は、backendServices を defaultService フィールドのリソースパスの backendBuckets パラメータに置き換えます。
    • NAME: パスマッチャーの名前(例: gam-fpm-matcher)。
    • PATH: パス(例: /adserver/)。
    • PROJECT_ID: プロジェクト ID。

実装をテストする

CDN がリクエストをプロキシして IP アドレスを渡すことを確認するには、curl コマンドを使用してテストを実行します。

curl -i https://example.comPATH

PATH は、パスに置き換えます(例: /adserver/)。

成功すると、次の出力が表示されます。

  • HTTP ステータス: 200 OK
  • レスポンス コンテンツ: Google バックエンド サーバーからのペイロード。デフォルトで暗号化された IP トークンが含まれます。

実装のトラブルシューティング

このセクションでは、CDN でのファーストパーティ配信パスの実装をトラブルシューティングするワークフローについて説明します。

次の表に、トラブルシューティングの問題、原因、解決策を示します。

問題 原因 解決策
CDN から HTTP ステータス 404 または 502 が返される パスの書き換えが有効になっていないか、Host ヘッダーがありません。 書き換えが /pagead/fpm ターゲットパスにマッピングされ、Host ヘッダーがターゲット ホスト securepubads.g.doubleclick.net にオーバーライドされていることを確認します。
広告リクエストで IP アドレスが更新されない。 CDN プロキシでキャッシュ保存が有効になっている ルートのキャッシュ ポリシーを CachingDisabled ポリシーまたは Cache-Control: no-store ヘッダーに設定してください。すべてのクライアントがバックエンド サービスにアクセスして、特定の IP アドレスを評価する必要があります。
SSL または TLS handshake の失敗 バックエンド送信元接続での SNI の不一致 TLS SNI 拡張機能でターゲット ホスト securepubads.g.doubleclick.net を送信するように CDN が構成されていることを確認します。
広告リクエストに ips パラメータがありません。 アド マネージャーのパスが CDN のパスと一致しない アド マネージャーの管理画面の [グローバル設定] ページで入力したパスが、CDN で設定したパスと一致していることを確認します。詳しくは、マスクされていないパブリッシャー提供の IP アドレスを渡す(ベータ版)をご覧ください。