次の方法で共有


監査可能な動的クリエイティブを送信する

Xandr のプラットフォームでリーチを最大化するには、Creative API サービスを使用してすべてのクリエイティブを送信する必要があります。

ただし、監査のためにすべてのバリエーションを提出するのは面倒でコストがかかる場合があります。 カスタム マクロを使用すると、同じサイズとブランドのクリエイティブを統合することで、実行される監査の数を減らすことができます。

クリエイティブは Xandr のシステム内のオブジェクトとして定義され、HTML/JavaScript コード (または HTML/JavaScript コードを指す URL) とクリエイティブのサイズやその他の値に基づいて広告をレンダリングする方法を定義します。 Xandr クリエイティブ ポリシーに従って、このクリエイティブ オブジェクトは常に一貫したブランド、言語、サイズを持つ広告をレンダリングする必要があります。

Creative API サービスを使用して Xandr システムに送信されるサンプル JSON については、以下を参照してください。

{
    "creative": {
        "content": "<script type="text/javascript" language="javascript">
                        if (${IS_PREVIEW}) 
                                                {
                                                var creative = http://creative.com/static.js
                                                }
                                        else
                                                {
                                                var creative = http://creative.com/${dynamic_ad_markup}
                                                }
                                        </script>
                                        <script type="text/javascript" src="http://creative.com/loadjs.js">
                                        </script>"
        "width": "320",
        "height": "50",
        "template": {
            "id": 7
        }
    }
}
  • 使用する必要があるテンプレート ID を特定するには、この リンク を参照してください。
  • 上記のクリエイティブ JSON のコンテンツ フィールドのスクリプト スケルトンの例を参照してください。

この条件は if クリエイティブ監査プロセスに存在し、コードでクリエイティブが監査されているかどうかを判断し、クリエイティブの監査可能な静的バージョンを表示できます。

この条件は else 、オークションがトリガーされ、入札者に Xandr の入札要求に応答する機会が与えられたライブ インプレッションに対して存在します。

入札応答では、カスタム マクロ ${dynamic_ad_markup}の値を渡す機会が与えられるでしょう。

使用しているプロトコルに応じて、入札応答は次のようになります。

Xandr protocol
 
{
    "bid_response": {
        "responses": [
            {   "creative_id": 1,
                "auction_id_64": 486730670703283200,
                "price": 1,
                "custom_macros": [
                    {
                        "name": "dynamic_ad_markup",
                        "value": "dynamic.js"
                    }
                ],
                "member_id": 1
            }
        ]
    }
}
OpenRTB protocol
 
{
    "id": "5461124730276536244",
    "seatbid": [
        {
            "seat": "1",
            "bid": [
                {
                    "adid": "1",
                    "price": 1,
                    "ext": {
                        "appnexus": {
                            "custom_macros": [
                                {
                                    "name": "dynamic_ad_markup",
                                    "value": "dynamic.js"
                                }
                            ]
                        }
                    }
                }
            ]
        }
    ]
}

実際のオークションでは、これらのカスタム マクロ値はマクロ プレースホルダーに置き換えられます。

結果として得られるクリエイティブ コンテンツは、次のようになります。

<script type="text/javascript" language="javascript">
if (${IS_PREVIEW}) 
{
var creative = http://creative.com/static.js
}
else
{
var creative = http://creative.com/dynamic.js
}
</script>
<script type="text/javascript" src="http://creative.com/loadjs.js">
</script>

dynamic.js値は入札者によって完全に制御されるため、"more_dynamic.js" などの別の値を渡すことができます。

カスタム マクロを使用してクリエイティブを動的にレンダリングする場合でも、特定のクリエイティブ ID のすべてのレンダリングには、同じブランド、言語、サイズが必要であることに注意してください。