ビッドレスポンス

サイズ

bid responseの最大サイズは4 KBです。

No bid(入札なし)

No-bid(入札なし)レスポンスを伝達するには、ステータスコード204の空のレスポンスを返します。

Win/loss/billing通知

AppLovin RTBは、リクエスターがリクエストのnurllurl、およびburlフィールドでそれぞれ提供するwin、loss、およびbilling通知URLを呼び出します。 AppLovin RTBは、オークションが完了し、AppLovinがデバイスに広告を送信するときにwin URLを呼び出します。 関連する広告の読み込みに失敗した場合(オークション中)、または別の落札広告が読み込まれた後に、loss URLを呼び出します。 デバイスが広告をレンダリングするとき(つまり、動画の再生が開始されたとき、またはグラフィック広告の場合はデバイスが広告を表示したとき)にbilling URLを呼び出します。

リクエスターは、これらの通知URLの仕様にマクロを埋め込むことができます。 AppLovin RTBは、URLをリクエストする前に、それらのマクロを適切な値に置き換えます。 以下は、リクエスターがこれらのURLに埋め込むことができるマクロの一覧です。

これらのマクロは大文字と小文字を区別します。必ずすべて大文字(ALL CAPS)で指定してください。 これらのマクロは${…}で囲んでください(例:${AUCTION_ID})。

マクロ説明
AUCTION_BID_IDBidResponse.bidid属性から取得される、入札のID。
AUCTION_IDBidRequest.id属性から取得される、bid request of ID。
AUCTION_LOSSOpenRTB 2.5仕様のTable 5.25に定義されているLoss理由コード。lurlでのみ送信されます。
AUCTION_MINIMUM_BID_TO_WIN2番目に高い入札価格。この値はオークションの落札者にのみ関連し、lurlで渡された場合は無視できます。入札が1つ(落札した入札)のみの場合、渡される値は0になります。
AUCTION_PRICEオークションの落札価格/清算価格。nurllurlの両方で返されるため、すべての入札者(落札または不落札)が最終的な支払価格を確認できます。入札と同じ通貨および単位を使用します。小数点以下最大6桁。落札された入札がない場合、渡される値は0になります。

マクロを含むwin bid URLの例

https://example.com/endpoint/auction=${AUCTION_ID}&price=${AUCTION_PRICE}

広告マークアップ基準

DSP入札者は、bid responseに広告マークアップを含める必要があります。 AppLovin RTBは、win通知のレスポンスとして広告マークアップを返すことをサポートしていません。

広告マークアップは、AppLovinのRTB広告マークアップ基準に準拠している必要があります。 AppLovinのRTBサーバーは、入札を受信するとすぐに広告マークアップの準拠性をチェックします。 その後、広告マークアップに対して以下のサニティチェックを実行します。

  • 広告マークアップが適切にエスケープされていること。
  • VAST広告を除き、広告マークアップがURLエンコードされていること。
  • 広告マークアップのHTMLがスニペットであること。
  • リッチメディア広告で入札する場合は、ノードのコンテンツをCDATA構造内に配置すること。 XML内のCDATAはエンコードを一切必要としません。 ただし、JSONコンテキストでXMLドキュメントを渡す場合は、以下のJSON構文およびエスケープルールを適用してください。
    • すべてのダブルクォーテーションを\"としてエスケープする。
    • アポストロフィはエスケープしない。
    • XMLドキュメントからすべてのタブ文字と改行文字を取り除く。 (以下のVAST広告マークアップの例は、読みやすさを考慮してフォーマットされています。 実際の広告マークアップには余分な空白を送信しないでください。)

広告マークアップスニペットが(CDATAを含めて)有効なJSONコンテンツであることを確認するには、そのスニペットをオンラインのJSONLintバリデータに渡して検証できます。

SDK入札者は、SDKがすべてのクリエイティブをレンダリングするため、広告マークアップを渡す必要はありません。 SDK入札者は、admarkupフィールドを使用してカスタムデータを渡すことができます。このデータは、ロード時にアダプターを介してSDKに返されるように設定できます。

Bid responseの構成要素

bid responseには3つの構成要素があります。

bidresponse
トップレベルオブジェクト
seatbid
特定のseatに代わって入札者が行った入札のコレクション
bid
特定のビジネス条件の下で特定のインプレッションを購入するオファー

Bid responseオブジェクト

属性タイプ説明必須?
bididstringロギング/トラッキングを支援するために入札者が生成したレスポンスID。いいえ
curstring"USD"のみを受け入れ、デフォルトもこれになります。いいえ
idstringこのレスポンスが対応するbid requestのID(bidrequest.idと一致する必要があります)。はい
nbrinteger入札しない理由。OpenRTB 2.5仕様のList 5.24を参照してください。推奨
seatbidobject arrayseatbidオブジェクトの配列。入札を行うには、少なくとも1つ必要です。はい

Seatbidオブジェクト

属性タイプ説明必須?
bidobject arraybidオブジェクトの配列。入札を行うには、少なくとも1つ必要です。はい
seatstringこの入札が行われる代理の入札者seatのID。bid responseには、複数の「seat」からの入札を含めることも、同じseatからの複数の入札を含めることもできます。半角英数字の文字列で、最大40文字、理想的には最小8文字である必要があります。サポートされていません。いいえ

Bidオブジェクト

属性説明必須?
adid (string)入札が落札した場合に配信する、プリロードされた広告のID。いいえ
adm (string)入札が落札した場合に広告マークアップを伝達する主な手段。マークアップが両方にある場合は、win通知よりも優先されます。置換マクロを含めることができます。サポートされているマクロを参照してください。ネイティブ広告フォーマットの場合、adm_nativeがサポートされています。はい
adomain (string array)広告主のドメイン名の配列。AppLovin RTBは配列の最初のドメインのみを使用します。広告主ドメインは、広告主のランディングページのトップレベルドメイン名と一致する必要があり、完全なランディングページURLであってはなりません。アプリストアのランディングページの場合、adomainはアプリ所有者のトップレベルドメイン名と一致する必要があり、完全なアプリストアURLであってはなりませんadomainの値には、「http://」、「https://」、または「/」(スラッシュ)文字を含めてはなりません。例:yourapp.com(ただし、yourapp.com/somethinghttps://yourapp.com不可)。はい
api (integer)OpenRTB Spec 2.5 Table 5.6を参照してください。いいえ
apis (integer array)このインプレッションでサポートされているAPIフレームワークのリスト。以下のいずれか:
  • 1—VPAID1.01
  • 2—VPAID2.01
  • 3—MRAID-1
  • 4—ORMMA1
  • 5—MRAID-2
  • 6—MRAID-3
  • 7—OMID-1
1 ALXではサポートされていません
 
attr (integer array)該当する場合に必須。クリエイティブ属性。このリストから取得した値の配列:
  • 1—オーディオ広告(自動再生)
  • 2—オーディオ広告(ユーザー開始)
  • 3—エキスパンダブル(自動)
  • 4—エキスパンダブル(ユーザー開始–クリック)
  • 5—エキスパンダブル(ユーザー開始–ロールオーバー)
  • 6—インバナー動画広告(自動再生)
  • 7—インバナー動画広告(ユーザー開始)
  • 8—ポップアップ(例:オーバー、アンダー、または終了時)
  • 9—刺激的または暗示的な画像
  • 10—ブレ、フラッシュ、ちらつき、極端なアニメーション、スマイリー
  • 11—アンケート
  • 12—テキストのみ
  • 13—ユーザーインタラクティブ(例:埋め込みゲーム)
  • 14—Windowsダイアログまたはアラートスタイル
  • 15—オーディオオン/オフボタンあり
  • 16—広告がスキップボタンを提供(例:プレロール動画上のVPAIDレンダリングされたスキップボタン)
  • 17—Adobe Flash
指定する場合、これは正確であり、実際のクリエイティブを反映している必要があります。そうでない場合はポリシー違反となります。このフィールドはVAST動画の配信には必須ではありませんが、HTMLまたはMRAIDインバナー動画の配信には必須です。
推奨
bundle (string)広告主のアプリケーションのiTunes IDまたはAndroidパッケージ名。これがアプリケーションインストール広告でない場合は、このフィールドを空のままにしてください。パブリッシャーのアプリケーションバンドルを渡さないでください。渡した場合、AppLovin RTBはレスポンスを拒否します。例:Androidではcom.example.app、iOSでは628677149ext.skadnが存在する場合は必須。それ以外の場合は常に推奨
burl (string)落札した入札が課金対象になったときにエクスチェンジによって呼び出されるbilling通知URL。DSPはインプレッションと支出のトラッキングにburlを使用する必要があります。AppLovinは、トラッキングにburlが使用されている場合にのみ不一致を調査します。はい
cat (string array)クリエイティブのIABコンテンツカテゴリ。OpenRTB 2.5仕様のセクション 5.1を参照してください。はい
cid (string)広告品質チェックを支援するためのキャンペーンID。iurlが代表するクリエイティブのコレクション。推奨
crid (string)キャンペーンのクリエイティブを一意に識別します。クリエイティブが新しいインプレッションに表示されることを示すために、同じクリエイティブに新しいクリエイティブIDを割り当てないでください。はい
dealid (string)この入札がインベントリパッケージに関連する場合、bid requestからのdeal.idへの参照。インベントリパッケージに対して入札する場合を除き、渡さないでください。インベントリパッケージの場合は必須
ext (object)OpenRTBに対する入札者固有の拡張機能のプレースホルダー。いいえ
ext.crtype (string)配信する広告のタイプを示します。有効な値は以下の通りです:
  • HTML
  • MRAID 1.0
  • MRAID 2.0
  • MRAID 3.0
  • native
  • VAST 2.0
  • VAST 3.0
  • VAST 4.0
  • VAST 4.1
  • VAST 4.2
1つのcrtypeのみを購入する場合、AppLovin側でcrtypeをハードコードすることができます。ご希望の場合は、AppLovinのアカウントマネージャーにお問い合わせください。bid.crtypecrtypeを渡すこともサポートされています。
推奨
ext.clicktrackers (string array)AppLovinがクリックイベントを記録するときに一貫して追跡されるクリックトラッキングURL(ファーストパーティおよびサードパーティ)。これはネイティブには適用されません。HTML広告 + SKAD (SKAdNetwork) を実行している場合は必須
ext.duration (integer)動画の長さ(秒単位)。CTVインベントリの場合は必須
ext.imptrackers (string array)サードパーティのトラッキングニーズで使用されるインプレッショントラッキングURL。これはネイティブには適用されません。nativeオブジェクトeventtrackersを参照してください。いいえ
ext.skadn (object)loadProduct()を介してAppleのSKAdNetworkアトリビューションAPIをサポートするために必要なパラメータ。いいえ
ext.skadn.campaign (string)キャンペーンID(2.0–3.0)またはソースID(4.0+)。これは、SKAdNetworkバージョン2.0–3.0の場合は1から100の間、バージョン4.0+の場合は0から9999の間の整数を文字列として表したものである必要があります。ext.skadnが存在する場合は必須
ext.skadn.fidelities[] (object array)SKAdNetwork v2.2で導入された複数のフィデリティタイプをサポートします。ext.skadnが存在する場合は必須
….fidelities[«n»].fidelity (integer)追跡するアトリビューションのフィデリティタイプ。ext.skadnが存在する場合は必須
….fidelities[«n»].nonce (string)各広告レスポンスに固有のID。適切なUUIDフォーマット要件については、Appleのドキュメントを参照してください。ext.skadnが存在する場合は必須
….fidelities[«n»].signature (string)Appleによって指定されたSKAdNetwork署名。ext.skadnが存在する場合は必須
….fidelities[«n»].timestamp (string)ミリ秒単位のUnix時間。signatureの時点で使用される文字列。ext.skadnが存在する場合は必須
ext.skadn.itunesitem (string)AppleのApp Storeにおける広告主アプリのID。BidResponse.seatbid.bid.bundleと一致する必要があります。ext.skadnが存在する場合は必須
ext.skadn.network (string)署名で使用されるアドネットワーク識別子。リクエスト内のskadnetids配列のアイテムのいずれかと一致する必要があります。ext.skadnが存在する場合は必須
ext.skadn.nonce (string)各広告レスポンスに固有のID。適切なUUIDフォーマット要件については、Appleのドキュメントを参照してください。注意: SKAdNetwork v2.2のリリースに伴い、このフィールドは非推奨となり、複数のフィデリティタイプをサポートするext.skadn.fidelities[«n»].nonceが推奨されます。ext.skadnが存在する場合は必須
ext.skadn.productpage (string)カスタムプロダクトページID。いいえ
ext.skadn.signature (string)Appleによって指定されたSKAdNetwork署名。注意: SKAdNetwork 2.2のリリースに伴い、このフィールドは非推奨となり、複数のフィデリティタイプをサポートするext.skadn.fidelities[«n»].signatureが推奨されます。ext.skadnが存在する場合は必須
ext.skadn.skoverlay (object)潜在的なSKOverlayを制御するためのパラメータ。オーバーレイは、動画の開始、コンパニオン広告のレンダリング、またはユーザーがオーバーレイを閉じたが広告が開いたままになっている状態の後に、遅延(遅延なしの場合は0)を伴ってトリガーできます。注意: Appleはクリックコールバックを提供しないため、AppLovinはユーザーがSKOverlayをクリックしたタイミングを追跡しません。いいえ
….skoverlay.position (integer)オーバーレイの位置。0 = bottom、1 = bottomRaised。デフォルトは0いいえ
….skoverlay.dismissable (integer)ユーザーがオーバーレイを閉じることができるかどうか(1は閉じることができる、0は画面上に固定されることを意味します)。デフォルトは1いいえ
….skoverlay.video_delay (integer)動画開始からオーバーレイを表示するまでの秒数。動画開始に基づいてトリガーしない場合は、これを-1に設定します。ext.skadn.skoverlayが存在する場合は必須
….skoverlay.companion_delay (integer)コンパニオン広告がレンダリングされてからオーバーレイを表示するまでの秒数。コンパニオン広告のレンダリングに基づいてトリガーしない場合は、これを-1に設定します。ext.skadn.skoverlayが存在する場合は必須
….skoverlay.sk_dismiss_delay (integer)表示されたStoreKit画面が閉じられてからオーバーレイを表示するまでの秒数。StoreKitのクローズに基づいてトリガーしない場合は、これを-1に設定します。ext.skadn.skoverlayが存在する場合は必須
ext.skadn.sourceapp (string)AppleのApp StoreにおけるパブリッシャーアプリのID。BidRequest.imp.ext.skad.sourceappと一致する必要があります。ext.skadnが存在する場合は必須
ext.skadn.timestamp (string)ミリ秒単位のUnix時間文字列。signatureの時点で使用されます。注意: SKAdNetwork 2.2のリリースに伴い、このフィールドは非推奨となり、複数のフィデリティタイプをサポートするext.skadn.fidelities[«n»].timestampが推奨されます。ext.skadnが存在する場合は必須
ext.skadn.version (string)希望するSKAdNetworkのバージョン。2.0以上である必要があります。ext.skadnが存在する場合は必須
ext.vendor (string array)表示される広告のビューアビリティを測定するビューアビリティベンダーの名前。インプレッションのビューアビリティ測定値を収集する場合にのみ、bid responseでビューアビリティベンダーを宣言する必要があります。Integral Ad Science (IAS)の場合は"ias"に設定します。Moatの場合は"moat"に設定します。バイヤーは、ビューアビリティ測定用のディスプレイキャンペーンを返す場合、bid responseでベンダーを返答する必要があります。Open Measurement Viewabilityには適用されません。ビューアビリティを測定するキャンペーンの場合は必須
h (integer)密度独立ピクセル(dp)単位でのクリエイティブの高さ。推奨
id (string)ロギング/トラッキングを支援するために入札者が生成した入札ID。はい
impid (string)関連するbid request内のImpressionオブジェクトのID。はい
lurl (string)入札が不落札だったときにエクスチェンジによって呼び出されるloss通知URL。置換マクロを含めることができます。サポートされているマクロを参照してください。いいえ
nurl (string)入札がインプレッション機会を獲得した場合にエクスチェンジによって呼び出されるwin通知URL。推奨
price (float)CPMとして表される入札価格(実際の取引はユニットインプレッションのみですが)。タイプはfloatを示していますが、通貨を処理する際には整数演算(JavaのBigDecimalなど)を強く推奨します。はい
protocol (integer)該当する場合、マークアップの動画レスポンスプロトコル。詳細はOpenRTB Spec 2.5 Table 5.8を参照してください。いいえ
w (integer)密度独立ピクセル(dp)単位でのクリエイティブの幅。推奨

トラッキングフィールド

次の表は、デマンドサイドプラットフォーム(DSP)が利用できるトラッキングフィールドと、その推奨される用途を示しています。

インプレッションと支出は、bid responseフィールドのburlを使用して追跡する必要があります。 AppLovinは、トラッキングにburlが使用されている場合にのみ不一致を調査します。

bidresponse.bid. トラッカーメソッド推奨される用途
.adm
  • HTML:クライアントサイドで発火
  • VAST:<ImpressionTracker>ノード。サーバーサイドで発火。サーバー間コールバックのヘッダーとしてX-Device-IPX-Device-User-Agentが送信されます:
    X-Device-IP
    実際のユーザーデバイスのIPアドレス
    X-Device-User-Agent
    実際のユーザーデバイスのUA
  • HTML:無効トラフィック(IVT)トラッキング
  • VAST:パートナーによるインプレッショントラッキング
.adm.native.eventtrackersクライアントサイドで発火
  • 無効トラフィック(IVT)トラッキング
  • Open Measurement SDK (OMSDK)
  • パートナーによるインプレッショントラッキング
Open RTB 1.2 Native Ads Specの「7.7 Event Tracking Methods Table」の「methods」で定義されているimgおよびjsタグをサポートします。これらのフィールドはIABによって非推奨予定(eventtrackersが推奨されるため)であるため、DSPはnative.imptrackersnative.jstrackerではなく、native.eventtrackersを使用することが推奨されます。
.adm.native.imptrackersクライアントサイドで発火(eventtrackers推奨のため非推奨)無効トラフィック(IVT)トラッキング
.adm.native.jstrackerクライアントサイドで発火(eventtrackers推奨のため非推奨)Open Measurement SDK (OMSDK)
.adm.native.link.clicktrackersクライアントサイドで発火クリックトラッキング(任意)
.burlサーバーサイドで発火。サーバー間コールバックのヘッダーとしてX-Device-IPX-Device-User-Agentが送信されます:
X-Device-IP
実際のユーザーデバイスのIPアドレス
X-Device-User-Agent
実際のユーザーデバイスのUA
バイヤー(DSP)向けのインプレッションおよび支出トラッキング
.ext.imptrackersサーバーサイドで発火。サーバー間コールバックのヘッダーとしてX-Device-IPX-Device-User-Agentが送信されます:
X-Device-IP
実際のユーザーデバイスのIPアドレス
X-Device-User-Agent
実際のユーザーデバイスのUA
パートナーによるインプレッショントラッキング

Bid responseの例

{
  "id": "5e1eb292d6b7ea9cf3da74ddb385996a62d3a6e9",
  "seatbid": [
    {
      "bid": [
        {
          "id": "8JxH4DHN4KMF21Vd",
          "impid": "1",
          "price": 15,
          "adid": "1093919",
          "adm": "<a href=\"https://click.url/click/8JxH4DHN4KMF21Vd?uid=05D02DC6-0132-4C2C-A879-79BB026BE3F8&partner=applovin&ts=2018-07-09T18-19-01Z&ad=1093919\"><img src=\"https://assets.dsp.io/ad_assets/files/320x50.png\" height=\"50\" width=\"320\" alt=\"\"/></a>",
          "adomain": [
            "advertiser.com"
          ],
          "bundle": "123123123",
          "iurl": "https://assets.dsp.io/ad_assets/files/320x50.png",
          "cid": "12345",
          "crid": "crid123",
          "cat": [
            "IAB22-2"
          ],
          "h": 50,
          "w": 320,
          "ext": {
            "crtype": "HTML",
            "imptrackers": [
                "https://example.dsp.events/win/8JxH4DHN4KMF21Vd?ts=2018-07-09T18-19-01Z&ad=1093919&uid=05D02DC6-0132-4C2C-A879-79BB026BE3F8&auction=${AUCTION_ID}&price=${AUCTION_PRICE}&partner=applovin"
            ]
          }
        }
      ]
    }
  ],
  "bidid": "8JxH4DHN4KMF21Vd",
  "cur": "USD"
}

ネイティブ広告レスポンスの例

{
  "bidid":"9aa2a2950894c95b9b02476a5ba5438dc6de8dc1",
  "cur":"USD",
  "id":"65de6af36e6fb32778afa94a996ec4c2b514145d",
  "seatbid":[
    {
      "bid":[
        {
          "adm":"{\"native\":{\"assets\":[{\"id\":100,\"title\":{\"text\":\"Test Ad\"}},{\"id\":200},{\"id\":300,\"img\":{\"h\":null,\"url\":\"https://assets.com/main_image.png_\",\"w\":null}},{\"id\":310,\"img\":{\"h\":80,\"url\":\"https://assets.com/icon_image.png\",\"w\":80}},{\"data\":{\"value\":\"Test Ad Subline\"},\"id\":420},{\"data\":{\"value\":\"Continue\"},\"id\":430},{\"data\":{\"value\":\"4.5\"},\"id\":410}],\"imptrackers\":[\"https://adserver.com/impression_tracker\"],\"link\":{\"url\":\"https://adserver.com/click_destination\"}}}\n",
          "adomain":[
            "somegame.com"
          ],
          "bundle":"com.game.example",
          "cat":[
            "IAB1"
          ],
          "crid":"74650.0!3ILDTypkALKe8xfw2WJLmxfNOftiOg2u3yeGIKEULAU*",
          "ext": {
            "crtype":"native"
          },
          "id": "1",
          "impid": "1",
          "iurl": "https://assets.com/preview.png",
          "price": 1.0
        }
      ],
      "seat":"A00000001"
    }
  ]
}

search