Inventory Composition object

As the selling party, you can define inclusion or exclusion criteria to allow or block specific inventory in a deal. The following lists inventory composition:

You must specify the following criteria:

NOTE: You can specify all your inclusion or exclusion selections in the respective included and excluded fields of the Inventory Selection object.

For inventory terms on specific channels, see Inventory channel objects.

InventoryComposition object

TIP: This section uses multiple layers of nested objects not listed in the following table. To implement with these objects, start by familiarizing yourself with the example in Inventory composition terms and Inventory Selection object.

The following table lists the InventoryComposition object fields.

Field Required? Data Type Selection Type Description
inventoryChannelComposition Required Object N/A The inventory composition of the deal: includes creative dimensions, devices, and networks. For details on channel-specific settings, see Inventory channel objects.
contentComposition Optional Object N/A Describes the content categories, ratings, channels and networks. For details, see ContentComposition object.
deviceComposition Optional Object N/A The fields trackable by device such as geos, browser, operating system, that the selling party includes or excludes from the deal. For details, see DeviceComposition object.
customAttributes Optional Object N/A The custom attributes to include or exclude that's used by the publisher, typically derived from the publisher's first-party data. You can send these as key-value pairs in the bidstream. For details, see CustomAttribute object.
publisherKeywords Optional String Single Selection The contextual keywords and phrases related to content that the selling party includes or excludes from the deal.
publisherCategories Optional String Single Selection The IAB category IDs of the site or app, that the selling party includes or excludes from the deal. These category IDs must match the taxonomy chosen in the deal.
apps Optional String Single Selection The applications that the selling party includes or excludes from the deal. Possible values can be Android package names or iOS bundle IDs.
placementIds Optional String Single Selection The ad placement IDs, such as GPIDs, that the selling party includes or excludes from the deal.
publisherIds Optional String Single Selection The KAIDs of the publishers that the selling party includes or excludes from the deal.
sellingPartyIds Optional String Single Selection The KAIDs of the sellers that the selling party includes or excludes from the deal. Must match the ID of the seller in the known agent object from the Provisioning endpoint.
sites Optional String Single Selection The website domains that the selling party includes or excludes from the deal. For example, finance.yahoo.com or google.com.
systemLanguages Optional String Single Selection The content browser languages that the selling party includes or excludes from the deal. For details, see Languages.
consumerGeos Optional String enum Single Selection The device geographical locales that the selling party includes or excludes from the deal. For details, see Geo segments.
biddingTerms Required for commitments String array N/A The core OpenRTB signals that the publisher has agreed to include in the bidstream. For example, Bidrequest.video.content.genre or Bidrequest.video.content.rating. For details, see Bidding terms enumeration values.

ContentComposition object

TIP: This section uses multiple layers of nested objects not listed in the following table. To implement with these objects, start by familiarizing yourself with the example in Inventory composition terms and Inventory Selection object.

The ContentComposition object lists the composition fields used for categorization. For examples, see Content composition.

Field Required? Data Type Selection Type Description
titles Optional String Single Selection The titles of the shows where ads are shown.
series Optional String Single Selection The name of the series where ads are shown.
genres Optional String Single Selection The genres of the TV content where ads are shown. For details, see Genres.
contentRatings Optional String Single Selection The maturity rating for content where ads are shown. For details, see Content ratings.
contentCategories Optional String Multi Selection The categories of the websites where ads are shown.
Valid values are IAB category IDs from the OpenRTB specification. For details, see Content categories. See also IAB content taxonomy mapping: Version 1.0 to 2.2.
contentLanguages Optional String Single Selection The languages of the content where ads are shown. For details, see Languages.
contentKeywords Optional String Multi Selection The keywords related to the content where ads are shown.

DeviceComposition object

TIP: This section uses multiple layers of nested objects not listed in the following table. To implement with these objects, start by familiarizing yourself with the example in Inventory composition terms and Inventory Selection object.

The DeviceComposition object lists the selection fields used for devices as part of OpenRTB. For examples, see Device composition.

Field Required? Data Type Selection Type Description
deviceMakes Optional String Single Selection The manufacturers of the devices on which the ads are shown. For details, see Device makes.
browsers Optional String Single Selection The browsers on which the ads are shown. For details, see Browsers.
operatingSystems Optional String Single Selection The operating systems of the devices on which the ads are shown. For details, see Operating systems.
mobileCarriers Optional String Single Selection The mobile carriers used by the consumers viewing the ads. For details, see Mobile carriers.

CustomAttribute object

IMPORTANT: You must nest this object within a selection object with a base or expansion field. For examples, see Manage commitment deal performance.

Publishers can pass in their custom fields for first-party data. The following table lists the CustomAttribute object fields.

Field Required? Data Type Description
includedValues Optional String array A list specifying the custom values to include.
excludedValues Optional String array A list specifying the custom values to exclude.
key Optional String The key name of a key-value pair.
section Optional String enum The type of section sent in the bid request. For details, see Custom attribute section enumeration values.

Inventory composition enumeration values

The following section contains all inventory-related enumeration values that aren't channel specific.

Custom attribute section enumeration values

The following table lists the supported section types for the section field. This matches the type of details sent in the bid request.

Enum Value Description
IMPRESSION The imp.ext.data field, a section of the bid request. For details, see Imp.
SITE The site.ext.data field, a section of the bid request. For details, see Site.
USER The user.ext.data field, a section of the bid request. For details, see User.

Bidding terms enumeration values

Here's what you need to know about bidding terms and signals:

The following table lists the supported enum values for the BiddingTerms array in the bid request. For examples, see Inventory composition terms.

Enum Value Required for Commitment? Required for Endeavor? Description
USER_ID Recommended Optional The unique identifier of the user, such as UID2, TDID, or Ramp ID.
SOURCE_TID Recommended Optional The transaction ID.
VIDEO_PODID Recommended Optional A pod ID for video and CTV channels.
AUDIO_PODID Recommended Optional A pod ID for audio channels.
IMP_EXT_GPID Recommended Optional The global placement ID (GPID).
DEVICE_GEO_ZIP Recommended Optional The geo location of the device.
DEVICE_IFA Optional Optional The ID of the device.
DEVICE_IP Optional Optional The IP address of the device.
USER_DATA_SEGMENT Optional Optional The audience defined by the selling party.
VIDEO_PODSEQ Optional Optional The pod position instream for video and CTV channels.
VIDEO_SLOTINPOD Optional Optional The slot in the pod for video and CTV channels.
AUDIO_PODSEQ Optional Optional The pod position instream for audio channels.
AUDIO_SLOTINPOD Optional Optional The slot in the pod for audio channels.
CONTENT_GENRE Optional Optional The genre of the content.
CONTENT_CONTENTRATING Optional Optional The rating of the content.
CONTENT_SERIES Optional Optional The series name.
CONTENT_TITLE Optional Optional The show or episode title.
CONTENT_SEASON Optional Optional The season number.
CONTENT_EPISODE Optional Optional The episode number.
CONTENT_ID Optional Optional The content ID.
CONTENT_PRODQ Optional Optional The production quality.
CONTENT_NETWORK_DOMAIN Optional Optional The domain of the network that displays the content.
CONTENT_CHANNEL_DOMAIN Optional Optional The domain of the channel that displays the content.
CONTENT_LEN Optional Optional The duration of the content.
DEVICE_DEVICETYPE Optional Optional The type of device used.
CONTENT_LANGUAGE Optional Optional The language of the content.
APP_BUNDLE Optional Optional The mobile application that displays the content.
VIDEO_SKIP Optional Optional Whether the video is skippable or not.
SITE_DOMAIN Optional Optional The domain of the site that displays the content.
VIDEO_PLCMT Optional Optional The video placement in stream.
VIDEO_STARTDELAY Optional Optional The start delay before the video ad plays.