Digital Platform API - 広告プロファイル サービス
ネットワークでは、パブリッシャーのページで実行できるブランドとクリエイティブの種類を定義するために、"広告承認プロファイル" を作成する必要がある場合があります。 Ad Profile Service を使用すると、メンバー レベルまたはパブリッシャー レベルで広告承認プロファイルを作成できます。 パブリッシャー レベルで作成するには、発行元 ID を含めます。 パブリッシャー ID が含まれていない場合は、すべてのパブリッシャーで使用できるネットワーク レベルのプロファイルになります。
広告プロファイルは、メンバー、ブランド、クリエイティブ、言語、技術属性、カテゴリ、広告サーバーという複数の要素で構成されます。 広告プロファイルを作成するときは、システム内の各クリエイティブを個別に承認または禁止できますが、ブランドまたはメンバー全体を承認または禁止することで時間を節約できます。
- メンバーは信頼されている必要があります。 広告が常に受け入れられると思われる場合。 たとえば、ネットワーク A を信頼して質の高い広告を掲載できるため、各クリエイティブを監査する必要性を軽減できます。
- ブランドは信頼する必要があります。 このブランドの広告はほぼ常に受け入れられると信じている場合。 ただし、特定のクリエイティブが "信頼できる" ブランドの一部であっても、常に禁止することができます。 特定のクリエイティブが禁止されていない場合は、既定で実行されます。
- ブランドは禁止する必要があります。 このブランドの広告が受け入れられることはないと思われる場合。 メンバーが禁止されていない限り、"禁止" ブランドが割り当てられた特定のクリエイティブを承認することができます。
- 既定のプロファイル (空白または ID を
0
に設定) では、他のメンバーからの不正な広告が禁止されます (つまり、クリエイティブのmember_id
が TinyTag のmember_id
とは異なります)。
注:
ブランドは、親会社/子企業によってブランドを収集する方法として、親ブランドを持つことができます。 販売者が親ブランドをブロック/承認した場合、*explicit* 承認/ブロック設定を持たないすべての子ブランドは、親ブランド設定と一致します。
REST API
HTTP メソッド | エンドポイント | 説明 |
---|---|---|
GET |
https://api.appnexus.com/ad-profile | メンバーのすべての広告プロファイルを表示します。 |
GET |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID | 特定の広告プロファイルを表示します。 |
GET |
https://api.appnexus.com/ad-profile?publisher_id=PUBLISHER_ID | 特定のパブリッシャーのすべての広告プロファイルを表示します。 |
POST |
https://api.appnexus.com/ad-profile ( ad_profile JSON) |
メンバー レベルで新しい広告プロファイルを追加します。 |
POST |
https://api.appnexus.com/ad-profile?publisher_id=PUBLISHER_ID ( ad_profile JSON) |
パブリッシャー レベルで新しい広告プロファイルを追加します。 |
PUT |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID ( ad_profile JSON) |
既存の広告プロファイルを変更します。 |
DELETE |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID | 既存の広告プロファイルを削除します。 |
GET |
https://api.appnexus.com/ad-profile?sort=description | 広告プロファイルを説明でアルファベット順に並べ替えます。 |
GET |
https://api.appnexus.com/ad-profile?search=text_of_description | 説明で広告プロファイルを検索します。 |
JSON フィールド
フィールド | 種類 | 説明 |
---|---|---|
id |
int | この ad_profile を参照するために API によって割り当てられた Xandr ID。クエリ文字列で必要な On: PUT 。 |
state |
列挙 | 広告プロファイルの状態。 使用可能な値: "active" または "inactive" 。デフォルト: "active" |
member_id |
int | この ad_profile を所有するメンバー ID。 |
description |
string | 省略可能な説明。 |
default_member_status |
列挙 | 明示的な選択が行われなかった場合に既定で使用されるメンバーの状態。 使用可能な値: - "case-by-case" : このメンバーのクリエイティブは、広告プロファイルで定義されているすべてのブランド、言語、技術属性、カテゴリ、広告サーバーフィルタリングを渡す必要があります- "banned" : このメンバーのクリエイティブは一人も配信できません。 |
default_brand_status |
列挙 | 明示的な選択が行われなかった場合に既定で使用されるブランドの状態。 使用可能な値: "trusted" または "banned" 。 |
default_language_status |
列挙 | 明示的な選択が行われなかった場合に既定で使用される言語の状態。 使用可能な値: "trusted" または "banned" 。 |
default_ad_server_status |
列挙 | 明示的な選択が行われなかった場合に既定で使用される広告サーバーの状態。 使用可能な値: "trusted" または "banned" 。 |
default_category_status |
列挙 | 明示的な選択が行われなかった場合に既定で使用されるカテゴリの状態。 使用可能な値: "trusted" または "banned" 。 |
default_technical_attribute_status |
列挙 | 明示的な選択が行われなかった場合に既定で使用される技術属性の状態。 使用可能な値: "trusted" または "banned" 。 |
default_audit_type |
列挙 | 明示的な選択が行われなかった場合に既定で使用される監査状態。 使用可能な値: - "platform" : クリエイティブは Xandr プラットフォーム監査を受けている必要があります。- "platform_or_self" : クリエイティブはメンバーによって自己監査されているか、Xandr 監査を受けている必要があります。 |
members |
オブジェクトの配列 | メンバーの状態を持つ配列。 詳細については、以下の 「メンバー 」を参照してください。 |
brands |
オブジェクトの配列 | ステータスを持つブランド (親ブランドと子ブランド) の配列。 詳細については、以下の 「ブランド 」を参照してください。 |
creatives |
オブジェクトの配列 | ステータスを持つクリエイティブの配列。 詳細については、以下 の「クリエイティブ」 を参照してください。 |
languages |
オブジェクトの配列 | 状態を持つ言語の配列。 詳細については、以下 の「言語 」を参照してください。 |
ad_servers |
オブジェクトの配列 | 状態を持つ広告サーバーの配列。 詳細については、以下の 「広告サーバー」を 参照してください。 |
categories |
オブジェクトの配列 | 状態を持つカテゴリの配列。 詳細については、以下の 「カテゴリ 」を参照してください。 |
technical_attributes |
オブジェクトの配列 | 状態を持つ技術属性の配列。 詳細については、以下の 「技術属性 」を参照してください。 |
frequency_caps |
オブジェクトの配列 | 周波数/レジェンシー キャップの配列。 詳細については、以下の 「周波数キャップ 」を参照してください。 |
total_creative_count |
int | クリエイティブの数。 |
approved_creative_count |
int | 承認されたクリエイティブの数。 |
banned_creative_count |
int | 禁止されたクリエイティブの数。 |
creatives_approved_percent |
double | 承認されたクリエイティブの総数に対する割合。 |
creatives_unreviewed |
int | レビューが保留中のクリエイティブの数。 |
brands_unreviewed |
int | レビューが保留中のブランドの数。 |
exclude_unaudited |
ブール値 | 監査されていないクリエイティブを除外するかどうか。 |
exclude_unaudited_direct |
ブール値 | 直接広告主に対して監査されていないクリエイティブを除外するかどうか。 |
audit_type_direct |
string | 直接広告主のクリエイティブを配信するために必要な監査の種類を指定します。 有効な値は次のとおりです。 - "platform" : クリエイティブは Xandr プラットフォーム監査を受ける必要があります。- "platform_or_self" : クリエイティブは、メンバーによって自己監査されるか、Xandr 監査を受ける必要があります。 |
check_attributes_direct |
ブール値 | 技術属性を持つクリエイティブを直接広告主に対して実行できるかどうかを決定します。 |
excluded_landing_page_urls |
URL の配列 | 注意事項なし。 競合除外の禁止は、ブランドの除外を通じて行う必要があります。 |
notes |
string | 省略可能なメモ。 |
publisher_id |
int | 広告プロファイルに関連付ける発行元の ID。 |
last_modified |
timestamp | 読み取り専用です。 この広告プロファイルに対する最後の変更のタイムスタンプ。 |
require_seller_audit_default |
ブール値 | 販売者監査が必要かどうか。 既定値: false |
メンバー
フィールド | 種類 | 説明 |
---|---|---|
id |
int | メンバーの ID。 |
status |
列挙 | メンバーがパブリッシャーのページでクリエイティブを実行できるかどうか。 有効な値は次のとおりです。 - "trusted" : このメンバーのクリエイティブは、いずれも配信できます。- "case-by-case" : このメンバーのクリエイティブは、広告プロファイルで定義されているすべてのブランド、言語、技術属性、カテゴリ、広告サーバーフィルタリングを渡す必要があります。- "banned" : このメンバーのクリエイティブは一人も配信できません。 |
audit_type |
列挙 | このメンバーのクリエイティブを提供するために必要な監査の種類。 有効な値は次のとおりです。 - "platform" : クリエイティブは Xandr プラットフォーム監査を受けている必要があります。- "platform_or_self" : クリエイティブはメンバーによって自己監査されているか、Xandr 監査を受けている必要があります。 |
exclude_unaudited |
ブール値 |
true 場合、監査されていないクリエイティブはこのメンバーから除外されます。 |
require_seller_audit_status |
列挙 | メンバーが特定の購入者のクリエイティブに対して独自の監査を必要とできるかどうか: - "always" : このメンバーは、特定の購入者のクリエイティブに対して常に監査を要求できます。- "never" : このメンバーは、特定の購入者からのクリエイティブの監査を必要とすることはできません。- "case-by-case" : 監査に必要な状態を ad_profile.require_seller_audit_default にフォールバックします。 |
ヒント
[メンバー status
]、[ audit_type
]、[ exclude_unaudited
] フィールドの組み合わせによって、[ネットワーク広告品質] プロファイルに表示される購入者の信頼レベルが決まります。
status |
audit_type |
exclude_unaudited |
UI の信頼レベル |
---|---|---|---|
banned |
該当なし | 該当なし | 禁止 |
case-by-case |
platform |
true |
標準 |
case-by-case |
platform_or_self |
true |
中 |
trusted |
platform |
true |
高 |
trusted |
platform |
false |
最大 |
ブランド
フィールド | 種類 | 説明 |
---|---|---|
id |
int | ブランドの ID。 ブランド サービスを使用してブランド ID を取得できます。 |
status |
列挙 | このブランドのクリエイティブがパブリッシャーのページで実行できるかどうか。 使用可能な値: "trusted" または "banned" 。手記: ブランドが対象としてマークされている場合、このブランドに関連付けられているクリエイティブは、ブランドのカテゴリが禁止されている場合でも配信されます。 たとえば、"1 と 1 のインターネット (17310)" というブランドを対象としてマークした場合、そのカテゴリ全体である "電気通信 (27)" を禁止した場合でも機能します。 |
parent_brand_id |
int | ブランドに親ブランドがある場合、既定値は null に設定されます。 |
クリエイティブ
フィールド | 種類 | 説明 |
---|---|---|
id |
int | クリエイティブの ID。 クリエイティブ サービスを使用して、クリエイティブ ID を取得できます。 |
approved |
ブール値 |
true 場合、クリエイティブはパブリッシャーのページで実行できます。 |
言語
フィールド | 種類 | 説明 |
---|---|---|
id |
int | 言語の ID。 言語サービスを使用して、言語 ID を取得できます。 |
status |
列挙 | この言語のクリエイティブがパブリッシャーのページでクリエイティブを実行できるかどうか。 使用可能な値: "trusted" または "banned" 。 |
広告サーバー
フィールド | 種類 | 説明 |
---|---|---|
id |
int | 広告サーバーの ID。 Ad Server Service を使用して、広告サーバー ID を取得できます。 |
status |
列挙 | 広告サーバーがパブリッシャーのページでクリエイティブを実行できるかどうか。 使用可能な値: "trusted" または "banned" 。 |
Categories
フィールド | 種類 | 説明 |
---|---|---|
id |
int | カテゴリの ID。 カテゴリ サービスを使用して、カテゴリ ID を取得できます。 |
status |
列挙 | このカテゴリのクリエイティブがパブリッシャーのページで実行できるかどうか。 使用可能な値: "trusted" または "banned" 。 |
技術属性
フィールド | 種類 | 説明 |
---|---|---|
id |
int | 技術属性の ID。 技術属性サービスを使用して、技術属性 ID を取得できます。 |
status |
列挙 | この技術属性を持つクリエイティブがパブリッシャーのページで実行できるかどうか。 使用可能な値: "trusted" または "banned" 。 |
周波数キャップ
フィールド | 種類 | 説明 |
---|---|---|
id |
int | 読み取り専用です。 周波数上限定義の ID。 |
member_id |
int | 読み取り専用です。 広告プロファイルを所有するメンバーの ID。 |
max_session_imps |
int | 指定した technical_attributes または categories を持つクリエイティブのセッションあたりのインプレッションの最大数。 設定する場合、この値は 0 と 255 の間である必要があります。 |
max_day_imps |
int | 指定した technical_attributes または categories を持つクリエイティブの 1 人あたり 1 日あたりの最大インプレッション数。 設定する場合、この値は 0 と 255 の間である必要があります。 |
min_minutes_per_imp |
int | 指定した technical_attributes または categories を持つクリエイティブのユーザーあたりのインプレッション数の最小分数。 |
cap_users_without_cookie |
ブール値 |
true 場合、Cookie を持たないユーザーには、指定されたtechnical_attributes またはcategories を含むクリエイティブは表示されません。 これらは、周波数上限に達したかのように扱われます。false 場合、Cookie を使用しないユーザーには、特定のtechnical_attributes またはcategories の頻度上限は適用されません。 指定した technical_attributes または categories でクリエイティブを無制限に表示できます。 |
technical_attributes |
配列 | 制限する技術属性の ID。
技術属性サービスを使用して、技術属性の完全な一覧を取得できます。
technical_attributes フィールドとcategories フィールドには OR リレーションシップがあります。 |
categories |
配列 | 制限するカテゴリの ID。
カテゴリ サービスを使用して、カテゴリの完全な一覧を取得できます。
technical_attributes フィールドとcategories フィールドには OR リレーションシップがあります。 |
例
警告
に追加する PUT
要求にappend=true
クエリ文字列パラメーターを追加しない限り、既存のデータをPUT
要求の内容で上書きします。 詳細については、 API セマンティクス に関するページと、以下の「 既存の広告プロファイルを更新する 」の例を参照してください。
新しい広告プロファイルを作成する
これはかなり複雑なプロファイルです。 次に、 cat
コマンドを使用して広告プロファイル JSON ファイルの例を出力しました。
$ cat ad_profile
{
"ad-profile": {
"description": "Network Level ad profile",
"member_id": 326,
"brands": [
{
"id": "168",
"status": "banned"
},
{
"id": "255",
"status": "banned"
},
{
"id": "1072",
"status": "trusted"
},
{
"id": "1090",
"status": "trusted"
}
],
"creatives": [
{
"id": "5",
"approved": true
}
],
"notes": "This is a great ad profile",
"default_language_status": "banned",
"default_ad_server_status": "trusted",
"default_category_status": "trusted",
"default_technical_attribute_status": "trusted",
"excluded_landing_page_urls": ["https://www.netflix.com","https://www.blockbuster.com"],
"languages": [
{
"id": 1,
"status": "trusted"
}
],
"ad_servers": null,
"categories": [
{
"id": 41,
"status": "banned"
},
{
"id": 43,
"status": "trusted"
}
]
}
}
既存の広告プロファイルを更新する
最初の例の広告プロファイル JSON を考えると、 categories
配列を更新して別の項目を含める必要があるとします。 実際のユース ケースでは、配列に 47 個のカテゴリが存在する可能性があります。
PUT
のセマンティクスは、配列に別のカテゴリを追加するには、既存のカテゴリの 47 個と新しいカテゴリをすべて渡す必要があることを意味します。
次の例に示すように、 append=true
クエリ文字列パラメーターを要求に追加することで、この余分な作業を回避できます。 下位互換性の理由から、パラメーター append_only=true
も機能します。
$ cat ad-profile-update.json
{
"ad-profiles":
[
{
"id": 984276,
"categories" : [
{
"id" : 42,
"status" : "banned"
}
]
}
]
}
$ curl -b cookies -X PUT -d '@/tmp/ad-profile-update.json' \
'https://api.appnexus.com/ad-profile?id=984276&member_id=1282&append=true'
{
"response" : {
"id" : 984276,
"ad-profile" : {
"id" : 984276,
"description" : "Rich's Crazy Reseller - Network Ad Profile",
"categories" : [
{
"id" : 41,
"status" : "banned"
},
{
"id" : 42,
"status" : "banned"
},
{
"id" : 43,
"status" : "trusted"
}
],
// many other fields...
"default_category_status" : "trusted"
},
"status" : "OK",
"count" : 1,
"start_element" : 0,
"num_elements" : 100,
}
}
メンバーに広告プロファイルを追加する
$ curl -b cookies -c cookies -X POST -d @ad_profile "https://api.appnexus.com/ad-profile"
{
"response": {
"status": "OK",
"id": "1317"
}
}
広告プロファイルを表示する
$ curl -b cookies -c cookies "https://api.appnexus.com/ad-profile?id=1317"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 1317,
"state": "active",
"description": "Network Level ad profile",
"member_id": 326,
"default_brand_status": "trusted",
"members": null,
"brands": [
{
"id": "168",
"status": "banned"
},
{
"id": "255",
"status": "banned"
},
{
"id": "1072",
"status": "trusted"
},
{
"id": "1090",
"status": "trusted"
}
],
"creatives": [
{
"id": "5",
"approved": true
}
],
"total_creative_count": 8369,
"approved_creative_count": 1,
"banned_creative_count": 8368,
"creatives_approved_percent": 0.011948858883977,
"creatives_unreviewed": 8367,
"brands_unreviewed": null,
"exclude_unaudited": true,
"exclude_unaudited_direct": false,
"notes": "This is a great ad profile.",
"publisher_id": null,
"last_modified": "2010-07-23 16:15:49",
"default_language_status": "banned",
"default_ad_server_status": "trusted",
"default_category_status": "trusted",
"excluded_landing_page_urls": ["https://www.netflix.com","https://www.blockbuster.com"],
"default_technical_attribute_status": "trusted",
"languages": [
{
"id": 1,
"status": "trusted"
}
],
"ad_servers": null,
"categories": [
{
"id": 41,
"status": "banned"
},
{
"id": 43,
"status": "trusted"
}
],
"technical_attributes": null
}
}
}
クリエイティブ属性の頻度上限の例
広告プロファイルに頻度上限ルールを追加する
{{"frequency_caps"}}
フィールドは、最初に{{null}}
されます。
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": null
}
}
頻度上限ルールを追加する
$ cat add_freq_cap_rule.json
{
"ad-profile": {
"id": 199943,
"frequency_caps": [
{
"max_day_imps": 5,
"min_minutes_per_imp": 120,
"technical_attributes": [ {"id":4},{"id":6} ],
"categories": [ {"id":59},{"id":37} ]
}
]
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @add_freq_cap_rule.json "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"id": "199943"
}
}
広告プロファイルに頻度上限ルールが設定されるようになりました
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": [
{
"id": 64,
"max_session_imps": null,
"max_day_imps": 5,
"min_minutes_per_imp": 120,
"member_id": 941,
"technical_attributes": [
{
"id": 4,
"name": "Video"
},
{
"id": 6,
"name": "Expandable"
}
],
"categories": [
{
"id": 37,
"name": "Politics"
},
{
"id": 59,
"name": "Get Rich Quick"
}
]
}
]
...
頻度上限ルールを変更する
{{ad-profile}}
サービスで {{PUT}}
コマンドを使用します。 頻度上限の ID は、更新 JSON で指定する必要があります。 頻度上限 ID が指定されていない場合は、既存のルールが削除され、新しいルールが作成されます。
{code}
$ cat update_freq_cap_rule.json
{
"ad-profile": {
"id": 199943,
"frequency_caps": [
{
"id": 64,
"technical_attributes": [ {"id":4} ],
"categories": [ ],
"max_day_imps": 20
}
]
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @update_freq_cap_rule.json "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"id": "199943"
}
}
{code}
更新されたルールを表示するには、広告プロファイルを確認します
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": [
{
"id": 64,
"max_session_imps": null,
"max_day_imps": 20,
"min_minutes_per_imp": 120,
"member_id": 941,
"technical_attributes": [
{
"id": 4,
"name": "Video"
}
],
"categories": null
}
]
...