OpenRTB入札レスポンス検証ツール
入札レスポンスの欠けた項目、型の違う価格、抜けたマクロを洗い出します。
OpenRTB入札レスポンス検証ツールはすべてブラウザ内で動作するため、実際の取引idや価格を含むレスポンスも端末内で検証されます。
入札リクエストを検証する
OpenRTB入札レスポンス検証 について
入札レスポンスはOpenRTBのやり取りの短いほうの半分で、そこで起きる不具合はたいてい巧妙ではなく構造的です。インプレッションに結び付けるimpidのない入札、文字列で送られた価格、広告主ドメインを名乗らないクリエイティブ、そして落札価格のマクロを忘れて誤った清算価格を報告する勝利通知などです。この検証ツールは取引所と同じ手順でレスポンスをたどり、仕様が求める項目と、買い手や媒体社が実務で拒む項目を分けて示します。各指摘にはJSONパスが付きます。
機能
- レスポンス、seatbid、入札の各階層で必須項目を確認
- エラー、警告、注記を分け、それぞれにJSONパスを付与
- 価格、寸法、adomain、各種idの型を検査
- OpenRTB 2.6で加わったmtypeをバージョンに応じて扱う
- 価格マクロのない勝利通知や安全でない通知URLを指摘
- ノービッドのレスポンスとnbrコードを検証
- 重複する入札idや同一インプレッションへの複数入札を検出
- ノービッド理由と媒体種別の参照表を同梱
OpenRTB入札レスポンス検証 の使い方
- 入札サーバーが返したJSONを貼り付けます
- 取引所が動かしているプロトコルの版を選びます
- まずエラーを片付け、次に警告を見ます
- 各指摘のJSONパスから該当する入札を探します
例
入力
{ "id": "1", "seatbid": [{ "bid": [{ "id": "b1", "impid": "1", "price": "2.15" }] }] }
出力
error seatbid[0].bid[0].price — price has to be a number, not a string
引用符で囲まれた価格は、入札が黙って捨てられる最も多い原因です。
よくあるエラーとトラブルシューティング
- ここでは有効なのに取引所が入札を捨てる。 — 取引所は独自の要件を重ねます。認識できるseat id、特定の分類のカテゴリ、あるいは審査済みのクリエイティブなどです。先方の接続手順書も併せて確認してください。
- 自社広告なのにadomainの警告が出る。 — それでも入れてください。媒体社は広告主ドメインで遮断するため、これがない入札は他を見る前に落とされがちです。
- 2.5の接続でmtypeが指摘される。 — mtypeはOpenRTB 2.6で加わり、2.5の取引所は無視します。版の選択を実際に運用している側に合わせてください。送っても害はありません。
- 空のseatbid配列が警告どまりになる。 — 仕様上は問題ないものの役に立たないためです。断るならHTTP 204か、理由を記録できるようnbrコードを含めたレスポンスが望ましいです。
よくある質問
- OpenRTBの入札レスポンスで必須の項目は何ですか。
- レスポンスにはリクエストのidを返すidが必要です。各入札にはid、インプレッションに対応するimpid、価格、そしてadmかnurlのいずれかでクリエイティブが要ります。
- nbrフィールドは何を意味しますか。
- ノービッドの理由です。入札しなかった理由を示す整数コードで、2は不正なリクエスト、8は識別できない利用者などを表し、取引所が理由を集計できるようにします。
- nurlにAUCTION_PRICEマクロが必要なのはなぜですか。
- 落札時に取引所が清算価格を差し込むためです。マクロがないと勝利通知は価格なしで発火し、記録には支払額ではなく入札額が残ります。
- admとnurlの違いは何ですか。
- admはクリエイティブをレスポンスに直接載せ、nurlは落札時に取引所が取りに行くURLです。今日は表示までの往復を減らせる直接埋め込みが主流です。
- mtypeは2.5の何かを置き換えますか。
- これまで推測していたことを明示にします。2.5では媒体種別をインプレッションが持つオブジェクトから読み取っていたため、複数形式のインプレッションで破綻していました。
関連ツール
すべての ArrayKit ツール