AI-generated Key Takeaways
-
The Product resource details the properties and configurations of a product, including its display name, external ID, transaction type, pricing type, and time frame.
-
Product configurations can include creative requirements for different types like display or video, audience targeting settings, and frequency caps.
-
Targeting criteria and forecast results are specified, particularly for Instant Deal Scenarios, along with potential error details.
-
The CreativeConfig resource outlines requirements for creatives based on type, with specific configurations for display dimensions and video duration/skippable type.
-
Several enums define possible values for fields such as CreativeType, DurationMatchType, SkippableMatchType, CreativeSource, AudienceType, TargetingType, InstantDealErrorStatus, and TimeUnit.
- Resource: Product
- CreativeConfig
- CreativeType
- DimensionCreativeConfig
- DurationCreativeConfig
- DurationMatchType
- SkippableMatchType
- MakegoodDetails
- CreativeSource
- AudienceTargetingConfig
- AudienceType
- TargetingCriteria
- SelectedTargetingOption
- TargetingType
- AudienceSelection
- OrGroup
- TargetingSelection
- ForecastResult
- Forecast
- ForecastCategory
- CpmRange
- ForecastBreakdownData
- ForecastBreakdown
- ErrorDetails
- InstantDealErrorStatus
- FrequencyCap
- TimeUnit
- Methods
Resource: Product
Product
| JSON representation |
|---|
{ "name": string, "displayName": string, "externalDealId": string, "transactionType": enum ( |
| Fields | |
|---|---|
name |
Relative route name for product. Generated by server. Example: "exchanges/1234/orders/5678/products/abc". Output only. |
displayName |
The display name of the product. Must be UTF-8 encoded with a maximum size of 240 bytes. Required. |
externalDealId |
External ID. This is the deal ID on exchange system. Max 100 characters. Allowed characters are alphanumeric, underscore, dash, and dot. Must be unique across all products. Required. |
transactionType |
Product transaction type. Required. |
pricingType |
Pricing type for product. Required. |
updateTime |
The timestamp when the product was last updated. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
startTime |
Time when this product becomes active. Must be earlier than endTime. Start time cannot be more than 1 year in the future. Required. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
endTime |
Time when this product becomes inactive. Currently cannot be later than year 2036. Required. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
rateDetails |
Rate details. Required. |
creativeConfig[] |
The creative requirements for a product. Required for reserved transaction type product. |
makegood |
Denotes whether a product is a makegood product. |
makegoodDetails |
The makegood details for a product. Required when the product is a makegood. |
creativeSource |
Creative source for a product. Optional, defaults to CREATIVE_SOURCE_ADVERTISER. Cannot be changed after product creation. |
mediumType |
Medium type for a product. Defaults to DIGITAL if not specified for backwards compatibility. Cannot be changed after product creation. |
audienceTargetingConfig |
Optional. Audience targeting config selected applied at deal level on Exchange. |
targetingCriteria |
Output only. Product targeting criteria references. Only applicable to Instant Deal Scenarios. |
forecastResult |
Product forecast results. Required when the targeting criteria are not empty and the forecast is not provided. Only applicable to Instant Deal Scenarios. |
errorDetails |
Error details must be specified when specific product fields cannot be updated. Required when the forecast result cannot be provided due to a targeting criterion or an update cannot be made to the product. Only applicable to Instant Deal Scenarios. |
frequencyCap |
Output only. Frequency cap selected by the buyer. Only applicable to Instant Deal Scenarios. |
etag |
An etag that needs to be specified when updating a product. It only needs to be specified for an update if the etag field is not empty. Only applicable to Instant Deal Scenarios. |
CreativeConfig
Creative requirements config for a product.
| JSON representation |
|---|
{ "creativeType": enum ( |
| Fields | |
|---|---|
creativeType |
Creative type. Required. |
dimensionCreativeConfig |
The config for the display creatives. This field is not supported for Native creatives (CREATIVE_TYPE_NATIVE). |
durationCreativeConfig |
The config for the video creatives. |
CreativeType
Possible creative types.
| Enums | |
|---|---|
CREATIVE_TYPE_UNSPECIFIED |
Creative type unspecified. Not valid input value. |
CREATIVE_TYPE_DISPLAY |
Creative type of display. |
CREATIVE_TYPE_VIDEO |
Creative type of video. |
CREATIVE_TYPE_AUDIO |
Creative type of audio. |
CREATIVE_TYPE_NATIVE |
Creative type of native. |
DimensionCreativeConfig
Display creative dimension in pixels.
| JSON representation |
|---|
{ "width": integer, "height": integer } |
| Fields | |
|---|---|
width |
Display creative width. Required. |
height |
Display creative height. Required. |
DurationCreativeConfig
The config for the creative in duration.
| JSON representation |
|---|
{ "duration": string, "durationMatchType": enum ( |
| Fields | |
|---|---|
duration |
The duration of the video creative in seconds. Required A duration in seconds with up to nine fractional digits, ending with ' |
durationMatchType |
The duration match criteria. |
skippableMatchType |
The skippable type of a video creative. |
DurationMatchType
Possible formats for the duration match criterion.
| Enums | |
|---|---|
DURATION_MATCH_TYPE_UNSPECIFIED |
The duration match criterion is not specified or is unknown in this version. Not valid input value. |
DURATION_MATCH_TYPE_EQUAL_TO |
The creative duration needs to be the same as the required duration. |
DURATION_MATCH_TYPE_LESS_THAN_OR_EQUAL_TO |
The creative duration needs to be the same as or less than required duration. |
SkippableMatchType
Possible formats for an product.
| Enums | |
|---|---|
SKIPPABLE_MATCH_TYPE_UNSPECIFIED |
The skippable type is not specified or is unknown in this version. Not valid input value. |
SKIPPABLE_MATCH_TYPE_SKIPPABLE |
The creative needs to be skippable. |
SKIPPABLE_MATCH_TYPE_NOT_SKIPPABLE |
The creative needs to be not skippable. |
SKIPPABLE_MATCH_TYPE_ANY |
The creative can be skippable or non-skippable. |
MakegoodDetails
The config for the makegood details.
| JSON representation |
|---|
{ "originalExternalDealId": string, "reason": string } |
| Fields | |
|---|---|
originalExternalDealId |
The original external deal id which requests makegood. Max 100 characters. Allowed characters are alphanumeric, underscore, dash, and dot. Required. |
reason |
Seller-initiated Makegood reason. Max 250 characters. Required. |
CreativeSource
Creative source; where the creatives will be served from.
| Enums | |
|---|---|
CREATIVE_SOURCE_UNSPECIFIED |
The creative source is not specified or unknown in this version. Not valid input value. |
CREATIVE_SOURCE_ADVERTISER |
Creatives will be served by DV3. |
CREATIVE_SOURCE_PUBLISHER |
Creatives will be served by the publisher. Publisher-hosted creatives are not currently supported; any request attempting to set creative source to CREATIVE_SOURCE_PUBLISHER will fail. |
AudienceTargetingConfig
The config for the audience targeting.
| JSON representation |
|---|
{
"audienceType": enum ( |
| Fields | |
|---|---|
audienceType |
The audience type. Required. |
AudienceType
Audience type.
| Enums | |
|---|---|
AUDIENCE_TYPE_UNSPECIFIED |
Unspecified audience type. Not valid for input. |
AUDIENCE_TYPE_COMMERCE |
Commerce audience type. |
TargetingCriteria
Targeting criteria specified.
| JSON representation |
|---|
{
"selectedTargetingOptions": [
{
object ( |
| Fields | |
|---|---|
selectedTargetingOptions[] |
Selected options. |
SelectedTargetingOption
The selected targeting option or options for a single targeting type.
| JSON representation |
|---|
{ "type": enum ( |
| Fields | |
|---|---|
type |
Targeting type associated with the selected options. |
Union field value. Only one type of selection can be included. The selection chosen must correspond to the TargetingType chosen for the "type" field. value can be only one of the following: |
|
audienceSelection |
Selected audience. |
targetingSelection |
Generic set of selected option ids. |
TargetingType
Targeting types.
| Enums | |
|---|---|
TARGETING_TYPE_UNSPECIFIED |
Unspecified targeting type, not valid for input. |
TARGETING_TYPE_AUDIENCE |
Targeting type audience. |
TARGETING_TYPE_COUNTRY |
Targeting type country. |
TARGETING_TYPE_DMA |
Targeting type dma. |
TARGETING_TYPE_PROGRAMMER |
Targeting type programmer. |
TARGETING_TYPE_BRAND |
Targeting type brand. |
TARGETING_TYPE_CONTENT_GENRE |
Targeting type content genre. |
TARGETING_TYPE_DEVICE |
Targeting type device. |
TARGETING_TYPE_OPERATING_SYSTEM |
Targeting type operating system. |
TARGETING_TYPE_RATING |
Targeting type rating. |
TARGETING_TYPE_ENVIRONMENT |
Targeting type environment. |
TARGETING_TYPE_LANGUAGE |
Targeting type language. |
TARGETING_TYPE_GEO |
Targeting type geography. |
TARGETING_TYPE_AGE |
Targeting type age. |
TARGETING_TYPE_GENDER |
Targeting type gender. |
TARGETING_TYPE_CONTEXTUAL_SEGMENT |
Targeting type contextual segment. |
TARGETING_TYPE_REQUEST_FORMAT |
Targeting type request format. |
TARGETING_TYPE_PUBLISHER |
Targeting type publisher. |
TARGETING_TYPE_INVENTORY_SIZE |
Targeting type size. |
TARGETING_TYPE_NETWORK |
Targeting type network. |
TARGETING_TYPE_PLATFORM |
Targeting type platform. |
TARGETING_TYPE_VIDEO_DELIVERY_TYPE |
Targeting type video delivery type. |
TARGETING_TYPE_VIDEO_MINIMUM_PLAYER_SIZE |
Targeting type video minimum player size. |
AudienceSelection
Selected audience targeting options.
| JSON representation |
|---|
{
"includedOrGroups": [
{
object ( |
| Fields | |
|---|---|
includedOrGroups[] |
Included options are conjuncted with AND, each included option can be an individual option, or a group of options conjuncted with OR. |
excludedOptionIds[] |
Excluded options are conjuncted with OR. |
OrGroup
A group of selected options conjuncted by OR.
| JSON representation |
|---|
{ "optionIds": [ string ] } |
| Fields | |
|---|---|
optionIds[] |
Selected option ids. |
TargetingSelection
A set of one or more selected option ids, applicable for most targeting types.
| JSON representation |
|---|
{ "optionIds": [ string ] } |
| Fields | |
|---|---|
optionIds[] |
Selected option ids. |
ForecastResult
Forecast result specified.
| JSON representation |
|---|
{
"forecasts": [
{
object ( |
| Fields | |
|---|---|
forecasts[] |
Forecast. "forecastCategory" must be unique for each element specified. |
Forecast
Forecast of the specified forecast category.
| JSON representation |
|---|
{ "forecastCategory": enum ( |
| Fields | |
|---|---|
forecastCategory |
The specified forecast category the forecast stat represented. |
Union field forecast_data. Only one type of stat data can be included. The data populated must correspond to the "forecastCategory" field. forecast_data can be only one of the following: |
|
number |
Number data. |
percentage |
Percentage data. |
cpmPrice |
CPM price data. |
cpmRange |
CPM price range data. |
forecastBreakdownData |
Forecast breakdown data. |
ForecastCategory
Forecast category.
| Enums | |
|---|---|
FORECAST_CATEGORY_UNSPECIFIED |
Unspecified category. Not valid for input. |
FORECAST_CATEGORY_TOTAL_OPPORTUNITIES |
Total opportunities. Number data. |
FORECAST_CATEGORY_TOTAL_AUDIENCE |
Total audience. Number data. |
FORECAST_CATEGORY_DIGITAL_TRP |
Digital target rating points. Percentage data. |
FORECAST_CATEGORY_SUGGESTED_CPM |
Suggested CPM price. CPM range or CPM price data. |
FORECAST_CATEGORY_UNIQUE_REACH |
Forecast unique reach. Number data. |
FORECAST_CATEGORY_FORECAST_BREAKDOWN |
Forecast breakdown. Forecast breakdown data. |
CpmRange
CPM Range contains the min and max of the CPM.
| JSON representation |
|---|
{ "minCpm": { object ( |
| Fields | |
|---|---|
minCpm |
Lower bound of the CPM range. |
maxCpm |
Upper bound of the CPM range. |
ForecastBreakdownData
Forecast breakdown data holds a list of forecast breakdown.
| JSON representation |
|---|
{
"forecastBreakdowns": [
{
object ( |
| Fields | |
|---|---|
forecastBreakdowns[] |
A list of forecast breakdowns. |
ForecastBreakdown
Forecast breakdown of the selected targeting option.
| JSON representation |
|---|
{ "selectedTargetingOption": { object ( |
| Fields | |
|---|---|
selectedTargetingOption |
The selected targeting option or options for a single targeting type. |
Union field breakdown_data. Only one type of breakdown data can be included. breakdown_data can be only one of the following: |
|
impressions |
Forecast impressions. |
ErrorDetails
Error details specified when update has errors.
| JSON representation |
|---|
{
"message": string,
"instantDealErrorStatus": enum ( |
| Fields | |
|---|---|
message |
The message specified when update has errors. |
instantDealErrorStatus |
The error status specified when update has errors for the instant deals. |
InstantDealErrorStatus
Error status specified when instant deal update has errors.
| Enums | |
|---|---|
INSTANT_DEAL_ERROR_STATUS_UNSPECIFIED |
Unspecified error status. |
INSTANT_DEAL_ERROR_STATUS_INVENTORY_UNAVAILABLE |
Error status indicates inventory unavailable. |
INSTANT_DEAL_ERROR_STATUS_FORECAST_UNAVAILABLE |
Error status indicates forecast unavailable. |
INSTANT_DEAL_ERROR_STATUS_INVALID_INPUT |
Error status indicates there are invalid input fields. |
FrequencyCap
The number of times a user may be shown with the same ad during a given time period
| JSON representation |
|---|
{
"timeUnit": enum ( |
| Fields | |
|---|---|
timeUnit |
The time unit in which the frequency cap will be applied. |
maxImpressions |
The maximum number of times a user may be shown with the same ad during this period. |
TimeUnit
The time unit in which the frequency cap will be applied.
| Enums | |
|---|---|
TIME_UNIT_UNSPECIFIED |
Unspecified time unit. |
TIME_UNIT_LIFETIME |
The frequency cap will be applied to the whole life time. |
TIME_UNIT_MONTHS |
The frequency cap will be applied to a number of months. |
TIME_UNIT_WEEKS |
The frequency cap will be applied to a number of weeks. |
TIME_UNIT_DAYS |
The frequency cap will be applied to a number of days. |
Methods |
|
|---|---|
|
Creates a product. |
|
Gets product. |
|
Lists product. |
|
Updates a product. |