拡張明細を使用した購入側の設定
API を使用して購入側を設定することは複雑に思えますが、正しい操作順序を使用して広告主、挿入注文、広告申込情報、ターゲティングを設定すると、成功の可能性が高まります。 このバージョンのガイドでは、拡張行項目とシームレスな挿入注文を使用していることを前提としています。
標準の品目構成については、 Buy-Side セットアップ ガイド を使用します。
API の前提条件
API を使用する前に、環境、使用状況の制約、API セマンティクス (コマンドの実行、フィルター処理、並べ替えなど)、ベスト プラクティスに関する情報を確認する API はじめにを読む必要があります。
操作の順序
API のセットアップ中に操作順序に従うと、必要な API 呼び出し数が減り、キャンペーンの結果が悪くなり、無駄な支出が発生する可能性がある間違いを防ぐことができます。 たとえば、プロファイルを使用せずに広告申込情報を作成することは可能ですが、プロファイルによって対象ユーザーにのみアドバタイズが保証されるため、オーバーペンディングが発生する可能性があります。 順に進むと、購入側オブジェクトを設定するときに必要なすべての設定が考慮されます。 次の図は、順序を示し、オブジェクト階層の観点から説明します。
購入側の ALI セットアップのベスト プラクティス
操作の順序に従うだけでなく、挿入注文と広告申込情報に予算とフライトの日付を含めます。常に支出オブジェクトにプロファイルをアタッチします。をクリックし、ライブに移行する準備ができるまで、支出オブジェクトの状態フィールドを非アクティブに設定します。
予算を割り当て、支出対象の日付を指定する場合は注意してください
現在の日付の後に予算間隔の開始日 (これらの日付は UI で "フライト日付" と呼ばれます) を設定すると、支出はすぐには開始できないことを意味します。 順序の上位のオブジェクトに既にこれらのフィールドが設定されている場合、明示的に変更されない限り、下位オブジェクトはそれらを継承します。 下位オブジェクトの予算間隔は、上位のオブジェクトの予算間隔内である必要があります。 (たとえば、挿入指図の予算間隔が 2018 年 4 月 2 日から 2018 年 4 月 30 日までである場合、2018 年 4 月 20 日から 2018 年 5 月 5 日の予算間隔でその挿入指図の下に広告申込情報を作成することはできません)。
プロファイルを広告申込情報にアタッチする
プロファイルを添付しない場合は、深刻なターゲット設定と支出の問題が発生する可能性があります。 プロフィールがないと、広告主に価値を提供しないインプレッションにほぼ確実に入札できます。 ターゲット設定を使用すると、広告が最も影響を与える時間帯、場所、人口統計でインプレッションを配信する前に予算が不足しないようにすることができます。
ヒント
プロファイルは、1 つのオブジェクトにのみアタッチできます。 複数の明細を使用する場合は、それぞれにプロファイルを作成する必要があります。
お金を使うまでオブジェクトが非アクティブであることを確認する
セットアップが完了して検証される前に誤って使用されないようにするには、すべての支出オブジェクトの状態フィールドを非アクティブに設定します。 指定した開始日に支出を進める準備ができたら、常にアクティブにリセットします。
購入側 API のセットアップの概要手順
手直しを最小限に抑えて広告キャンペーンを正常に設定し、オーバースペンドのリスクを減らすには、まず広告主を作成し、次にすべての非支出オブジェクトを作成し、最後に挿入順序と広告申込情報を作成します。
広告主サービスを使用して広告主オブジェクトを作成し、広告主 ID をメモします。 (これを使用して、他のすべてのオブジェクトを作成します)。
入札を構成するために必要なすべての支出以外のオブジェクト (プロファイルを除く) を作成します。 これらのグループは次のとおりです:
- 1 つ以上のクリエイティブ (配信する広告)
- 目的の顧客アクションが発生したビューとクリックを識別するコンバージョン ピクセル
- 顧客が属する人口統計セグメントを識別するセグメント ピクセル
- 許可リストまたはブロックリストを指定するドメイン リスト
広告が有効になると予想されるセグメント、人口統計、時間などを対象に、支出に焦点を当てるプロファイルを作成します。 プロファイル ID を書き留めます。
シームレスな挿入順序を作成し、挿入順序 ID と配列の
budget_intervals
ID を書き留めます。拡張された行項目を作成します。 行項目の JSON を作成するには、前の 4 つの手順すべてから ID を使用します。
注:
各オブジェクトを作成するときに返される ID を追跡してください。 ID を追跡し忘れた場合は、いつでも適切なサービスを GET 呼び出して検索できます。 ただし、レート制限があるので、API 呼び出しで効率的であることを確認する必要があることに注意してください。
広告主の作成
広告主サービスへの POST を使用して広告主を設定します。
この例では、ほとんどの広告主フィールドを除外しているため、既定値に設定されます。 ただし、拡張行項目では挿入順序を use_insertion_orders
使用する "true"
必要があるため、フィールドを明示的に含めて に設定しました。 この値が "true"
に設定されていない場合は、挿入順序を正常に作成できません。 詳細については、 広告主サービス のドキュメントを参照してください。
例に示すように、広告主の名前とその状態を含む JSON ファイルを作成します。
{ "advertiser": { "name": "Advertiser 1", "state": "active", "use_insertion_orders": "true" "default_currency": "USD" } }
注:
広告主の状態を ""
active
に設定しました。 広告主の準備が整う前に支出を開始しないように、最初にすべてのオブジェクト"inactive"
の状態を に設定することをお勧めします。 この設定によりdefault_currency
、課金の通貨が設定されます。JSON ファイルの名前を指定して、POST 要求を広告主サービスに送信します。
curl -b cookies -X POST -d @advertiser.json 'https://api.appnexus.com/advertiser'
広告主 1 という広告主を作成しました。 (広告主名は一意である必要があるため、テスト広告主を作成するときは必ずこの値を変更してください)。
支出以外のオブジェクトの作成 (パート 1)
ピクセル、セグメント、およびドメインリスト サービスに対する POST コマンドを使用して、コンバージョン イベントとセグメントのピクセルを生成し、入札に含めるか入札から除外するインベントリを定義します。 支出以外のオブジェクトは、広告申込情報や挿入順とは異なり、支出を定義しないため、依存関係の作成や誤った入札を心配することなく、任意の順序で作成できます。 その複雑さのために、プロファイルを個別にカバーします。
注:
各オブジェクトを作成するときに返される ID を追跡してください。 ID を追跡し忘れた場合は、いつでも適切なサービスに を作成 GET
して検索できます。 ただし、レート制限があるので、API 呼び出しで効率的であることを確認する必要があることに注意してください。
クリエイティブ サービスを使用して、配信する広告のクリエイティブを投稿します。 そのためには広告主 ID が必要です。
JSON ファイルを作成します。 (私たちは私たちのcreative.jsonという名前を付けました)。 creative.jsonファイルの内容は、クリエイティブの種類によって異なります。 さまざまなオプションがあります。ここに行くにはあまりにも多くの。 クリエイティブの種類と JSON ファイルを作成して作成する方法の詳細については、「 Creative Service 」を参照してください。
クリエイティブを投稿するには、次のコマンドを使用します。
curl -b cookies -X POST -d @creative.json 'https://api.appnexus.com/creative?advertiser_id=10'
ピクセル サービスを使用してコンバージョン ピクセルを生成し、広告主に関連付けます。 そのためには広告主 ID が必要です。 詳細については、「 Pixel Service 」を参照してください。
例に示すように、JSON ファイル (conversionpixel.json という名前) を作成します。
{ "pixel": { "name": "Conversion Pixel 1", "state": "active", "trigger_type": "click", "post_click_value": 8 } }
ピクセルを生成するには、次のコマンドを使用します。
curl -b cookies -X POST -d @conversionpixel.json 'https://api.appnexus.com/pixel?advertiser_id=10'
セグメント サービスを使用して、セグメント のターゲット設定を有効にするためにインベントリ ページに配置されるセグメント ピクセルを作成する ID を生成します。 セグメント のターゲット設定を使用すると、所属するセグメントに基づいてユーザーをターゲットに設定できます。 一般に、ユーザーはクリエイティブをクリックするなど、アクションに基づいてセグメントに追加されます。 セグメント ピクセルを作成するには、広告主 ID が必要です。 詳細については、「 セグメント サービス」を参照してください。
例に示すように、JSON ファイル (segmentpixel.json という名前) を作成します。
{ "segment": { "state": "active", "short_name": "Segment Pixel 1" } }
ピクセルを生成するには、次のコマンドを使用します。
curl -b cookies -X POST -d @segmentpixel.json 'https://api.appnexus.com/segment?advertiser_id=10'
インベントリ リストと inventory-list-items サービスを使用して、インベントリ リストを作成します。 インベントリ リストを使用すると、広告申込情報で使用できるドメインまたはアプリを決定する許可リストまたはブロックリストを作成できます。 許可リストには、キャンペーンのターゲット設定に含めるドメインとアプリが含まれており、ブロックリストには除外するドメインとアプリが含まれています。 詳細については、 インベントリリストサービス と インベントリリストアイテムサービスの ドキュメントを参照してください。 最初に空のインベントリ リストを作成してから、アイテムを追加するように更新します。
注:
許可リストとブロックリストの両方にドメインとアプリを配置する場合は、2 つの異なるインベントリ リストが必要です。
例に示すように、JSON ファイル (inventory-list.json という名前) を作成します。 アップロードするドメインは、通常、API で受け入れられる URI 仕様に準拠している必要があります。 実際には、国際化ドメイン名をアップロードする場合を除き、この要件について心配する必要はありません。 この場合、アップロードする前に、ASCII 以外の文字を含むドメイン名が Punycode を使用してエンコードされていることを確認する必要があります。
{ "inventory-list": { "name": "Inventory Blocklist 1", "description": "Domains to exclude", "inventory_list_type": "blocklist" } }
インベントリ リストを作成するには、次のコマンドを使用します。
curl -b cookies -X POST -d @inventory-list.json 'https://api.appnexus.com/inventory-list'
例に示すように、別の JSON ファイル (inventory-list-items.json という名前) を作成します。
{ "inventory-list-items": [ { "url": "competitor-url.com", "include_children": true } ] }
次のコマンドを使用して、インベントリリストアイテムを追加します。
curl -b cookies -X POST -d @inventory-list-items.json 'https://api.appnexus.com/inventory-list/7009/item'
支出以外のオブジェクトの作成 (パート 2: プロファイル)
POST
プロファイル サービスに対するコマンドを使用して、入札の範囲を絞り込むのに役立つ時間、場所、許可されたドメイン、ブロックされたドメイン、その他の条件を定義し、Xandr が最適な結果を得るインベントリを確実にターゲットにします。 セグメントやインベントリ リストなどのオブジェクトはプロファイルの作成に使用されることが多いため、使用されていない他のオブジェクトを定義した後でプロファイルを作成する必要があります。 これらのオブジェクトを最初に定義しない場合は、後でプロファイルに追加する必要があります。 さらに重要なのは、ターゲットを絞らずに広告申込情報を立ち上げた場合、キャンペーンの結果に貢献しないインプレッションの予算を無駄にするリスクがあります。 詳細については、「 プロファイル サービス」を参照してください。
注:
拡張広告申込情報を正常に作成するには、プロファイルで地理的ターゲットを指定する必要があります。 詳細については、「 プロファイル サービス」を参照してください。
操作する定義と、各定義に対して実行するアクション (インクルードまたは除外) を含む JSON ファイルを作成します。 profile.jsonという名前を付けました。
{ "profile": { "segment_group_targets": [ { "segments": [{ "id": 13886564, "action": "include", "name": "Segment Pixel 1" }] }], "inventory_url_list_targets": [{ "id": "7033" }], "country_action": "include", "country_targets": [{ "id": 233, "name": "United States", "code": "US" }] } }
この例では、手順 2 で作成したセグメント ピクセル (セグメント ピクセル 1) を使用しました。 このプロファイルは、そのセグメントに含まれるユーザーを対象とします。 また、このプロファイルは、作成したインベントリリストで指定されたブロックリストを使用し、支出が在庫のみを対象米国保証します。
次の
POST
例に示すように、プロファイル サービスに要求を送信します。curl -b cookies -X POST -d @profile.json 'https://api.appnexus.com/profile?advertiser_id=10'
挿入順序の作成
挿入順序サービスに対する POST コマンドを使用して、すべての明細に適用する合計予算、ペーシング、およびその他の上位レベルのルールを定義します。
挿入順序は、支出対象です。使用できる金額、使用できる期間、広告インプレッションに対して広告主が支払う条件を決定します。 挿入順序で指定した設定は、この挿入順序に対して作成したすべての広告申込情報 (つまり、それに基づいて実行されるすべてのキャンペーン) によって継承されるため、広告申込情報レベルで区別しない設定のみを指定する必要があります。 詳細については、「 挿入順序サービス」を参照してください。 シームレスな挿入順序の手順に従っていることを確認します。
挿入順のすべての行項目に適用する最小設定を指定する JSON ファイルを作成します。 insertion-order.jsonという名前を付けました。 次の例は、予算がインプレッションではなく収益の観点から制御されることを示しています。2019 年 1 月の最初の 2 週間が挿入命令でカバーされていること。有効期間予算が $20,000 に設定されていること。この予算は、挿入順序の有効期間全体に分散する必要があります。 行項目では、これらの制約を遵守する必要があります。
{ "insertion-order": { "name": "Insertion Order 1", "budget_type": "revenue", "budget_intervals": [ { "start_date": "2019-01-01 00:00:00", "end_date": "2019-01-15 23:59:59", "enable_pacing": "true", "lifetime_budget": "20000", "lifetime_pacing": "true"}] } }
注:
日付、合計予算、ペーシングが配列内に
budget_intervals
配置されていることがわかります。 この配置は、シームレスな挿入順序に必要です。これは、拡張された行項目を使用する場合に必要になります。 内budget_intervals
ではなく、挿入注文コードの最上位レベルで、end_date
や などのstart_date
予算作成基準を設定した場合、挿入順序は広告申込情報と互換性がないため、新しい名前で挿入順序を再作成する必要があります。 詳細については、「 挿入注文サービス 」を参照してください。例に
POST
示すように、JSON ファイルの名前を指定して、要求を挿入順サービスに送信します。curl -b cookies -X POST -d @insertion-order.json 'https://api.appnexus.com/insertion-order'
明細の作成
POST
広告申込情報サービスに対するコマンドを使用して、ターゲット設定、最適化、入札戦略、および親の挿入順序でまだ定義されていない予算作成基準を定義する広告申込情報を設定します。
最も複雑な支出オブジェクトとして、広告申込情報は、広告掲載順、プロファイル、およびキャンペーン支出の 1 つ以上のスライスの画像を完成させるために作成したその他の支出以外のオブジェクトを結び付けます。 1 つの挿入順序で複数の明細を作成できます。 明細レベルより上に作成された設定は上書きできないことに注意してください。 たとえば、親の挿入順序で定義されている間隔の外側に予算間隔を作成することはできません。 また、手順 3 で作成したプロファイルをこの行項目に添付するには、プロファイル ID をフィールドに profile_id
割り当てます。
注:
予算間隔を指定する場合は、親の挿入順序の を parent_interval_id
含める必要があります。 そうしないと、広告申込情報を投稿できない場合があります。
詳細については、 拡張行項目サービス のドキュメントを参照してください。
例に示すように、行項目に含める設定を指定する JSON ファイルを作成します。 line-item.jsonという名前を付けました。
が に設定されていること
line_item_type
にstandard_v2
注意してください。これは拡張された行項目であることを示します。{ "line-item":{ "name":"Line Item Example 1", "state":"inactive", "ad_types":[ "banner" ], "advertiser":{ "id":2724036, "name":"Advertiser_example_1" }, "insertion_orders":[ { "id":866534 } ], "budget_intervals":[ { "start_date":"2019-01-01 00:00:00", "end_date":"2019-01-08 23:59:59", "lifetime_pacing":false, "enable_pacing":false, "parent_interval_id":3159443 } ], "manage_creative":true, "creatives":[ { "id":108159983 } ], "pixels":[ { "id":1014869 } ], "goal_type":"cpa", "goal_value":null, "goal_pixels":[ { "id":1014869, "post_click_goal_target":5, "post_click_goal_threshold":5 } ], "line_item_type":"standard_v2", "profile_id":105327068, "revenue_type":"cpm", "revenue_value":2.00, "supply_strategies":[ { "rtb":true, "managed":false, "deal":false } ], "valuation":{ "goal_target":3.0, "goal_threshold":null } } }
JSON ファイルの
POST
名前を指定して、要求を挿入順サービスに送信します。curl -b cookies -X POST -d @line-item.json 'https://api.appnexus.com/line-item?advertiser_id=10'