アプリケーションは、Google からの入札リクエストを処理した後、レスポンスを作成して送信する必要があります。このガイドでは、レスポンスの作成を目的としたアプリケーションのコードについて説明します。
Protobuf BidResponse メッセージを作成する
認定バイヤーは、HTTP POST
のメッセージ本文として BidRequest
を送信します。入札エンドポイントが Protobuf 形式を使用するように構成されている場合、アプリケーションは、Content-Type
ヘッダーを application/octet-stream
に設定し、シリアル化されたプロトコル バッファで構成されるメッセージ本文を含むレスポンスを送信する必要があります。プロトコル バッファは、openrtb.proto
で定義されている BidResponse
メッセージです。アプリは、すべての BidRequest
に対して解析可能な BidResponse
を返す必要があります。タイムアウトや解析できないレスポンスはエラーと見なされ、エラー率が高いビッダーはスロットリングされます。
インプレッションに入札しない場合は、空の HTTP 204 レスポンスを返す必要があります。openrtb.proto
は、参照データページから取得できます。
クリエイティブ ID
BidResponse
では、BidResponse.seatbid.bid.crid
フィールドを使用してクリエイティブを指定します(64 バイト上限)。サイズ、申告された URL、クリエイティブ属性、ベンダータイプなど、顕著な特性が異なる場合は、類似のクリエイティブでも、このフィールドに一意の値を指定する必要があります(ただしこれらに限定されません)。つまり、次の条件を満たす 2 つの広告には、異なるクリエイティブ ID を割り当てる必要があります。
- 外観や動作が異なる。
- 別の画像にレンダリングする。
- 異なる方法でレンダリングする(1 つの広告が画像で構成され、もう 1 つが動画であるなど)。
アプリケーションを設計する際は、送信するクリエイティブの種類に適した識別子を生成する体系的な方法を決定する必要があります。
広告の帰属表示
BidResponse.seatbid.bid.apis
と BidResponse.seatbid.bid.attr
の組み合わせ、または BidResponse.seatbid.bid.ext.attribute
拡張機能を使用してクリエイティブ属性を宣言し、広告の特性とターゲティングを記述することをおすすめします。属性を宣言する方法は次のとおりです。
VPAID
BidResponse.seatbid.bid.apis
をVPAID_1
またはVPAID_2
に設定します。JSON 形式の場合は、それぞれ1
または2
に設定できます。MRAID
BidResponse.seatbid.bid.apis
をMRAID_1
に設定します。JSON 形式の場合は3
に設定します。SIZELESS
BidResponse.seatbid.bid.attr
をRESPONSIVE
に設定します。JSON 形式の場合は18
に設定します。PLAYABLE
これは、BidResponse.seatbid.bid.attr
をUSER_INTERACTIVE
に設定するか、JSON 形式の場合は13
に設定することで示されます。
クリエイティブで検出されたプロパティに関するフィードバックを取得する方法については、クリエイティブ リソースをご覧ください。
Open Bidding のフィールド
Open Bidding に参加しているエクスチェンジとネットワークのビッダーが送信する入札レスポンスは、標準のリアルタイム ビッダーに参加している認定バイヤーの入札レスポンスと類似しています。Open Bidding をご利用のお客様は、追加のフィールドをいくつか指定できます。また、既存のフィールドの一部を別の用途に使用することもできます。たとえば、次のようなものです。
OpenRTB | 認定バイヤー | 詳細 |
---|---|---|
BidResponse.imp[].pmp.deals[].id |
BidResponse.ad[].adslot[].exchange_deal_id |
この入札に関連付けられ、パブリッシャーに報告されるエクスチェンジの名前空間の取引 ID。 |
BidResponse.seatbid[].bid[].ext.exchange_deal_type |
BidResponse.ad[].adslot[].exchange_deal_type |
パブリッシャーに報告される取引のタイプ。オークションでの取引の処理方法に影響します。 |
BidResponse.seatbid[].bid[].ext.third_party_buyer_token |
BidResponse.ad[].adslot[].third_party_buyer_token |
Open Bidding ユーザーとしてエクスチェンジが仲介者である場合に、最終的な第三者購入者情報を識別するために使用されるトークン。これはサードパーティの購入者から取得され、入札レスポンスで変更せずに Google に渡す必要があります。 |
推奨事項
- サーバーで永続的な HTTPS 接続(「キープアライブ」または「接続の再利用」とも呼ばれる)を有効にします。タイムアウトは少なくとも 10 秒に設定します。多くの場合、値を大きくすると効果的です。Authorizes Buyers はリクエストを高速で送信するため、リクエストごとに個別の TCP 接続を確立するレイテンシのオーバーヘッドを回避する必要があります。そのため、Google はアプリケーションの最初のレイテンシ テストでこのことを確認します。
入札者が落札したときではなく、インプレッションがレンダリングされたときをトラッキングするには、オプションのインプレッション トラッキング URL を含めます。勝利とレンダリングの間に減少があるため、より正確なトラッキング統計情報が得られます。
- 入札コードで非推奨のフィールドに依存しないようにしてください。依存すると、入札が失敗してエラーが発生する可能性があります。
BidResponse
にBidResponse.seatbid.bid.w
とBidResponse.seatbid.bid.h
を含めます。複数の広告サイズを含むリクエストのBidResponse
には、これらのフィールドを含める必要があります。含めないと、オークションから除外されます。- レスポンス サイズは 8,000 バイト未満に制限してください。非常に大きなレスポンスがあると、ネットワーク レイテンシが増加し、タイムアウトが発生する可能性があります。
- SKAdNetwork アトリビューションを必要とする iOS 広告枠への入札に関するガイドラインに沿って対応してください。
入札レスポンスの例
次の例は、Protobuf リクエストと JSON リクエストの読み取り可能なサンプルを示しています。
例を表示
シリアル化されたレスポンスid: "9u09jhHJXT2fbaDZ9V1x66" seatbid { bid { id: "37Td8Gbw1Lr8161bA4B" impid: "1" price: 0.075 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" adomain: "google.com" crid: "test_creative_id_156129" cat: "IAB22" w: 320 h: 50 language: "es" slotinpod: SLOT_POSITION_POD_ANY cattax: IAB_CONTENT_1_0 [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" exchange_deal_type: OPEN_AUCTION event_notification_token { payload: "token" } billing_id: 61560909063 } } seat: "4778:9251:780612" } cur: "USD"
例を表示
{ "id": "9u09jhHJXT2fbaDZ9V1x66", "seatbid": [ { "bid": [ { "id": "37Td8Gbw1Lr8161bA4B", "impid": "1", "price": 0.075, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com", "google.com" ], "crid": "test_creative_id_156129", "cat": [ "IAB22" ], "w": 320, "h": 50, "language": "es", "slotinpod": 0, "cattax": 1, "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456" ], "exchange_deal_type": 0, "event_notification_token": { "payload": "token" }, "billing_id": "61560909063" } } ], "seat": "4778:9251:780612" } ], "cur": "USD" }
例を表示
シリアル化されたレスポンスad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 226722 billing_id: 78614473201 currency: "USD" } click_through_url: "google.com" attribute: 105 buyer_creative_id: "test_creative_id_827359" width: 336 height: 280 impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" }
重要: サンプルに示されている Protobuf メッセージは、人間が読み取り可能なテキストとしてここに示されています。ただし、これはワイヤーを介してメッセージを送信する方法ではありません。Google または OpenRTB Protobuf 形式を使用する場合は、シリアル化された BidResponse メッセージのみが受け入れられます。
次の C++ コードを使用して、BidResponse
メッセージを作成してシリアル化できます。
BidResponse bid_response; // fill in bid response with bid information string post_response; if (bid_response.SerializeToString(&post_response)) { // respond to the POST with post_response as the content } else { // return an error to the POST }
クリエイティブを指定する
入札レスポンスでは、入札が落札した場合に配信するクリエイティブを指定します。入札には、サポートされている広告フォーマット(AMP、動画、ネイティブ)のいずれかを含める必要があります。この例では、html_snippet
フィールドを使用してクリエイティブを指定します。
または、広告フォーマットに基づいて、次のフィールドのいずれかを使用してクリエイティブを指定することもできます。
- SDK レンダリング広告
BidResponse.seatbid.bid.ext.sdk_rendered_ad
- AMP
BidResponse.seatbid.bid.amp_ad_url
- 動画
BidResponse.seatbid.bid.adm
- ネイティブ
BidResponse.seatbid.bid.adm_native
BidResponse.seatbid.bid.adm
フィールドで HTML スニペットを使用して、独自のサーバーでホストされている広告を指定します。スニペットはウェブページに挿入された iframe 内に囲まれているため、ページが読み込まれると広告が取得され、レンダリングされます。広告(バナーまたはインタースティシャル)が iframe 内で正しくレンダリングされ、入札する広告スロットに適したサイズになるように、HTML スニペットを作成する必要があります。
また、次の場合に、入札レスポンスで宣言された広告サイズは、入札リクエストのサイズの組み合わせの 1 つと完全に一致している必要があります。
- 広告が通常のバナーである(動画、ネイティブ、インタースティシャルではない)。
- ビッダーが入札レスポンスでサイズを宣言している。リクエストに複数のサイズが存在する場合は、サイズの宣言が必要です。
- インタースティシャル広告は例外です。インタースティシャルの場合は、幅が画面幅の 50% 以上、高さが画面高さの 40% 以上である必要があります。
適切にレンダリングされる有効な HTML コードを使用して HTML スニペット クリエイティブを指定できますが、Create BidResponse メッセージを作成するセクションで crid
フィールドを指定する際の制限事項に注意してください。たとえば、広告のレンダリングの一環としてサーバーから取得される URL の引数に追加情報を追加できます。これにより、インプレッションに関する任意のデータを独自のサーバーに渡すことができます。
入札レスポンスで返される HTML スニペットのポリシーのほとんどは、サードパーティ広告の場合と同じです。詳しくは、認定購入者プログラム ガイドライン、第三者配信に関する要件、広告でクリックスルー URL を宣言するをご覧ください。
マクロを指定する
マクロは、URL を含む一部の入札レスポンス フィールドに埋め込まれたフォーマット済みテキストで、広告配信時に関連する値に置き換えられます。たとえば、落札した入札に含まれる HTML スニペット クリエイティブに AUCTION_PRICE
マクロが含まれている場合、そのマクロは復号可能な値に置き換えられ、オークションでインプレッションに対して支払った金額を特定できます。
マクロは次のフィールドに含めることができます。
-
BidResponse.seatbid.bid.adm
マクロは、HTML スニペット、ネイティブ、動画 URL、動画 VAST XML の各形式でサポートされています。
-
BidResponse.seatbid.bid.adm_native.eventtrackers.url
-
BidResponse.seatbid.bid.adm_native.imptrackers
-
BidResponse.seatbid.bid.ext.amp_ad_url
AMP クリエイティブでは、Google 固有の
WINNING_PRICE
マクロとWINNING_PRICE_ESC
マクロのみがサポートされています。 -
BidResponse.seatbid.bid.burl
-
BidResponse.seatbid.bid.ext.impression_tracking_url
複数の請求 URL が必要な場合は、
BidResponse.seatbid.bid.burl
の代わりにこれを使用します。
たとえば、クリエイティブの取得に使用する URL 内に ${MACRO}
を埋め込むことで、HTML スニペットの一部としてマクロを含めることができます。ここで、MACRO
は OpenRTB 仕様で説明されているサポートされているマクロの 1 つです。
Google RTB マクロ
Google は、OpenRTB 仕様にあるマクロ以外にも、追加のマクロをサポートしています。これらのマクロの形式は異なり、URL に埋め込まれると %%MACRO%%
と表示されます。次の表に、これらのマクロについて説明します。
マクロ | 説明 |
---|---|
ADVERTISING_IDENTIFIER |
購入者がインプレッションのレンダリング時に iOS の IDFA または Android の広告 ID を受け取ることを許可します。詳しくは、広告主 ID の復号をご覧ください。 |
CACHEBUSTER |
ランダムな 4 バイト符号なし整数の文字列表現。 |
CLICK_URL_UNESC |
エスケープ処理なしの広告のクリック URL。スニペットでは、エスケープ処理された第三者のクリック URL をこのマクロの直後に記述する必要があります。 たとえば、第三者のクリック URL が <a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> 広告配信時に、次のように展開されます。 <a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> この URL は、まず Google にクリックを登録し、次にサードパーティのクリック URL にリダイレクトします。 |
CLICK_URL_ESC |
エスケープ処理された広告のクリック URL。まず別のサーバーに値を渡し、そのサーバーからリダイレクトを返すようにする場合は、 たとえば、HTML スニペットで次のコードを使用できます。 <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a> 広告配信時に、次のように展開されます。 <a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a> これにより、
|
CLICK_URL_ESC_ESC |
広告の URL を 2 回エスケープしたものです。まず別のサーバーに値を渡し、そのサーバーからリダイレクトを返すようにする場合は、 たとえば、HTML スニペットで次のコードを使用できます。 <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a> 広告配信時に、次のように展開されます。 <a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a> |
SCHEME |
入札リクエストで SSL が不要な場合は http: に拡張され、入札リクエストで SSL が必要な場合は https: に拡張されます。 |
SITE |
コンテンツ URL の URL がエスケープされたドメイン、または匿名広告枠の匿名 ID。 |
SITE_URL |
非推奨です。同じ機能を提供する SITE マクロに置き換えられました。 |
TZ_OFFSET |
タイムゾーンのオフセット。 |
VERIFICATION |
本番環境と、検証パイプラインでクリエイティブがスキャンされる場合の値が異なります。形式は たとえば、クリエイティブに |
WINNING_PRICE |
エンコードされたインプレッションの費用(CPM ではなく CPI)をアカウントの通貨で 100 万倍した値を返します。たとえば 5 米ドルの落札 CPM は、500 万マイクロ CPM または 5,000 マイクロ CPI に相当し、この場合、 このマクロを解析するには、料金確認を復号するアプリケーションを実装する必要があります。詳細については、料金確認の復号のページをご覧ください。 |
WINNING_PRICE_ESC |
URL エスケープされた WINNING_PRICE 。 |
サードパーティが配信する広告のクリエイティブ内で、CLICK_URL_UNESC
マクロまたは CLICK_URL_ESC
マクロのいずれかを使用する必要があります。Google は、クリック トラッキングに CLICK_URL
マクロを使用します。
マクロでの URL エスケープでは、次のスキームが使用されます。
- スペース文字はプラス記号(
+
)に置き換えられます。 - 英数字(0 ~ 9、a ~ z、A ~ Z)と、!()*、-./:_~ の文字は変更されません。
- 他のすべての文字は
%XX
に置き換えられます。ここで、XX
は文字を表す 16 進数です。
パブリッシャー向けの制限と要件
入札リクエストには、パブリッシャーがオークションのクリエイティブに適用する制限と要件の種類に関する情報が含まれます。
BidRequest.bcat
- このフィールドで指定したブロックされたカテゴリと、Real-time Bidding API の
detectedCategories
フィールドで検出されたカテゴリを比較できます。
- このフィールドで指定したブロックされたカテゴリと、Real-time Bidding API の
BidRequest.imp.ext.allowed_vendor_type
BidRequest.imp.secure
- 実際には、すべてのクリエイティブで SSL サポートが必須であるため、この値は常に
true
に設定されます。
- 実際には、すべてのクリエイティブで SSL サポートが必須であるため、この値は常に
BidRequest.imp.{audio/banner/native/video}
BidRequest.imp.{audio/banner/native/video}.api
BidRequest.imp.{audio/banner/native/video}.battr
BidRequest.imp.{audio/banner/video}.mimes
制限付きの機能を含む広告で入札しないでください。ベンダータイプなどの許可された機能については、ベンダータイプが BidRequest
の allowed_vendor_type
リストに含まれている場合にのみ、広告を返します。入札に含めることができるのは、BidRequest.imp.banner
などのフィールドに値を入力して入札リクエストで指定した広告フォーマットのみです。詳細については、BidRequest
プロトコル バッファ定義のこれらのフィールドのコメントをご覧ください。
BidResponse
で広告が返された場合は、BidResponse
で BidResponse.seatbid.bid.attr
、BidResponse.seatbid.bid.cat
、BidResponse.seatbid.bid.adomain
または BidResponse.seatbid.bid.adm_native.link.url
のいずれかのフィールドを正確に設定する必要があります。広告にこれらのフィールドに該当する値が複数ある場合は、すべての値を含める必要があります。詳細については、BidResponse
プロトコル バッファ定義のこれらのフィールドのコメントをご覧ください。これらのフィールドが設定されていないレスポンスは破棄されます。
Open Measurement
Open Measurement では、モバイルアプリ環境に配信される広告の独立した測定と検証サービスを提供するサードパーティ ベンダーを指定できます。
サポートされている広告フォーマットは、動画広告、バナー広告、インタースティシャル広告です。これらのフォーマットを含む入札レスポンスで Open Measurement を使用する方法について詳しくは、Open Measurement SDK のヘルプセンター記事をご覧ください。
入札レスポンスの例
以降のセクションでは、さまざまな広告タイプの入札レスポンスの例を示します。
アプリバナー
例を表示
シリアル化されたレスポンスid: "8L85Di7e9374c3jriwo2W0" seatbid { bid { id: "0L7hx7783rjD1hT81FH" impid: "1" price: 0.4000000059604645 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_192654" w: 300 h: 50 burl: "https://test.com/imp?id=123456" [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" billing_id: 70614819650 skadn { version: "3.0" network: "Y8HK1z22" campaign: "72382716" itunesitem: "953637916" sourceapp: "com.google.testapp" fidelities { fidelity: VIEW_THROUGH_ADS nonce: "bf105d9a-6df9-4d49-a10d-44e21a539415" timestamp: "1730359683568" signature: "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE" } fidelities { fidelity: STOREKIT_RENDERED_ADS nonce: "bf105d9a-6df9-4d49-a10d-44e21a539415" timestamp: "1730359683568" signature: "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY" } skadn_opts { always_open_appstore: true } } app_promotion_type: INSTALLS } } seat: "4095:5416:758587" } cur: "USD" [com.google.doubleclick.bid_response] { processing_time_ms: 16 }
例を表示
{ "id": "8L85Di7e9374c3jriwo2W0", "seatbid": [ { "bid": [ { "id": "0L7hx7783rjD1hT81FH", "impid": "1", "price": 0.4000000059604645, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_192654", "w": 300, "h": 50, "burl": "https://test.com/imp?id=123456", "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456" ], "billing_id": "70614819650", "skadn": { "version": "3.0", "network": "Y8HK1z22", "campaign": "72382716", "itunesitem": "953637916", "sourceapp": "com.google.testapp", "fidelities": [ { "fidelity": 0, "nonce": "bf105d9a-6df9-4d49-a10d-44e21a539415", "timestamp": "1730359683568", "signature": "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE" }, { "fidelity": 1, "nonce": "bf105d9a-6df9-4d49-a10d-44e21a539415", "timestamp": "1730359683568", "signature": "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY" } ], "skadn_opts": { "always_open_appstore": 1 } }, "app_promotion_type": 1 } } ], "seat": "4095:5416:758587" } ], "cur": "USD", "ext": { "processing_time_ms": 16 } }
例を表示
シリアル化されたレスポンスad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 44095 billing_id: 99718422589 } click_through_url: "google.com" attribute: 47 attribute: 50 category: 7 buyer_creative_id: "test_creative_id_997551" advertiser_name: "Google" width: 300 height: 250 impression_tracking_url: "https://test.com/imp?id=123456" skadn { version: "4.0" network: "DofiF4X5" itunesitem: "448730563" sourceapp: "195751234" fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "a869c155-3566-475c-8cb9-d0a75159e0c5" timestamp: 1728803273481 signature: "0KXE97ri9xnW9M10NDg64r014MsN7SO5R11N29oe8h8Cuao3K477i9dFH61bKny28iA6337A6EK6T3fgR9p9EJK12qvaY96E" } fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "a869c155-3566-475c-8cb9-d0a75159e0c5" timestamp: 1728803273481 signature: "EF1Vj82st371O79029Q9067AL00972U3NqNG9u295r8B4681c12Se2jk34XSR8404681c9WGa9a69779CQ87o9T81Y85198C" } source_identifier: 1 } advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 13
アプリ内インタースティシャル
例を表示
シリアル化されたレスポンスid: "6700Z3L2o0zSw9g8IqmiQ5" seatbid { bid { id: "0UBHDN63xQ8hj1F8184" impid: "1" price: 0.016728 adid: "test_creative_id_179418" adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_179418" cat: "IAB13-7" w: 300 h: 600 burl: "https://test.com/imp?id=123456" [com.google.doubleclick.bid] { billing_id: 14443955188 dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } seat: "2054:4176:757161" group: false } bidid: "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q" cur: "USD"
例を表示
{ "id": "6700Z3L2o0zSw9g8IqmiQ5", "seatbid": [ { "bid": [ { "id": "0UBHDN63xQ8hj1F8184", "impid": "1", "price": 0.016728, "adid": "test_creative_id_179418", "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_179418", "cat": [ "IAB13-7" ], "w": 300, "h": 600, "burl": "https://test.com/imp?id=123456", "ext": { "billing_id": "14443955188", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } } } ], "seat": "2054:4176:757161", "group": 0 } ], "bidid": "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q", "cur": "USD" }
例を表示
シリアル化されたレスポンスad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 80117 min_cpm_micros: 0 billing_id: 12608068331 deal_id: 0 } click_through_url: "google.com" attribute: 47 buyer_creative_id: "test_creative_id_266407" advertiser_name: "Google" width: 756 height: 384 impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" dsa_transparency { buyer_render: true } } processing_time_ms: 11
アプリ内インタースティシャル動画
例を表示
シリアル化されたレスポンスid: "79N7F1708654i75q3k69j1" seatbid { bid { id: "1gR655162hOsH9q3X6R" impid: "1" price: 2.3833 adid: "test_creative_id_648299" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_648299" attr: VIDEO_IN_BANNER_AUTO_PLAY w: 1920 h: 1080 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } billing_id: 11004606416 skadn { version: "4.0" network: "O5O88B57" itunesitem: "509167749" nonce: "" sourceapp: "com.google.testapp" timestamp: "OMITTED" signature: "OMITTED" fidelities { fidelity: VIEW_THROUGH_ADS nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b" timestamp: "1730409097616" signature: "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc" } fidelities { fidelity: STOREKIT_RENDERED_ADS nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b" timestamp: "1730409097616" signature: "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd" } sourceidentifier: "1" } app_promotion_type: INSTALLS } } seat: "1061:9160:833989" } bidid: "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp" cur: "USD"
例を表示
{ "id": "79N7F1708654i75q3k69j1", "seatbid": [ { "bid": [ { "id": "1gR655162hOsH9q3X6R", "impid": "1", "price": 2.3833, "adid": "test_creative_id_648299", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_648299", "attr": [ 6 ], "w": 1920, "h": 1080, "ext": { "event_notification_token": { "payload": "token" }, "billing_id": "11004606416", "skadn": { "version": "4.0", "network": "O5O88B57", "itunesitem": "509167749", "nonce": "", "sourceapp": "com.google.testapp", "timestamp": "OMITTED", "signature": "OMITTED", "fidelities": [ { "fidelity": 0, "nonce": "d3be52b1-8ef6-4277-8922-54450b07fd5b", "timestamp": "1730409097616", "signature": "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc" }, { "fidelity": 1, "nonce": "d3be52b1-8ef6-4277-8922-54450b07fd5b", "timestamp": "1730409097616", "signature": "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd" } ], "sourceidentifier": "1" }, "app_promotion_type": 1 } } ], "seat": "1061:9160:833989" } ], "bidid": "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp", "cur": "USD" }
例を表示
シリアル化されたレスポンスad { adslot { id: 1 max_cpm_micros: 2454000 billing_id: 95400492935 deal_id: 1 } click_through_url: "google.com" attribute: 22 attribute: 105 buyer_creative_id: "test_creative_id_716344" width: 0 height: 0 video_vast_xml: "OMITTED_VAST_XML" event_notification_token: "token" skadn { version: "4.0" network: "113tdmXM" itunesitem: "460184775" sourceapp: "751592940" fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9" timestamp: 1728932156118 signature: "7m3PDLV778PZ741T2I3561kkCW3UjIp5p63989cP311iiZ2445v20HP5ymfD8ThYO7437h22075h4h9O21S8A08U1kw3qis2" } fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9" timestamp: 1728932156118 signature: "28X90AX01Z762a3W92186a40Eb4J8ekACsYFo55J8vD445f5pcA80MH45753Iy887596gK8ax0s55ndC23eg0V7P862yS240" } source_identifier: 1 } advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 51
アプリのネイティブ
例を表示
シリアル化されたレスポンスid: "96Z599PGNvp7Mr99138Fm0" seatbid { bid { id: "NQb32Ge7Rtt84wFn2p8" impid: "1" price: 0.153584 adid: "test_creative_id_272596" adomain: "google.com" crid: "test_creative_id_272596" cat: "IAB13-7" burl: "https://test.com/imp?id=123456" adm_native { ver: "1.2" assets { id: 1 required: true title { text: "Luxury Mars Cruises" } } assets { id: 2 required: true data { value: "Visit the planet in a luxury spaceship." } } assets { id: 3 required: false data { value: "Book today" } } assets { id: 4 required: true data { value: "Galactic Luxury Cruises" } } assets { id: 5 required: true img { url: "https://native.test.com/image?id=123456" w: 1200 h: 627 } } link { url: "https://www.google.com" } eventtrackers { event: IMPRESSION method: IMG url: "https://test.com/event?id=123456" } privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED" } [com.google.doubleclick.bid] { ad_choices_destination_url: "https://test.com/preferences" billing_id: 29846056590 dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } bid { id: "4vwb23qm6iqU6w6G978" impid: "1" price: 0.153584 adid: "test_creative_id_272596" adomain: "google.com" crid: "test_creative_id_272596" cat: "IAB21" burl: "https://test.com/imp?id=123456" adm_native { ver: "1.2" assets { id: 1 required: true title { text: "Luxury Mars Cruises" } } assets { id: 2 required: true data { value: "Visit the planet in a luxury spaceship." } } assets { id: 3 required: false data { value: "Book today" } } assets { id: 4 required: true data { value: "Galactic Luxury Cruises" } } assets { id: 5 required: true img { url: "https://native.test.com/image?id=123456" w: 1200 h: 627 } } link { url: "https://www.google.com" } eventtrackers { event: IMPRESSION method: IMG url: "https://test.com/event?id=123456" } privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED" } [com.google.doubleclick.bid] { ad_choices_destination_url: "https://test.com/preferences" dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } seat: "4528:1161:591635" group: false } bidid: "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC" cur: "USD"
例を表示
{ "id": "96Z599PGNvp7Mr99138Fm0", "seatbid": [ { "bid": [ { "id": "NQb32Ge7Rtt84wFn2p8", "impid": "1", "price": 0.153584, "adid": "test_creative_id_272596", "adomain": [ "google.com" ], "crid": "test_creative_id_272596", "cat": [ "IAB13-7" ], "burl": "https://test.com/imp?id=123456", "ext": { "ad_choices_destination_url": "https://test.com/preferences", "billing_id": "29846056590", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } }, "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}" }, { "id": "4vwb23qm6iqU6w6G978", "impid": "1", "price": 0.153584, "adid": "test_creative_id_272596", "adomain": [ "google.com" ], "crid": "test_creative_id_272596", "cat": [ "IAB21" ], "burl": "https://test.com/imp?id=123456", "ext": { "ad_choices_destination_url": "https://test.com/preferences", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } }, "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}" } ], "seat": "4528:1161:591635", "group": 0 } ], "bidid": "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC", "cur": "USD" }
例を表示
シリアル化されたレスポンスad { adslot { id: 1 max_cpm_micros: 158000 billing_id: 41106584355 deal_id: 1 } click_through_url: "google.com" attribute: 70 buyer_creative_id: "test_creative_id_251451" advertiser_name: "Google" native_ad { headline: "Luxury Mars Cruises" body: "Visit the planet in a luxury spaceship." call_to_action: "Book today" advertiser: "Galactic Luxury Cruises" image { url: "https://native.test.com/image?id=123456" width: 1200 height: 222 } app_icon { url: "https://native.test.com/icon?id=123456" width: 512 height: 512 } star_rating: 4.300000190734863 click_link_url: "https://www.google.com" } impression_tracking_url: "https://test.com/imp?id=123456" impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" skadn { version: "4.0" network: "l6x39K4z" itunesitem: "731305960" sourceapp: "627009739" fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "9216faff-74a9-4b35-badc-66878c35f67c" timestamp: 1728975919221 signature: "b0USXkmg02Q3v6p301kYOHG36CCOWWdEo52RHRttB9t8PTNi79qL17E4D6h7UeUSuq479oTK13G2Ev34MJlU86C5vY1SMVw2" } fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "9216faff-74a9-4b35-badc-66878c35f67c" timestamp: 1728975919221 signature: "4Cf4NH6239z9f3wa8j6420Z7H0UISYxyxN5720444dkq6457I5FY0Jg8bk1xge2P8YgiDp74l2738136v2g1A8D50331IRm0" } source_identifier: 1 } click_tracking_urls: "https://google.com/rtb/click?imp_id=55d2112c-4947-4da5-bc37-b79ebf4577dd" advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 63
ウェブ動画
例を表示
シリアル化されたレスポンスid: "b2F6m05a9d83V7I35iw415" seatbid { bid { id: "Ob7259K5679O36pMt00" impid: "1" price: 1.52 adid: "test_creative_id_262797" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_262797" exp: 3600 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } billing_id: 47460168025 } } bid { id: "0890di791A75n9R13jM" impid: "1" price: 1.2 adid: "test_creative_id_262797" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_262797" exp: 3600 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } } } seat: "2121:7826:598388" } cur: "USD"
例を表示
{ "id": "b2F6m05a9d83V7I35iw415", "seatbid": [ { "bid": [ { "id": "Ob7259K5679O36pMt00", "impid": "1", "price": 1.52, "adid": "test_creative_id_262797", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_262797", "exp": 3600, "ext": { "event_notification_token": { "payload": "token" }, "billing_id": "47460168025" } }, { "id": "0890di791A75n9R13jM", "impid": "1", "price": 1.2, "adid": "test_creative_id_262797", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_262797", "exp": 3600, "ext": { "event_notification_token": { "payload": "token" } } } ], "seat": "2121:7826:598388" } ], "cur": "USD" }
例を表示
シリアル化されたレスポンスfad { adslot { id: 1 max_cpm_micros: 68340760 min_cpm_micros: 0 billing_id: 75752641104 deal_id: 0 } click_through_url: "google.com" vendor_type: 145 attribute: 47 attribute: 8 video_url: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" buyer_creative_id: "test_creative_id_877383" advertiser_name: "Google" event_notification_token: "token" dsa_transparency { buyer_render: true } } processing_time_ms: 17
エクスチェンジ入札者向けのモバイルウェブバナー
例を表示
シリアル化されたレスポンスid: "l30Zu42070Man1Z5u751yG" seatbid { bid { id: "4X6uu65F9J3m467C571" impid: "1" price: 0.17 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_941528" w: 320 h: 50 [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" impression_tracking_url: "https://test.com/impression?id=123456" event_notification_token { payload: "token" } billing_id: 50962964480 } } seat: "7632:7504:809671" } bidid: "II638Xkf-6432F06d-VGu8-27B4407D136w" [com.google.doubleclick.bid_response] { processing_time_ms: 70 }
例を表示
{ "id": "l30Zu42070Man1Z5u751yG", "seatbid": [ { "bid": [ { "id": "4X6uu65F9J3m467C571", "impid": "1", "price": 0.17, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_941528", "w": 320, "h": 50, "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456", "https://test.com/impression?id=123456" ], "event_notification_token": { "payload": "token" }, "billing_id": "50962964480" } } ], "seat": "7632:7504:809671" } ], "bidid": "II638Xkf-6432F06d-VGu8-27B4407D136w", "ext": { "processing_time_ms": 70 } }