Video Targeting

Overview

Video-specific targeting options allow you to control how your video campaigns are displayed and optimize for video performance metrics.

The restrictions object

The 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

Possible values:

typeDescription
"INCLUDE"Target only the specified video settings
"EXCLUDE"Block the specified video settings
"ALL"No restrictions (target all video settings)

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

Possible values:

VIEWABILITYTarget specific viewability requirements for video ads.
PRESETTarget specific video preset configurations.
AD_UNIT_TYPETarget specific ad unit types for video campaigns.
MIN_AD_SIZESet minimum ad size requirements.
SEQUENCETarget specific video sequence positions.
USER_VIMP_FREQUENCY_CAPPINGSet frequency capping for video impressions per user.
AD_ADJACENCYControl 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 LevelValueDescription
High Viewability7116182570% viewable for 2 seconds
Medium Viewability7116182650% viewable for 1 second
Standard Viewability71161827Standard 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 TypeValueDescription
VideoVIDEOVideo ad units
NativeNATIVENative 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

SequenceValueDescription
First Position10First video in sequence
Second Position20Second video in sequence
Third Position30Third 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

SettingValueDescription
Allow Adjacent1Allow ads to appear adjacent to each other
Prevent Adjacent0Prevent 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
}

Related pages