Skip to end of metadata
Go to start of metadata

Yield Management Profile Service

The Yield Management Profile Service is used to create and update yield management profiles which define dynamic price floors, bid biases, and auction tiers for a publisher.

More concretely, the Yield Management Profile is a set of rules with the following properties and behaviors:

  • The profile targets:
    • Some/all inventory
    • Some/all buyers
  • The profile specifies:
    • 0 or more floor rules
    • 0 or more bias rules
    • 0 or more modifiers that will apply to those floors and biases
    • 0 or more auction tiers
On This Page

REST API

View a specific profile:
GET https://api.appnexus.com/ym-profile?id=YMP_ID
GET https://api.appnexus.com/ym-profile?id=YMP_CODE

View all profiles associated with a particular publisher:
GET https://api.appnexus.com/ym-profile?publisher_id=PUBLISHER_ID
GET https://api.appnexus.com/ym-profile?publisher_code=PUBLISHER_CODE

View multiple profiles by ID using a comma-separated list:
GET https://api.appnexus.com/ym-profile?id=1,2,3

Add a profile:
POST https://api.appnexus.com/ym-profile
(ym-profile JSON)

After adding a profile, you can use the Publisher Service to assign the profile to a particular publisher.

Modify an existing profile:
PUT https://api.appnexus.com/ym-profile?id=YMP_ID
PUT https://api.appnexus.com/ym-profile?id=YMP_CODE
(ym profile JSON)

Delete an existing profile:
DELETE https://api.appnexus.com/ym-profile?id=YMP_ID

JSON Fields

Field

Type

Description

Default

Required On

id

int

The unique identifier for a yield management profile

Auto-incremented Number (i.e. 123)

PUT

code

string

An optional custom code used to reference a yield management profile.

NULL

 

name

string

A name used to describe a yield management profile.

None

POST

description

string

An optional description of the yield management profile.

NULL

 

base_ym_bias_id

int

The id of the YM bias that should be applied if no other YM biases should be used. Typically, this YM bias has a priority 1 (lowest priority) and no profile.

NULL

 

base_ym_floor_id

int

The id of the YM floor that should be applied if no other YM floors should be used. Typically, this YM floor has a priority 1 (lowest priority) and no profile.

NULL

 

publisher_id

int

Read-only. The ID of the publisher to which the yield management profile is associated. You use the Publisher Service to make the association between the yield management profile and the publisher.

 

 

modifiers

array

The modifiers applied to the technical attribute of the creative. See Modifiers below for more details.

NULL

 

biases

array

The biases applied to demand side objects: Buyer Groups, Buyer Members. See Biases below for more details.

NULL

 

floors

array

The floor prices applied based on inventory and user targeting. See Floors below for more details.

NULL

 

last_modified

timestamp

Time of last modification to this yield management profile.

N/A

 

Modifiers

Field

Type

Description

Default

Required On

technical_attributes

array

This is an array specifying the technical attributes that the yield management modifier should be applied to.

NULL

POST, PUT

Modifiers - Technical Attributes

Field

Type

Description

Default

Required On

id

int

This is the id of the technical attribute (as found in the Technical Attribute Service) for which the modifier should be applied.

None

POST, PUT

name

name

This is the name of the technical attribute.

N/A

 

type

enum('bias-pct',
'bias-cpm',
'floor-pct',
'floor-cpm')

This determines which value to use for the modifier, represented as a percentage or a flat CPM, and what the modifier should be applied to -- the bid or the floor.

NULL

POST, PUT

amount_pct

double

This is the % amount the bid or floor should be modified by. If bias_pct = 5, then the net bid will be increased 5%.

0.00

POST, PUT (if type is 'bias-pct' or 'floor-pct')

amount_cpm

double

This is the CPM increase/decrease that the bid or floor should be modified by.

NULL

POST, PUT (if type is 'bias-cpm' or 'floor-cpm')

Biases

Field

Type

Description

Default

Required On

id

int

The unique identifier for a yield management bias.

Auto-incremented Number (i.e. 123)

PUT

code

string

A optional custom code used to reference a yield management bias.

NULL

 

name

string

A name used to describe a yield management bias.

None

POST

description

string

An optional description how the yield management bias is being used.

NULL

 

profile_id

int

An optional profile_id is used to determine when to apply a bias. A profile is a generic set of rules for targeting inventory, and certain biases may only apply to certain slices of inventory. (See the Profile Service for details.)

NULL

 

priority

int

The priority field (optional) is used to create a hierarchy of how the bias should to be applied. Value may be between 1-10 where priority 10 is treated as the highest priority value.

5

 

members

array

This is an array specifying the member(s) the yield management bias should be applied to.

NULL

 

buyer_groups

array

This is an array specifying the buyer group(s) the yield management bias should be applied to.

NULL

 

Biases - Buyer Members

Field

Type

Description

Default

Required On

id

int

This is the id of the buyer member (as found in the Platform Member Service) for which the bias should be applied.

None

POST, PUT

name

string

This is the name of the buyer member.

N/A

 

type

enum('percent','cpm')

This determines which value to use for the bias, represented as a percentage or a flat CPM.

"percent"

POST, PUT

bias_pct

double

This is the % amount the buyer member should be adjusted by. If bias_pct = 5, then the net bid will be increased 5%.

0.00

POST, PUT (if ?type is 'percent')

bias_cpm

double

This is the CPM increase/decrease the buyer member should be adjusted by.

NULL

POST, PUT (if ?type is 'cpm')

Biases - Buyer Groups

Field

Type

Description

Default

Required On

id

int

This is the id of the buyer group for which the bias should be applied.

None

POST, PUT

name

string

This is the name of the buyer group.

N/A

 

type

enum('percent','cpm')

This determines which value to use for the bias, represented as a percentage or a flat CPM.

"percent"

POST, PUT

bias_pct

double

This is the % amount the buyer member should be adjusted by. If bias_pct = 5, then the net bid will be increased 5%.

0.00

POST, PUT (if type is 'percent')

bias_cpm

double

This is the CPM increase/decrease the buyer member should be adjusted by.

NULL

POST, PUT (if type is 'cpm')

Floors

Field

Type

Description

Default

Required On

id

int

The unique identifier for a yield management floor.

Auto-incremented Number (i.e. 123)

PUT

code

string

A optional custom code used to reference a yield management floor.

NULL

 

name

string

A name used to describe a yield management floor.

None

POST

description

string

An optional description how the yield management floor is being used.

NULL

 

profile_id

int

An optional profile_id is used to determine when to apply a floor. A profile is a generic set of rules for targeting inventory, and certain floors may only apply to certain slices of inventory. (See the Profile Service for details.)

NULL

 

priority

int

The priority field (optional) is used to create a hierarchy of how the floor should to be applied. Value may be between 1-10 where priority 10 is treated as the highest priority value.

5

 

hard_floor

double

This cpm floor is used as the hard reserve price to be applied.

None

POST

soft_floor

double

This cpm floor is used as the soft reserve, defined as the lowest price at which price reduction will occur - This must be >= the hard floor if set.

NULL

 

members

array

This is an array specifying the member(s) the yield management floor should be applied to.

NULL

 

brands

array

This is an array specifying the brand(s) the yield management floor should be applied to.

NULL

 

categories

array

This is an array specifying the category(ies) the yield management floor should be applied to.

NULL

 

default_calculation_type

enum('gross','net')

This is used to determine if the floor should be applied to the gross or net bid.

gross

 

apply_floor_to_direct

int

This is used to determine if the floor should be applied only to specified members or in addition to managed demand.

1

 

Floors - Members

Field

Type

Description

Default

Required On

id

int

This is the id of the buyer member (as found in the Platform Member Service) for which the floor should be applied.

 

POST, PUT

name

array

This is the name of the buyer member.

 

 

Floors - Brands

Field

Type

Description

Default

Required On

id

int

This is the id of the brand of the creative (as found in the Brand Service) for which the floor should be applied.

 

POST, PUT

name

array

This is the name of the brand.

 

 

Floor - Categories

Field

Type

Description

Default

Required On

id

int

This is the id of the category of the creative of the creative (as found in the Category Service) for which the floor should be applied.

 

POST, PUT

name

array

This is the name of the category.

 

 

Examples

View a specific yield management profile