Overview
Content and safety targeting allows you to control where your video campaigns appear and ensure brand safety. You can target specific domains, content categories, and set brand safety params.
The restrictions
object
restrictions
objectThe restrictions
object contains an array of targeting rules that define which content and safety settings your video campaign will target or exclude.
A sample object
{
"restrictions": [
{
"type": "INCLUDE",
"value": ["example.com"],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
type
type
Possible values:
type | Description |
---|---|
"INCLUDE" | Target only the specified content/safety settings |
"EXCLUDE" | Block the specified content/safety settings |
"ALL" | No restrictions (target all content/safety settings) |
value
value
An array of content and safety 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:
DOMAIN | Target or exclude specific domains where your video ads can appear. |
KEYWORDS_IN_URL | Target pages based on keywords in the URL. |
CATEGORY | Target specific content categories. |
IAS_BRAND_SAFETY | Integral Ad Science (IAS) brand safety categories. |
BRAND_SAFETY_LEVEL | General brand safety level settings. |
BRAND_QUALITY_LEVEL | Brand quality level settings. |
Targeting
Domain
Target or exclude specific domains where your video ads can appear (DOMAIN
).
Set domain targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "EXCLUDE",
"value": ["example-news.com", "demo-publisher.net"],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Domain Excluded Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "EXCLUDE",
"value": ["example-news.com", "demo-publisher.net"],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Keywords in URL
Target pages based on keywords in the URL (KEYWORDS_IN_URL
).
Set keyword targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "INCLUDE",
"value": ["sports", "technology", "business"],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Keyword Targeted Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "INCLUDE",
"value": ["sports", "technology", "business"],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Category
Target specific content categories (CATEGORY
).
Set category targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "INCLUDE",
"value": ["news", "entertainment", "sports"],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Category Targeted Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "INCLUDE",
"value": ["news", "entertainment", "sports"],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
IAS brand safety
Integral Ad Science (IAS) brand safety categories (IAS_BRAND_SAFETY
).
Set IAS brand safety targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "INCLUDE",
"value": ["501", "505", "507", "509", "511", "531"],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "IAS Brand Safety Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "INCLUDE",
"value": ["501", "505", "507", "509", "511", "531"],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Common IAS brand safety values
Category | Value | Description |
---|---|---|
Adult Content | 501 | Adult content |
Alcohol | 505 | Alcohol-related content |
Gambling | 507 | Gambling content |
Hate Speech | 509 | Hate speech content |
Violence | 511 | Violent content |
User Generated Content | 531 | User-generated content |
Brand safety level
General brand safety level settings (BRAND_SAFETY_LEVEL
).
Set brand safety level targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "INCLUDE",
"value": ["1", "2"],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Brand Safety Level Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "INCLUDE",
"value": ["1", "2"],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Brand safety levels
Level | Description |
---|---|
1 | High brand safety |
2 | Medium brand safety |
3 | Low brand safety |
Brand quality level
Brand quality level settings (BRAND_QUALITY_LEVEL
).
Set brand quality level targeting
POST /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}
{
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "INCLUDE",
"value": ["2"],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Brand Quality Level Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "INCLUDE",
"value": ["2"],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}
Brand quality levels
Level | Description |
---|---|
1 | Premium quality |
2 | Standard quality |
3 | Basic quality |
A complete example
{
"restrictions": [
{
"type": "EXCLUDE",
"value": ["example-news.com", "demo-publisher.net"],
"restriction_name": "DOMAIN"
},
{
"type": "INCLUDE",
"value": ["technology", "business"],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "INCLUDE",
"value": ["news", "technology"],
"restriction_name": "CATEGORY"
},
{
"type": "INCLUDE",
"value": ["501", "505", "507"],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "INCLUDE",
"value": ["1", "2"],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "INCLUDE",
"value": ["2"],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
This example:
- Excludes specific domains (
example-news.com
,demo-publisher.net
) - Targets technology and business keywords in URLs (
technology
,business
) - Includes news and technology categories (
news
,technology
) - Excludes adult content, alcohol, and gambling (IAS categories
501
,505
,507
) - Targets high and medium brand safety levels (
1
,2
) - Targets standard brand quality level (
2
)
Making updates
You can update content and safety 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": ["example.com"],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
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": ["example.com"],
"restriction_name": "DOMAIN"
}
]
}
Clear existing targeting
Remove all content and safety 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": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
]
}
{
"id": 12345678,
"content_provider": 987654,
"name": "Broad Content Campaign",
"business_model": "CPM",
"status": "ACTIVE",
"start_date": "2024-06-01",
"end_date": "2024-08-31",
"restrictions": [
{
"type": "ALL",
"value": [],
"restriction_name": "DOMAIN"
},
{
"type": "ALL",
"value": [],
"restriction_name": "KEYWORDS_IN_URL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "CATEGORY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "IAS_BRAND_SAFETY"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_SAFETY_LEVEL"
},
{
"type": "ALL",
"value": [],
"restriction_name": "BRAND_QUALITY_LEVEL"
}
],
"total_budget": 10000.0,
"charge_rate": 5.50,
"completed_views": 1500,
"active": true
}