ファーストパーティ配信パス機能を使用すると、コンテンツ配信ネットワーク(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
次の値を使用して、ダッシュボードでルールを作成します。
- カスタム フィルタ式: 次のように追加します。
- フィールド:
URI Path - 演算子:
starts with - 値: パス(例:
/adserver/)。
- フィールド:
- ホストヘッダーのオーバーライド: [書き換え] を選択し、ターゲット ホスト
securepubads.g.doubleclick.netを追加します。 - DNS オーバーライド: [オーバーライド先] を選択し、ターゲット ホスト
securepubads.g.doubleclick.netを追加します。
- カスタム フィルタ式: 次のように追加します。
次の値を使用して、ダッシュボードで URL ルールの書き換えを作成します。
- カスタム フィルタ式: 次のように追加します。
- フィールド:
URI Path - 演算子:
starts with - 値: パス(例:
/adserver/)。
- フィールド:
- パス: [書き換え先 > 静的 >] を選択し、
/pagead/fpmターゲットパスを追加します。 - クエリ: [保持] を選択します。
- カスタム フィルタ式: 次のように追加します。
Amazon CloudFront
オリジン設定の手順に沿って、次の値を設定します。
- オリジン ドメイン:
securepubads.g.doubleclick.net - プロトコル: HTTPS
- オリジン ドメイン:
関数を作成するの手順に沿って、次の例を追加します。
function handler(event) { var request = event.request; request.uri = '/pagead/fpm'; return request; }この例では、受信リクエスト イベントを取得し、URI をターゲットパスに割り当てて、リクエストを返します。
[変更を保存] をクリックし、[公開] タブに移動して、[関数を公開] をクリックします。
コンソールでディストリビューションを更新するの手順に沿って、次の値を設定します。
- パスパターン: パス(例:
/adserver/*)。 - 送信元と送信元グループ: ターゲット ホスト
securepubads.g.doubleclick.net。 - キャッシュ ポリシー:
CachingDisabledを選択します。 - オリジン リクエスト ポリシー:
AllViewerExceptHostHeaderを選択します。 - 関数関連付け:
- ビューア リクエスト: [CloudFront Function] を選択し、関数の名前を追加します。
- パスパターン: パス(例:
Fastly
ホストの追加の手順に沿って、次の値を指定します。
- 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
- 証明書のホスト名:
- Address: ターゲット ホスト、
次の例を使用して、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
NEG とインターネット エンドポイントを作成するの手順に沿って、次の値を使用します。
- ネットワーク エンドポイント グループの種類: [インターネット NEG(グローバル)] を選択します。
- デフォルト ポート:
443 - 新しいネットワーク エンドポイント: [完全修飾ドメイン名(FQDN)とポート] を選択します。
- FQDN: ターゲット ホスト
securepubads.g.doubleclick.netを追加します。
グローバル バックエンド サービスを作成し、次の値を使用してカスタム リクエスト ヘッダーを構成します。
- バックエンド タイプ: [インターネット ネットワーク エンドポイント グループ] を選択します。
- プロトコル: [HTTPS] を選択します。
- ヘッダー名:
Host - ヘッダー値: ターゲット ホスト
securepubads.g.doubleclick.netを追加します。
- ヘッダー名:
URL マップを構成するの手順に沿って操作します。
[ルーティング ルール] で、サブドメインに一致する本番環境ホストルールを見つけます。
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パラメータに置き換えます。
- Cloud Storage でウェブサイトをホストする場合は、
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 アドレスを渡す(ベータ版)をご覧ください。 |