Yield Management Auction Tier service
The Yield Management Auction Tier Service allows you to modify the standard auction mechanics such that certain bids will be considered before others, provided that those bids are associated with certain members and meet particular pricing requirements. You may also use this service to exclude certain members from consideration altogether.
Note
Auction tiers must be associated with an existing Yield Management Profile.
REST API
HTTP Method | Endpoint | Description |
---|---|---|
POST |
https://api.appnexus.com/ym-auction-tier (auction-tier JSON) |
Add an auction tier. |
PUT |
https://api.appnexus.com/ym-auction-tier?id=AUCTION_TIER_ID (auction-tier JSON) |
Modify an auction tier. |
GET |
https://api.appnexus.com/ym-auction-tier | View all of your auction tiers. |
GET |
https://api.appnexus.com/ym-auction-tier?id=AUCTION_TIER_ID | View a specific auction tier. |
GET |
https://api.appnexus.com/ym-auction-tier?id=1,2,3 | View multiple auction tiers by ID using a comma-separated list. |
DELETE |
https://api.appnexus.com/ym-auction-tier?id=AUCTION_TIER_ID | Delete an auction tier. |
JSON fields
Field | Type | Description |
---|---|---|
id |
int | The unique identifier for this auction tier. Default: Auto-generated number. Required On: PUT , in query string. |
name |
string | The name of this tier. Required On: POST |
code |
string | An optional custom code that you can use to map between this object's identifier in your system and in ours. Default: null |
description |
string | An optional description. |
profile_id |
int | An optional profile_id is used to determine when to apply a tier. A profile is a generic set of rules for targeting inventory, and certain tiers may only apply to certain slices of inventory. For details, see the Profile Service.Default: null |
priority |
int | You'll rank each auction tier from 1 to 10 in ascending priority. Those with higher priorities are checked first for a match. If two tiers happen to match the bid in question, and their priorities are equal, the winner is chosen at random.Default: 5 |
ym_profile_id |
int | An auction tier is associated with a Yield Management Profile. This is that profile's identifier. Required On: POST |
min_price |
decimal | The minimum price that must be bid by the members in the buyer_members array for inclusion in this tier. This can be null if the member_action is set to "exclude" .Note: Whether a buyer has met the value of min_price is checked after AppNexus' revenue sharing fee has been removed; in other words, min_price is checked against their net bid. For example, if you've set min_price to $2.00 , and the buyer bids $2.00 , their net bid may be reduced to $1.70 . This would mean they do not qualify for the tier. The solution is for buyers to take into account their revenue sharing agreement with AppNexus when submitting bids for inclusion in tiers.Default: null |
member_action |
enum | This setting determines what action is to be taken against the buyer_members array. Permissible values are "include" and "exclude" .Default: exclude |
member_id |
int | This is your member ID. |
buyer_members |
array of objects | This array includes the buyers you're targeting for inclusion or exclusion in this Auction Tier. For details, see the Buyer Members Array below. Default: null |
Buyer members array
Field | Type | Description |
---|---|---|
id |
int | The ID of the member you're targeting for inclusion or exclusion. |
name |
string | The name of the member you're targeting for inclusion or exclusion. |
Examples
View all of your auction tiers
$ curl -b cookies -c cookies 'https://api.appnexus.com/ym-auction-tier'
{
"response": {
"status": "OK",
"count": 328,
"start_element": null,
"num_elements": null,
"ym-auction-tiers": [
{
"id": 1,
"name": "Buyer 1 Tier",
"code": null,
"description": null,
"profile_id": null,
"priority": 10,
"ym_profile_id": 2785,
"min_price": "3.000000",
"member_action": "include",
"member_id": 752,
"buyer_members": [
{
"id": 1094,
"name": "Buyer 1"
}
]
},
{
"id": 2,
"name": "Buyer 2 Tier",
"code": null,
"description": null,
"profile_id": null,
"priority": 10,
"ym_profile_id": 2785,
"min_price": "4.000000",
"member_action": "include",
"member_id": 752,
"buyer_members": [
{
"id": 232,
"name": "Buyer 2"
}
]
},
{
"id": 3,
"name": "Buyer 3 Tier",
"code": null,
"description": null,
"profile_id": null,
"priority": 10,
"ym_profile_id": 2785,
"min_price": "2.500000",
"member_action": "include",
"member_id": 752,
"buyer_members": [
{
"id": 903,
"name": "Buyer 3"
}
]
},
...
]
}
}
Add an auction tier - Exclude a member
We must include our {{member_id}}
and the {{ym_profile_id}}
we'd like to associate this tier with.
$ cat add-tier.json
{
"ym-auction-tier": {
"member_id": 67890,
"ym_profile_id": 271828,
"description": "Bidder 9 from Outer Space has advanced alien bidding technology. They must be stopped!",
"name": "Exclude Bidder 9 from Outer Space",
"member_action": "exclude",
"priority": 10,
"min_price": null,
"buyer_members": [
{
"id": 12345,
"name": "Bidder 9 from Outer Space"
}
]
}
}
$ curl -b cookies -X POST -d @update.json "https://api.appnexus.com/ym-auction-tier"
{
"response": {
"id": 1105,
"ym-auction-tier": {
"profile_id": null,
"code": null,
"id": 5813,
"description": "Bidder 9 from Outer Space has advanced alien bidding technology. They must be stopped!",
"name": "Exclude Bidder 9 from Outer Space",
"member_id": 67890,
"member_action": "exclude",
"priority": 10,
"buyer_members": [{"id":12345,"name":"Bidder 9 from Outer Space"}],
"ym_profile_id": 271828,
"min_price": null
},
"status": "OK",
"start_element": null,
"count": 1,
"num_elements": null
}
}
Add an auction tier - Include a member
Notice that this member must meet an extremely high {{min_price}}
in order for this tier to apply. Since we haven't specified a {{priority}}
, it defaults to 5
.
$ cat add-tier.json
{
"ym-auction-tier": {
"ym_profile_id": 456,
"name": "A High Bar for Member 12 to clear",
"member_id":123,
"member_action": "include",
"min_price": "314159.00",
"buyer_members": [
{
"id": 12,
"name": "Member 12"
}
]
}
}
$ curl -b cookies -X POST -d @add-tier.json "https://api.appnexus.com/ym-auction-tier"
{
"response": {
"id": 1110,
"ym-auction-tier": {
"profile_id": null,
"code": null,
"id": 1110,
"description": null,
"name": "A high bar for Member 12 to clear",
"member_id": 123,
"member_action": "include",
"priority": 5,
"buyer_members": [
{
"id": 12,
"name": "Member 12"
}
],
"ym_profile_id": 456,
"min_price": "314159.000000"
},
"status": "OK",
"start_element": null,
"count": 1,
"num_elements": null
}
}
Update an auction tier
We've modified our financial arrangement with Member 19, and we'd like them to bid a minimum $1.25 CPM in order to remain in their current Auction Tier.
$ cat update.json
{
"ym-auction-tier": {
"id": 001,
"member_id": 19,
"min_price": "1.25"
}
}
$ curl -b cookies -X PUT -d @update.json "https://api.appnexus.com/ym-auction-tier?id=001"
{
"response": {
"id": 001,
"ym-auction-tier": {
"profile_id": null,
"code": null,
"id": 001,
"description": null,
"name": "Member 19's Tier",
"member_id": 19,
"member_action": "include",
"priority": 7,
"buyer_members": [
{
"id": 19,
"name": "Member 19"
}
],
"ym_profile_id": 002,
"min_price": "1.25"
},
"status": "OK",
"start_element": null,
"count": 1,
"num_elements": null
}
}
Delete an auction tier
$ curl -b cookies -X DELETE "https://api.appnexus.com/ym-auction-tier?id=003"
{
"response": {
"status": "OK"
}
}