Overview
Video-specific targeting options allow you to control how your video campaigns are displayed and optimize for video performance metrics.
The restrictions
object
restrictions
objectThe restrictions
object contains an array of targeting rules that define which video settings your video campaign will target or exclude.
A sample object
{
"restrictions": [
{
"type": "INCLUDE",
"value": ["HIGH"],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
]
}
type
type
Possible values:
type | Description |
---|---|
"INCLUDE" | Target only the specified video settings |
"EXCLUDE" | Block the specified video settings |
"ALL" | No restrictions (target all video settings) |
value
value
An array of video targeting values that correspond to the restriction_name
. The array can contain multiple values for broader targeting or a single value for precise targeting.
restriction_name
restriction_name
Possible values:
VIEWABILITY | Target specific viewability requirements for video ads. |
PRESET | Target specific video preset configurations. |
AD_UNIT_TYPE | Target specific ad unit types for video campaigns. |
MIN_AD_SIZE | Set minimum ad size requirements. |
SEQUENCE | Target specific video sequence positions. |
USER_VIMP_FREQUENCY_CAPPING | Set frequency capping for video impressions per user. |
AD_ADJACENCY | Control ad adjacency settings. |
Targeting
Viewability
Target specific viewability requirements for video ads (VIEWABILITY
).
Set viewability targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "INCLUDE",
"value": ["71161825"],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Viewability Targeted Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "INCLUDE",
"value": ["71161825"],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Viewability values
Viewability Level | Value | Description |
---|---|---|
High Viewability | 71161825 | 70% viewable for 2 seconds |
Medium Viewability | 71161826 | 50% viewable for 1 second |
Standard Viewability | 71161827 | Standard viewability requirements |
Preset
Target specific video preset configurations (PRESET
).
Ad unit type
Target specific ad unit types for video campaigns (AD_UNIT_TYPE
).
Set ad unit type targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "INCLUDE",
"value": ["VIDEO", "NATIVE"],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Ad Unit Targeted Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "INCLUDE",
"value": ["VIDEO", "NATIVE"],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Ad unit type values
Ad Unit Type | Value | Description |
---|---|---|
Video | VIDEO | Video ad units |
Native | NATIVE | Native video ad units |
Min ad size
Set minimum ad size requirements (MIN_AD_SIZE
).
Sequence
Target specific video sequence positions (SEQUENCE
).
Set sequence targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "INCLUDE",
"value": ["10"],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Sequence Targeted Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "INCLUDE",
"value": ["10"],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Sequence values
Sequence | Value | Description |
---|---|---|
First Position | 10 | First video in sequence |
Second Position | 20 | Second video in sequence |
Third Position | 30 | Third video in sequence |
User VIMP frequency capping
Set frequency capping for video impressions per user (USER_VIMP_FREQUENCY_CAPPING
).
Set frequency capping targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "INCLUDE",
"value": ["5,1"],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Frequency Capped Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "INCLUDE",
"value": ["5,1"],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Frequency capping format
The format is "impressions,days"
:
"5,1"
= 5 impressions per user per day"10,7"
= 10 impressions per user per week"20,30"
= 20 impressions per user per month
Ad adjacency
Control ad adjacency settings (AD_ADJACENCY
).
Set ad adjacency targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "INCLUDE",
"value": ["1"],
"restriction_name": "AD_ADJACENCY"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Adjacency Controlled Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "INCLUDE",
"value": ["1"],
"restriction_name": "AD_ADJACENCY"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Ad adjacency values
Setting | Value | Description |
---|---|---|
Allow Adjacent | 1 | Allow ads to appear adjacent to each other |
Prevent Adjacent | 0 | Prevent ads from appearing adjacent to each other |
A complete example
{
"restrictions": [
{
"type": "INCLUDE",
"value": ["71161825"],
"restriction_name": "VIEWABILITY"
},
{
"type": "INCLUDE",
"value": ["71161825"],
"restriction_name": "PRESET"
},
{
"type": "INCLUDE",
"value": ["VIDEO"],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "INCLUDE",
"value": ["300x250", "728x90"],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "INCLUDE",
"value": ["10"],
"restriction_name": "SEQUENCE"
},
{
"type": "INCLUDE",
"value": ["5,1"],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "INCLUDE",
"value": ["1"],
"restriction_name": "AD_ADJACENCY"
}
]
}
This example:
- Targets high viewability requirements (
71161825
) - Uses specific video preset configuration (
71161825
) - Targets only video ad units (
VIDEO
) - Sets minimum ad size requirements (
300x250
,728x90
) - Targets first position in video sequence (
10
) - Limits to 5 impressions per user per day (
5,1
) - Allows adjacent ad placement (
1
)
Making updates
You can update video targeting by passing a restrictions
object with the targeting options you want to modify. When you pass a subset of targeting options, the other targeting options will remain unchanged.
Update existing targeting
Example 1 - pass a complete set
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "INCLUDE",
"value": ["HIGH"],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
]
}
POST
To update a video campaign, use the
POST
operation.
Example 2 - pass a subset
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "INCLUDE",
"value": ["HIGH"],
"restriction_name": "VIEWABILITY"
}
]
}
Clear existing targeting
Remove all video targeting restrictions by setting "type": "ALL"
and "value": []
(empty array). You must provide a complete set of restrictions - an empty collection will result in an error.
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Broad Video Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "VIEWABILITY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "PRESET"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_UNIT_TYPE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "MIN_AD_SIZE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "SEQUENCE"
},
{
"type": "ALL",
"value": [],
"restriction_name": "USER_VIMP_FREQUENCY_CAPPING"
},
{
"type": "ALL",
"value": [],
"restriction_name": "AD_ADJACENCY"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}