The Integral Ad Science (IAS) Reporting Application Programming Interface (Reporting API) is a RESTful API that exposes IAS viewability, fraud, and brand safety metrics.
The Integral Ad Science (IAS) Reporting Application Programming Interface (Reporting API) is a RESTful API that exposes IAS viewability, fraud, and brand safety metrics. It allows you to leverage IAS's data for your own internal business applications organized by "dimensions" of your choice such as specific campaigns and publishers. You can access all endpoints with the HTTP GET method. In the report creation, you can specify various dimensions to group the data (for example, Campaigns, Device, DSP, etc.).
Note: Macro level dimensions are only available for impressions running on eligible DSPs.
The Reporting API returns data as configured in the tag before it is trafficked; if you suspect missing data, your IAS technical support representative will provide a sample query to ensure your tags are properly configured. IAS only shows data for the requested team ID.
The Reporting API uses OAuth 2.0 with the 'password' grant flow. The 'username' is the IAS Signal username, and 'password' is the password for the IAS Signal username. Coordinate with your IAS representative to obtain a client ID and client secret. Once generated, you can re-use the token with multiple requests to the reporting API until the token expires (which is indicated with the error 'invalid_token' and an error description 'Access token expired').
The token to use for requests is the value from the "access_token" key in the JSON response.
curl -u <Client ID>:<Client Secret> https://data.integralplatform.com/auth/uaa/oauth/token -d 'username=<putyourusernamehere>&password=<putyourpasswordhere>&grant_type=password'
Area | URL |
Authentication Token URL | https://data.integralplatform.com/auth/uaa/oauth/token |
Base Endpoint | https://data.integralplatform.com |
Creates a report using a JSON file as input. The Create Report API is ASYNC so use Check Status to learn when the report is ready.
You can create reports with the the following types of report types:
Performance Report Input File - uses IAS-measured data and metrics to evaluate your campaigns.
Brand Suitability Failure Report Input File - for participating advertisers, this report uses IAS data to evaluate brand safety reasons on why an ad wasn't displayed.
Facebook Reporting Input File - uses IAS data to gain insights into Facebook performance.
YouTube Reporting Input File - uses IAS data to gain insights into YouTube performance.
YouTube Contextual Suitability Reporting Input File - uses IAS data to gain aggregate level insights into YouTube Contextual Suitability performance.
YouTube Content Level Contextual Suitability Reporting Input File - uses IAS data to gain content level insights into YouTube Contextual Suitability performance.
Collision Reporting Input File - uses IAS data to gain insight into ad collisions.
Geo Compliance Reporting Input File - uses IAS data to gain insights into Geo Compliance.
GroupM Fully On Screen Reporting Input File - uses IAS data to gain insights on GroupM Fully On Screen metrics.
Domain Mismatch Reporting Input File - uses IAS data for insights on discrepancies between the Bid Domain (the domain the DSP reported) and Measured Domain (the domain IAS detected).
TikTok Input File - uses IAS data for Brand Safety and Video-Level insights.
Total Visibility Input File - uses IAS data for insights into the supply path and costs.
Attention Reporting Input File - uses IAS data for insights into attention.
A report defines the teams you want data from, the time period to get data, and the metrics to collect. Additionally, you can group the metrics according to various dimensions. For example, you can view Measured Ads per URL using the Domains dimension.
The IAS Help Center contains more information about metrics and any metric minimum thresholds.
See 'Inputs' for an example of the input file and each report's 'Input File' section for a detailed explanation of the report properties. Additionally, Sample Reports includes numerous examples of reports using various dimensions.
curl -vX --location --request POST 'https://data.integralplatform.com/report' --header "Authorization: Bearer ${TOKEN}" --header 'Content-Type: application/json' -d "@{jsonFile}"
Name | In | Type | Required | Description |
jsonFile | body | ReportRequest | true | JSON input file to upload. The JSON file defines the report's settings. |
The JSON input file defines the following properties:
reportName
reportTeamIds
reportStart
reportEnd
reportType
fileType
metrics Performance, Brand Suitability, Facebook, YouTube, and Collision
parameters
ultimateAdvertiserIds
customMetrics
dimensions
dimensionFilters
thresholdCondition
See the Performance, Brand Suitability Failure, Facebook, YouTube, or Collision Report Type for property descriptions, required settings, and possible values for each report type.
Example JSON Input File:
{
"reportName": "Reporting_API_Example",
"reportTeamIds": [ 12345 ],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Campaigns",
"Teams"
]
}
Name | Type | Notes |
id | integer(int64) | This ID value is used to and to the report. |
status | string | SUBMITTED, PENDING, NO_RESULTS, ERROR, READY |
Create Report Example Output:
{
"id": 25,
"status": "SUBMITTED"
}
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Reporting_API_ Example_Performance"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
IAS_PERFORMANCE
For example: "reportType": "IAS_PERFORMANCE"
The metrics which you want in your report.
Performance example metrics:
"metrics": [
"Total tracked ads"
]
For a Performance Report, the following metrics are available grouped in these categories:
Summary
Viewability
Viewability Rendered
Viewability Gross Net
Viewability Gross Net Impressions
Viewability Distribution
Failure Reasons
Quality Impressions
Brand Safety
Risk Categories
Invalid Traffic
Invalid Traffic By Type
Video Quartiles
Carbon Emissions
Site Quality
Video
Blocking status
Total tracked ads
Tracked ads share rate
Average Time-in-View
Time-in-View Distribution
Eligible Ads for Viewability Measurement
Measured ads
Measured Rate (out of Ads)
Unmeasured ads
Unmeasured rate
Viewable impressions
Viewable rate (out of measured ads)
Not viewable ads
Not viewable rate (out of measured ads)
Total rendered impressions
Eligible impressions for viewability
Net impressions
Total net impressions
Measured impressions
Unmeasured impressions
Viewable rate (out of measured impressions)
Not viewable impressions
Not viewable rate (out of measured impressions)
Measured Rate (out of eligible impressions)
Net Measured Rate (out of eligible impressions)
Gross eligible ads
Gross measured ads
Gross Measured Rate (Out of Gross Eligible Ads)
Gross unmeasured ads
Gross Unmeasured Rate (Out of Gross Eligible Ads)
Net eligible ads for viewability measurement
Net measured ads
Net Measured Rate (out of net eligible ads)
Net unmeasured ads
Net Unmeasured Rate (out of net eligible ads)
Net viewable ads
Net Viewable Rate (Out of Net Measured Ads)
Net not viewable ads
Net Not Viewable Rate (Out of Net Measured Ads)
Gross eligible impressions
Gross measured impressions
Gross Measured Rate (Out of Gross Eligible Impressions)
Gross unmeasured impressions
Gross Unmeasured Rate (Out of Gross Eligible Impressions)
Net eligible impressions for viewability measurement
Net measured impressions
Net Measured Rate (out of net eligible impressions)
Net unmeasured impressions
Net Unmeasured Rate (out of net eligible impressions)
Net viewable impressions
Net Viewable Rate (Out of Net Measured Impressions)
Net not viewable impressions
Net Not Viewable Rate (Out of Net Measured Impressions)
Ad distribution: viewable rate
Ad distribution: not viewable rate
Ad distribution: measured rate
Ad distribution: unmeasured rate
Ad distribution: net measured rate
Ad distribution: net unmeasured rate
Ad distribution: net viewable rate
Ad distribution: net not viewable rate
Impression distribution: unmeasured rate
Impression distribution: viewable rate
Impression distribution: not viewable rate
Impression distribution: net unmeasured rate
Impression distribution: net viewable rate
Impression distribution: net not viewable rate
Brand safety risk ads
Brand safety risk rate
Brand suitability failed ads
Brand suitability fail rate
Custom keyword exclusion list ads
Custom keyword exclusion list rate
Custom URL/App exclusion List ads
Custom URL/App exclusion List rate
Out of geo ads
Out of geo rate
Invalid traffic ads
Invalid traffic rate
Invisible URL ads
Invisible URL rate
Target language mismatch ads
Target language mismatch rate
Quality Impressions are ads which meet custom criteria set by your team across Viewability, Invalid Traffic (IVT), Brand Safety, and Geo Targeting. You can create a report which disables the Viewability and, or Geo Targeting criteria using the Parameters option.
If you are using any of the Quality Impressions metrics, you must include 'Total tracked ads' as a metric. See Sample Reports for an example Quality Impressions Report. The Quality Impressions metrics:
Eligible ads for quality impressions
Eligible rate for quality impressions
Quality impressions
Quality impressions rate
Non-quality ads
Non-quality rate
Non-quality blocked ads
Non-Quality Not Viewable Ads
% Non quality: not viewable
Failed brand safety ads
% Non quality: failed brand safety
Non-Quality Invalid Traffic Ads
% Non quality: IVT
Non-Quality Out of Geo Ads
% Non quality: Out of geo
Total eligible ads for brand safety
Passed ads
Pass rate
Failed ads
Fail rate
Blocked ads
Block rate (% of failed)
See-through ads
See-through rate
Adult Ads
% Adult Ads
Alcohol Ads
% Alcohol Ads
Hate Speech Ads
% Hate Speech Ads
Illegal Downloads Ads
% Illegal Downloads Ads
Drugs Ads
% Drugs Ads
Offensive Language Ads
% Offensive Language Ads
Violence Ads
% Violence Ads
Eligible ads for invalid traffic detection
Eligible rate for invalid traffic detection
Invalid traffic
Invalid traffic rate
Valid traffic
Valid traffic rate
Blocked invalid traffic
% of invalid traffic blocked
Unblocked invalid traffic
% of invalid traffic unblocked
General invalid traffic (GIVT) ads
General invalid traffic (GIVT) rate
Sophisticated invalid traffic ads
Sophisticated invalid traffic rate
Bots (SIVT) ads
Bots (SIVT) rate
Domain spoofing (SIVT) ads
Domain spoofing (SIVT) rate
Hidden ads (SIVT) ads
Hidden ads (SIVT) rate
Reduced value inventory ads
Reduced value inventory rate
Incentivized browsing (RVI) ads
Incentivized browsing (RVI) rate
Proxy servers (RVI) ads
Proxy servers (RVI) rate
Valid video ads
Valid Viewable Video Impressions
Good-Loop CO2 (eKg)
Good-Loop tracked ads
Scope3 CO2 (eKg)
Scope3 tracked ads
MFA Ads
MFA Rate
Ad Clutter Ads
Ad Clutter Rate
Pause/Unpause
User Scroll
Volume Up/Down/Mute
Full-Screen Plays
Auto play ads
Click to play ads
Unknown player state ads
Valid quartiles
Valid quartiles rate (% of Valid Video Ads)
Viewable valid quartiles
Viewable Valid Quartiles Rate (% of Valid Viewable Video Impressions)
The boolean parameters 'Quality Criteria Geo' and 'Quality Criteria Viewability' are available only for Quality Impressions metrics (these parameters are not applicable for non Quality Impressions metrics). These parameters allow you to disable the custom criteria your teams set for the Quality Impressions for Geo targeting and, or Viewability.
When you set the parameter 'Quality Criteria Geo' to false, then you no longer can use the Quality Impressions metrics 'Non-Quality Out of Geo Ads' and '% Non quality: Out of geo'; if you set 'Quality Criteria Geo' to false and use the 'Non-Quality Out of Geo Ads' and, or '% Non quality: Out of geo' metrics, the report returns bad data for those metrics.
When you set the parameter 'Quality Criteria Viewability' to false, then you no longer can use the Quality Impressions metrics 'Non-Quality Not Viewable Ads' and '% Non quality: not viewable'; if you set 'Quality Criteria Viewability' to false and use the 'Non-Quality Not Viewable Ads' and, or '% Non quality: not viewable', the report returns bad data for those metrics.
Example Setting Parameters:
"metrics": [
"Total tracked ads",
"Quality impressions",
"Quality impressions rate",
"Non-Quality Out of Geo Ads",
"% Non quality: Out of geo"
],
"parameters" : {
"Quality Criteria Geo" : true ,
"Quality Criteria Viewability" : false
}
'ultimateAdvertiserIds' is used in conjunction with the 'Advertiser' dimension, this setting allows you to get data for many teams with a single advertiser ID. Contact your IAS representative for the ultimate advertiser IDs.
Example:
"metrics": [
"Total tracked ads"
],
"dimensions": [
"Advertiser"
],
"ultimateAdvertiserIds":[1,6]
You need to declare the 'id' and the 'name'. Custom Metrics are only available for a Performance Report or Total Visibility Report.
Contact your IAS representative for the name and ID for the custom metrics.
Example:
"customMetrics": {
"id":"123",
"name":"name123"
}
Dimensions and dimension filters groups and limits data according to what your settings. The 'dimensionFilter' field is the dimension name, except for 'Date' which uses 'dateBreakout' to set the time span.
Sending the wrong dimensions or metrics to a report type that doesn't support them causes report creation to fail. For example, you can't use Teams, App, or Domains in the same report, and all the DSP dimensions are not compatible with the Apps dimension. See the Sample Dimensions and Dimension Filters or Sample Reports for examples of creating reports for various dimensions.
If you don't set a specific dimension filter, all the values are shown for that dimension.
Macro level dimensions are only available for impressions running on eligible DSPs.
Dimension | Possible Values |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Apps | If you use the 'Apps' dimension, then you can't also use the DSP dimensions. |
Campaigns | active
or specific campaigns. |
Channel (Exchange) | If you use the 'Channel (Exchange)' dimension, you can't also group by the 'Apps' dimension. |
Contextual Segment | Groups data by Context Control Targeting segments. When you use 'Contextual Segment', you can only use the dimensions: Campaign Media partner DSP DSP Campaign Segment Team Additionally, you can only use the following metrics: Eligible Ads for Viewable Measurement Measured Ads Measured Rate (out of Ads) Unmeasured Ads Unmeasured Rate Viewable Impressions Viewable Rate Not Viewable Ads Not Viewable Rate Total Tracked Ads |
Creatives | The report contains a breakout for creatives. |
Date | Use 'dateBreakout' to define the time span. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) connected TV (5) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
Domains | If you group by the 'Domains' dimension, then you can't also group by the 'Teams' and 'Apps' dimensions. |
DSP | DSP Value - DSP Name: 1 - Amobee 2 - Xandr 3 - DV360 8 - MediaMath 9 - TTD 11 - Adobe 12 - AdForm 26 - Zeta Global 28 - Adelphic 30 - VMG 33 - Amazon 58 - Beeswax If you use the 'DSP' dimension, you can't also group by the 'Apps' dimension. |
DSP Campaign | If you use the 'DSP Campaign' dimension, you can't also group by the 'Apps' dimension. |
DSP Deal | If you use the 'DSP Deal' dimension, you can't also group by the 'Apps' dimension. |
DSP Placement (Line item) | If you use the 'DSP Placement (Line item)' dimension, you can't also group by the 'Apps' dimension. |
DSP Publisher | If you use the 'DSP Publisher' dimension, you can't also group by the 'Apps' dimension. |
Environment | browser (1) in-app (2) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all environments. |
External Id | External ID. |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
Media partners | All or specific media partners. If you don't specify 'dimensionFilters', then the API groups by all media partners. |
Placements | All or specific placements. If you don't specify 'dimensionFilters', then the API groups by all placements. |
Teams | The team IDs you want to group and, or filter upon. |
Dimension and Dimension Filters Template Example:
"dimensions" : [
"<Dimension>"
],
"dimensionFilters" : [
{
"field" : "<Dimension>",
"values" : [
"<Value>"
]
}
]
Date Example:
"dimensions" : [
"Date"
],
"dateBreakout" : "BY_MONTH"
Custom Dimensions are only available for a Performance Report and Unified View customers. Use the custom dimensions in conjunction with the 'ultimateAdvertiserIds' property. Use the Dimension & Values screen in IAS Signal under Campaigns > Unified View Manager to add, delete, or update custom dimensions.
The sample uses "Market" and "Activation Entity" however these dimensions must be configured in IAS Signal to work properly.
Custom Dimensions Example:
"metrics": [
"Total tracked ads"
],
"dimensions": [
"Advertiser"
],
"customDimensions": [
"Market",
"Activation Entity"
],
"ultimateAdvertiserIds": [
2
]
You can set a filter to return only data which meets a minimum threshold of total tracked ads, or to include any threshold (-1).
The minimum filter is optional for a Performance Report.
Minimum Filter Example:
"thresholdCondition": {
"metric": "Total tracked ads",
"value": 1000
}
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Reporting_API_ Example_Brand_Suitability"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
FAILED_BY_BRAND_SUITABILITY_PROFILE
For example: "reportType": "FAILED_BY_BRAND_SUITABILITY_PROFILE"
Available for participating advertisers, the Brand Suitability Failure Report displays the metric 'Failed ads' to show when an ad didn't appear because the location of the ad failed to match your brand safety settings.
Failed by Brand Suitability Metric Example:
"metrics": [ "Failed ads" ]
See Sample Dimensions and Dimension Filters for additional examples.
Note: you must set 'Segment' as one of the dimensions. However if you use the 'Keyword' dimension, then you can't use 'Segment'.
Dimension | Possible Values |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Campaigns | active or specific campaigns. |
Creatives | The report contains a breakout for creatives. |
Date | Use 'dateBreakout' to define the time period. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) connected TV (5) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
Domains | If you group by the 'Domains' dimension, then you can't also group by the 'Teams' and 'Apps' dimensions. |
External Id | External ID. |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
Keyword | If you use Keyword, then you can't use the 'Segment' dimension. |
Media partners | All or specific media partners. If you don't specify 'dimensionFilters', then the API groups by all media partners. |
Page/URL | groups by Page/URL. |
Placements | All or specific placements. If you don't specify 'dimensionFilters', then the API groups by all placements. |
Segment | Segment is
required . |
Teams | The team IDs you want to group and, or filter upon. |
The minimum filter is optional for a Brand Suitability Failure Report.
See Minimum Filter for more information.
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Reporting_API_ Example_Facebook"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
FACEBOOK_VIEWABILITY
For example: "reportType": "FACEBOOK_VIEWABILITY"
Facebook Example Metrics:
"metrics": [
"# ≥ 2s",
"# Base 1s Imps"
]
The metrics which you want in your report.
For a Facebook Report, you must use the Format dimension set to video or display. You can use the following metrics in these categories for a Facebook Report:
Viewability
Invalid Traffic
Video
Display
# Impressions
% Impressions
# Base Impressions
% Base Impressions
# ≥ 2s
% ≥ 2s
# Duration-Measurable Imps
% Duration-Measurable Imps
Avg Time in View (Sec)
# 50% Views
% 50% Views
Total Tracked Ads
# Suspicious
% Suspicious
# Pass Thru Views
% Pass Thru Views
# Unplayed
Ad Distribution by Time in View
% Ad Distribution by Time in View
Avg % Viewed for Played Ads
Play count by % Played
% Play count by % Played
# Full Views
% Full Views
# Duration-Measurable Imps
% Duration-Measurable Imps
# Base 1s Imps
% Base 1s Imps
# 100% Views
% 100% Views
See Sample Dimensions and Dimension Filters for additional examples.
Available for participating advertisers, the Facebook Report supports the following dimensions.
Dimension | Possible Values |
Ad | all or specific ads. If you don't specify 'dimensionFilters', then the API groups by all ads. |
Ad Set | all or specific ad sets. If you don't specify 'dimensionFilters', then the API groups by all ad sets. |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Campaigns | active or specific campaigns. |
Creative | all or specific creatives. If you don't specify 'dimensionFilters', then the API groups by all creatives. |
CTA | Call to Action; for example, 'LEARN_MORE, 'SHOP_NOW', 'DOWNLOAD', etc. You must use Objectives when you use CTA. |
Date | Use 'dateBreakout' to define the time period. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) connected TV (5) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
Environment | browser (1) in-app (2) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all environments. |
Format | In 'dimensionFilters', you must set to either: display video |
Inventory Type | all or specific inventory types. If you don't specify 'dimensionFilters', then the API groups by all inventory types. The types: Desktop Feed (16) Mobile Feed (19) Audience Networking work (Video only, 24) Instagram (35) Mobile Video Channel (Video only, 37) Desktop video channel (Video only, 38) Mobile instream video (Video only, 46) Desktop instream video (Video only, 47) Instagram Stories (49) Facebook Stories (Video only, 59) Facebook Watch Feed (Video only, 70) |
Objectives | The goal for the ad. For example, 'Sales', 'App Promotion', 'Leads', etc. |
Teams | The team IDs you want to group and, or filter upon. |
You must set a minimum filter of total tracked ads for a Facebook Report.
See Minimum Filter for more information.
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Reporting_API_ Example_YouTube"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
YOUTUBE_REPORTS
For example: "reportType": "YOUTUBE_REPORTS"
YouTube Example Metrics:
"metrics": [
"GARM Risk Level",
"GARM Category",
"Impressions"
]
The metrics which you want in your report.
For YouTube Reports, you can use the following metrics in these categories:
Brand Safety
GARM Risk
When the dimension Type is set to brandsafety, you can use the following metrics:
Total Eligible Ads for Brand Safety
GARM Passed Ads
% GARM Passed Ads
GARM Floor Failure Ads
% GARM Floor Failure Ads
When the dimension Type is set to garm, you can use the following metrics:
GARM Risk Level (set the level via parameters)
GARM Category
Impressions (set a minimum impression count via parameters)
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Campaigns | active or specific campaigns. |
Date | Use 'dateBreakout' to define the time period. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
GVP Apps | Breaks out the report for Google Video Partners app store, app ID, and app name. This dimension is only available when the Type dimension is set to garm and the Inventory Type is set to gvp. You can only use GVP Apps or GVP Full URLs ; you can't use both. |
GVP Full URLs | Breaks out the report for Google Video Partners URLs. This dimension is only available when the Type dimension is set to garm and the Inventory Type is set to gvp. You can only use GVP Apps or GVP Full URLs ; you can't use both. |
Inventory Type | Inventory Type with a possible dimensionFilters value of either youtube or gvp (Google Video Partners). |
Teams | The team IDs you want to group and, or filter upon. |
Type | Type is required for a YouTube Report. Possible dimensionFilters value is either brandsafety or garm ; you can't have both brandsafety and garm in the same report. If you select garm, then you can set the GARM Risk Level to Floor, High, Medium, and, or Low via parameters. |
Videos | Group and filter for a specific video ID. With the Videos dimension, you can get data for up to 180 days. The Videos dimension is only available if you have the Type set to garm and Inventory Type set to youtube. |
You must set a minimum filter of total tracked ads for a YouTube Report.
See Minimum Filter for more information.
Parameters
Parameters Example:
"parameters": {
"GARM Risk Level" : [
"Floor",
"High",
"Medium",
"Low"
],
"Impressions": ">=100"
}
When the dimension Type is set to garm, you can set a parameters GARM Risk Level and, or a minimum impression count of at least 100.
The GARM Risk Level can include the following:
Floor
High
Medium
Low
Also, use parameters to set a minimum impression count: "Impressions": ">=100".
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Reporting_API_ Example_YouTubeContextualSuitability"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
YOUTUBE_CONTEXTUAL_AGGREGATE
For example: "reportType": "YOUTUBE_CONTEXTUAL_AGGREGATE"
YouTube Contextual Suitability Example Metrics
"metrics": [
"Total Eligible Impressions for Contextual Suitability",
"Family & Parenting - Kids Content Impressions",
"Politics Impressions",
"News Impressions",
"Natural Disasters Impressions"
]
For YouTube Contextual Suitability Reports, you can use the following metrics:
Total Eligible Impressions for Contextual Suitability
Family & Parenting - Kids Content Impressions
Politics Impressions
News Impressions
Natural Disasters Impressions
YouTube Contextual Suitability
"dimensions": [
"Teams",
"Campaigns",
"Date"
]
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Teams | The team IDs you want to group and, or filter upon. |
Campaigns | active or specific campaigns. |
Date | Use 'dateBreakout' to define the time period. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Reporting_API_ Example_YouTubeContentLevelContextualSuitability"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
YOUTUBE_CONTEXTUAL_CONTENT
For example: "reportType": "YOUTUBE_CONTEXTUAL_CONTENT"
YouTube Content Level Contextual Suitability Example Metrics
"metrics": [
"Impressions"
]
For YouTube Content Level Contextual Suitability Reports, you must use the 'Impressions' metric.
YouTube Content Level Contextual Suitability
"dimensions": [
"Teams",
"Campaigns",
"Videos",
"Contextual Category",
"Date"
]
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Teams | The team IDs you want to group and, or filter upon. |
Campaigns | active or specific campaigns. |
Videos | Group and filter for a specific video ID. With the Videos dimension, you can get data for up to 180 days. You must include a Videos dimension and a Contextual Category dimension for a YouTube Content Level Contextual Suitability report. |
Contextual Category | All or specific contextual categories. If you don't specify 'dimensionFilters', then the API groups by all contextual categories. You must include a Videos dimension and a Contextual Category dimension for a YouTube Content Level Contextual Suitability report. |
Date | Use 'dateBreakout' to define the time period. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
"parameters": {
"Impressions": ">=100"
}
You can set a minimum impression count of at least 100.
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Reporting_API_Example_Collisions"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
COLLISIONS
For example: "reportType": "COLLISIONS"
Collision Example Metrics
"metrics": [
"3 Ad Collisions",
"Total Collisions"
]
For Collision Reports, you can use the following metrics:
Eligible ads for collisions measurement
Eligible rate for collisions measurement
2 Ad Collisions
3 Ad Collisions
4+ Ad Collisions
Non-Colliding Ads
Total Colliding Ads
Total Collisions
Total Impressions
Campaigns
"dimensions": [
"Campaigns"
],
"dimensionFilters": [
{
"field": "Campaigns",
"values": ["123456"]
}
]
Campaign Status
"dimensions": [
"Campaigns"
],
"dimensionFilters": [
{
"field": "Campaign Status",
"values": ["Low Traffic"]
}
]
Colliding Media partners
"dimensions": [
"Colliding Media partners"
],
"dimensionFilters": [
{
"field": "Include Partner to Partner",
"values": ["Yes"]
}
],
"thresholdCondition": {
"metric": "Total Colliding Ads",
"value": 10000
}
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Campaigns | With the dimensionFilters field 'Campaigns' (active or specific campaigns), or with the dimensionFilters field 'Campaign Status': Active - filter campaigns running for more than 7 days with at least 1,000 ads, and running with at least 1,000 ads for at least 7 days, and running over 10,000 ads for at least one day over the last 7 days Cancelled - filter deactivated campaigns Completed - filter inactive campaigns New - filter campaigns active for 7 days or fewer Low Traffic - filter only campaigns that had fewer than 1,000 ad views for at least 10 days). |
Colliding Media partners | Allows you to see which publishers collided with another publisher. For the dimension 'Colliding Media partners', use the filter field 'Include Partner to Partner' set to Yes to see the colliding publishers. If you don't specify 'dimensionFilters', then the 'Include Partner to Partner' is set to No. When you use the dimension filter 'Include Partner to Partner', then you must set the minimum threshold to 'Total Colliding Ads'. |
Date | Use 'dateBreakout' to define the time period. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Domains | If you group by the 'Domains' dimension, then you can't also group by the 'Teams' dimensions. |
External Id | External ID. |
Media partners | All or specific media partners. If you don't specify 'dimensionFilters', then the API groups by all media partners. |
Placements | All or specific placements. If you don't specify 'dimensionFilters', then the API groups by all placements. |
Teams | The team IDs you want to group and, or filter upon. |
Minimum Colliding Ads Filter Example
"dimensions": [
"Colliding Media partners"
],
"dimensionFilters": [
{
"field": "Include Partner to Partner",
"values": ["Yes"]
}
],
"thresholdCondition": {
"metric": "Total Colliding Ads",
"value": 10000
}
You must set a minimum filter of total tracked ads for a Collision Report. You can set a filter to return only data which meets a minimum threshold of total tracked ads or to the total colliding ads, or you can set to not include any threshold (-1).
When you use 'Colliding Media partners' dimension with the filter ''Include Partner to Partner', then the minimum threshold must be 'Total Colliding Ads'.
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Geo_Compliance"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
GEO_COMPLIANCE
For example: "reportType": "GEO_COMPLIANCE"
Geo Compliance Example Metrics
"metrics": [
"Total Tracked Ads"
]
For Geo Compliance Reports, you must use the 'Total Tracked Ads' metric.
Country
"dimensions": [
"Teams",
"Country"
]
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Campaigns | With the dimensionFilters field 'Campaigns' (active or specific campaigns), or with the dimensionFilters field 'Campaign Status': Active - filter campaigns running for more than 7 days with at least 1,000 ads, and running with at least 1,000 ads for at least 7 days, and running over 10,000 ads for at least one day over the last 7 days Cancelled - filter deactivated campaigns Completed - filter inactive campaigns New - filter campaigns active for 7 days or fewer Low Traffic - filter only campaigns that had fewer than 1,000 ad views for at least 10 days). |
Date | Use 'dateBreakout' to define the time period. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Country | Country. You must include a Country, DMA, or State dimension for a Geo Compliance report. |
DMA | Designated Market Areas for the United States. You must include a Country, DMA, or State dimension for a Geo Compliance report. |
External Id | External ID. |
Media partners | All or specific media partners. If you don't specify 'dimensionFilters', then the API groups by all media partners. |
Placements | All or specific placements. If you don't specify 'dimensionFilters', then the API groups by all placements. |
State | United States and Canadian states, provinces, or territories. You must include a Country, DMA, or State dimension for a Geo Compliance report. |
Teams | The team IDs you want to group and, or filter upon. |
Minimum Filter Geo Compliance Example
"thresholdCondition": {
"metric": "Total tracked ads",
"value": -1
}
You must set a minimum filter of total tracked ads for a Geo Compliance Report. You can set a filter to return only data which meets a minimum threshold of total tracked ads or you can set to not include any threshold (-1).
Only data from teams enabled for GroupM Viewability Measurement is included.
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "GroupM_Fully"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-16"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
GROUP_M
For example: "reportType": "GROUP_M"
GroupM Fully On Screen Example Metrics
"metrics": [
"Total Impressions",
"% Display Ads Fully on Screen",
"Fully on Screen Display Ads",
"% Videos Fully on Screen",
"Fully on Screen Video Ads",
"GroupM Measured Ads",
"Measured Display Ads",
"Measured Video Ads",
"Total Unblocked Ads",
"Total Billable Ads",
"Viewable Ads",
"TrueView Ads Fully on Screen",
"Measured TrueView Ads Fully on Screen",
"% TrueView Ads Fully on Screen"
]
For GroupM Reports, you can use the following metrics:
Total Impressions
% Display Ads Fully on Screen
Fully on Screen Display Ads
% Videos Fully on Screen
Fully on Screen Video Ads
GroupM Measured Ads
Measured Display Ads
Measured Video Ads
Total Unblocked Ads
Total Billable Ads
Viewable Ads
TrueView Ads Fully on Screen
Measured TrueView Ads Fully on Screen
% TrueView Ads Fully on Screen
For GroupM Fully On Screen Reports, you must use the 'Total Tracked Ads' metric as a 'thresholdCondition'.
GroupM Fully On Screen
"dimensions": [
"Teams",
"Placements",
"Campaigns",
"Media partners",
"Device",
"Format",
"Environment",
"Date"
]
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Campaigns | active
or specific campaigns. |
Date | Use 'dateBreakout' to define the time span. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) connected TV (5) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
Environment | browser (1) in-app (2) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all environments. |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
Media partners | All or specific media partners. If you don't specify 'dimensionFilters', then the API groups by all media partners. |
Placements | All or specific placements. If you don't specify 'dimensionFilters', then the API groups by all placements. |
Teams | The team IDs you want to group and, or filter upon. |
Minimum Filter GroupM Fully On Screen Example
"thresholdCondition": {
"metric": "Total Tracked Ads",
"value": -1
}
You must set a minimum filter of total tracked ads for a GroupM Fully On Screen Report. You can set a filter to return only data which meets a minimum threshold of total tracked ads or you can set to not include any threshold (-1).
Uses IAS data for insights on discrepancies between the Bid Domain (the domain the DSP reported) and Measured Domain (the domain IAS detected).
The Domain Mismatch Report is restricted to at most 7 days. Also, this report flags all mismatches where the domain or top-level domain of the Bid Domain and Measured Domain do not match. Cases that may not represent true mismatches are not filtered out (for example: video players, sandboxes, publisher monetization platforms, etc.)
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Domain_Mismatch"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
The Domain Mismatch Report can be at most 7 days.
For example: "reportEnd": "2021-04-06"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
DOMAIN_MISMATCH
For example: "reportType": "DOMAIN_MISMATCH"
Domain Mismatch Example Metrics
"metrics": [
"Domain Mismatch Count",
"Domain Mismatch Rate",
"Subdomain Mismatch Count",
"Subdomain Mismatch Rate",
"Total Mismatch Count",
"Total Mismatch Rate",
"Measured Domain Total Tracked Ads"
]
For Domain Mismatch Reports, you can use the following metrics:
Domain Mismatch Count
Domain Mismatch Rate
Subdomain Mismatch Count
Subdomain Mismatch Rate
Total Mismatch Count (required for a Domain Mismatch report)
Total Mismatch Rate
Measured Domain Total Tracked Ads
For Domain Mismatch Reports, you must use the 'Measured Domain Total Tracked Ads' metric as a 'thresholdCondition'.
Ultimate Advertiser IDs
"metrics": [
"Total Mismatch Count"
],
"dimensions": [
"Advertiser"
],
"ultimateAdvertiserIds":[1,6]
'ultimateAdvertiserIds' is used in conjunction with the 'Advertiser' dimension, this setting allows you to get data for many teams with a single advertiser ID. Contact your IAS representative for the ultimate advertiser IDs.
Domain Mismatch
"dimensions": [
"Advertiser",
"Teams",
"Bid Domain",
"Campaigns",
"Media partners",
"Placements",
"Measured Domain",
"Channel (Exchange)",
"Date",
"DSP",
"DSP Campaign",
"DSP Deal",
"DSP Placement (Line item)",
"DSP Publisher",
"Device",
"Format",
"Environment",
"Mismatch Reason"
]
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Bid Domain | The domain the DSP reported and is required for a Domain Mismatch report. Bid Domain does not support a dimension filter. |
Media partners | All or specific media partners. If you don't specify 'dimensionFilters', then the API groups by all media partners. |
Placements | All or specific placements. If you don't specify 'dimensionFilters', then the API groups by all placements. |
Campaigns | active or specific campaigns. |
Channel (Exchange) | Channel. |
Date | Use 'dateBreakout' to define the time span. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK If not specified, 'Date' groups by PERIOD. |
DSP | DSP Value - DSP Name: 1 - Amobee 2 - Xandr 3 - DV360 8 - MediaMath 9 - TTD 11 - Adobe 12 - AdForm 26 - Zeta Global 28 - Adelphic 30 - VMG 33 - Amazon 58 - Beeswax |
DSP Campaign | DSP Campaign. |
DSP Deal | DSP Deal. |
DSP Placement (Line item) | DSP Placement. |
Device | desktop (1) smartphone (2) tablet (3) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
Environment | browser (1) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all environments. |
Mismatch Reason | Domain Specialization Increase Domain Specialization Decrease Subdomain Variation Advertising Network Domains Application Names in Domains Application IDs in Domains Invalid Domain General Mismatch |
DSP Publisher | DSP Publisher. |
Measured Domain | The domain IAS detected and is required for a Domain Mismatch report. Measured Domain does not support a dimension filter. |
Teams | The team IDs you want to group and, or filter upon. |
Minimum Filter Domain Mismatch Example
"thresholdCondition": {
"metric": "Measured Domain Total Tracked Ads",
"value": -1
}
You must set a minimum filter of total tracked ads for a Domain Mismatch Report. You can set a filter to return only data which meets a minimum threshold of measured domain total tracked ads or you can set to not include any threshold (-1).
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "TikTok_Reporting"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-06"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
TIKTOK_REPORTS
For example: "reportType": "TIKTOK_REPORTS"
TikTok Reporting Example Brand Safety Metric
"metrics": [
"Failed Ads"
]
TikTok Reporting Example Video-Level Metrics
"metrics": [
"Total Tracked Ads",
"GARM Suitability Category",
"GARM Floor Category",
"Risk Level",
"Suitability Category"
]
For TikTok Reporting, you can use the following metrics for Brand Safety or Video-Level:
Brand Safety: Failed Ads
Video-Level:
Total Tracked Ads
GARM Suitability Category
GARM Floor Category
Risk Level
Suitability Category
TikTok Reporting
"dimensions": [
"TikTok Report Type",
"Advertiser",
"Teams",
"Campaigns",
"Date",
"Format",
"Device"
]
"dimensionFilters": [
{
"field": "TikTok Report Type",
"values": [
"reasonElement"
]
}
]
or
"dimensionFilters": [
{
"field": "TikTok Report Type",
"values": [
"video"
]
}
]
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Campaigns | active or specific campaigns. |
Channel (Exchange) | Channel. |
Date | Use 'dateBreakout' to define the time span. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) connected TV (5) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
DSP | DSP Value. This dimension is only available when the 'TikTok Report Type' dimension is set to reasonElement , and with the TikTok Brand Safety metric (Failed Ads). |
DSP Campaign | DSP Campaign. This dimension is only available when the 'TikTok Report Type' dimension is set to reasonElement , and with the TikTok Brand Safety metric (Failed Ads). |
DSP Deal | DSP Deal. This dimension is only available when the 'TikTok Report Type' dimension is set to reasonElement , and with the TikTok Brand Safety metric (Failed Ads). |
DSP Placement (Line item) | DSP Placement. This dimension is only available when the 'TikTok Report Type' dimension is set to reasonElement , and with the TikTok Brand Safety metric (Failed Ads). |
DSP Publisher | DSP Publisher. This dimension is only available when the 'TikTok Report Type' dimension is set to reasonElement , and with the TikTok Brand Safety metric (Failed Ads). |
Floor Failures | TikTok Brand Safety dimension which can only be used with the TikTok Brand Safety metric (Failed Ads). |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
Teams | The team IDs you want to group and, or filter upon. |
TikTok Report Type | Set the dimension filter field to TikTokReportType and the values as reasonElement or video . You must use 'TikTok Report Type' for a TIKTOK_REPORTS report type. |
Video | TikTok video dimension which can only be used with the TikTok Video-Level metrics (Total Tracked Ads, GARM Suitability Category, GARM Floor Category, Risk Level, or Suitability Category). |
Minimum Filter TikTok Reporting Example Brand Safety:
"thresholdCondition": {
"metric": "Failed Ads",
"value": -1
}
Minimum Filter TikTok Reporting Example Video-Level:
"thresholdCondition": {
"metric": "Total Tracked Ads",
"value": -1
}
You must set a minimum filter of "Failed Ads" for the Brand Safety metric (Failed Ads), and "Total Tracked Ads" for Video-Level metrics (Total Tracked Ads, GARM Suitability Category, GARM Floor Category, Risk Level, or Suitability Category) with TikTok Reporting.
You can set a filter to return only data which meets a minimum threshold or you can set to not include any threshold (-1).
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "TV_Reporting"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-06"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
TOTAL_VISIBILITY_REPORTING
For example: "reportType": "TOTAL_VISIBILITY_REPORTING"
Total Visibility Reporting Example:
"metrics": [
"Total Visibility Tracked Ads",
"Total Visibility Tracked Spend (USD)",
"eCPM (USD)",
"qCPM (USD)",
"qCPM delta (USD)",
"Quality Impressions",
"Quality Impressions %",
"Quality Spend %",
"Quality Spend (USD)",
"Unsafe Impressions",
"Unsafe Impressions %",
"Unsafe Spend (USD)",
"Unsafe Spend %",
"Unviewable Impressions (MRC)",
"Unviewable Impressions (MRC) %",
"Unviewable (MRC) Spend (USD)",
"Unviewable (MRC) Spend %",
"Invalid Traffic Impressions",
"Invalid Traffic Impressions %",
"Invalid Traffic Spend (USD)",
"Invalid Traffic Spend %",
"Out of Geo Impressions",
"Out of Geo Impressions %",
"Out of Geo Spend (USD)",
"Out of Geo Spend %"
]
For Total Visibility, you can use the following metrics:
Total Visibility Tracked Ads
Total Visibility Tracked Spend (USD)
eCPM (USD)
qCPM (USD)
qCPM delta (USD)
Quality Impressions
Quality Impressions %
Quality Spend %
Quality Spend (USD)
Unsafe Impressions
Unsafe Impressions %
Unsafe Spend (USD)
Unsafe Spend %
Unviewable Impressions (MRC)
Unviewable Impressions (MRC) %
Unviewable (MRC) Spend (USD)
Unviewable (MRC) Spend %
Invalid Traffic Impressions
Invalid Traffic Impressions %
Invalid Traffic Spend (USD)
Invalid Traffic Spend %
Out of Geo Impressions
Out of Geo Impressions %
Out of Geo Spend (USD)
Out of Geo Spend %
Total Visibility Reporting:
"dimensions": [
"Teams",
"Campaigns",
"DSP",
"DSP Campaign",
"SSP",
"DSP Placement (Line item)",
"DSP Publisher",
"DSP Deal",
"Date",
"Device",
"Format"
]
"dimensionFilters": [
{
"field": "Device",
"values": [
"0",
"1",
"2"
]
}
]
See Sample Dimensions and Dimension Filters for additional examples.
The Date dimension uses the dateBreakout property to set the grouping.
Dimension | Possible Values |
Campaigns | active or specific campaigns. |
Date | Use 'dateBreakout' to define the time span. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) connected TV (5) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
DSP | DSP Value. |
DSP Campaign | DSP Campaign. |
DSP Deal | DSP Deal. |
DSP Placement (Line item) | DSP Placement. |
DSP Publisher | DSP Publisher. |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
SSP | Supply Side Platform. |
Teams | The team IDs you want to group and, or filter upon. |
Custom Metrics Example:
"customMetrics": {
"id":"123",
"name":"name123"
}
You need to declare the 'id' and the 'name'. Custom Metrics are only available for a Performance Report or Total Visibility Report.
Contact your IAS representative for the name and ID for the custom metrics.
The input file to create a report is in JSON format with the following properties.
Select a name which best describes your report.
For example: "reportName": "Attention_Reporting"
IAS only shows data for the requested team ID. If you attempt to get data for teams you don't have access to, the report creation fails.
For example: "reportTeamIds": [ 12345]
For example: "reportStart": "2021-03-31"
For example: "reportEnd": "2021-04-06"
CSV
The Reporting API supports CSV output file format for the report.
For example: "fileType": "CSV"
ATTENTION_REPORTING
For example: "reportType": "ATTENTION_REPORTING"
Attention Reporting Example Metrics:
"metrics": [
"Total Tracked Ads",
"Eligible Ads for Ad Density",
"Average Ad Density",
"Ad Share of Screen Distribution",
"Attention Score",
"Visibility Score",
"Situation Score",
"Interaction Score",
"Subcategory Comparison",
"Pause/Unpause",
"User Scroll",
"Volume Up/Down/Mute",
"Click to play ads",
"Auto Play Ads",
"Time-in-View Distribution (Display)",
"Average Time in View (Display)",
"Eligible Ads for Viewability Measurement",
"Measured Ads",
"Measured Rate (out of Ads)",
"Viewable Impressions",
"Viewable Rate",
"Full-Screen Plays",
"Valid Video Ads",
"Valid quartiles",
"Valid quartiles rate (% of Valid Video Ads)",
"Valid Viewable Video Impressions",
"Viewable valid quartiles",
"Viewable valid quartiles rate (% of Valid Viewable Video Impressions)"
]
For Attention Reporting, you can use the following metrics, grouped in the following areas:
Summary: Total Tracked Ads
Situation
Eligible Ads for Ad Density
Average Ad Density
Ad Share of Screen Distribution
Attention Overview
Eligible Impressions For Attention
Attention Score
Visibility Score
Situation Score
Interaction Score
Subcategory Comparison
Interaction
Pause/Unpause
User Scroll
Volume Up/Down/Mute
Click to play ads
Auto Play Ads
Visibility
Time-in-View Distribution (Display)
Average Time in View (Display)
Eligible Ads for Viewability Measurement
Measured Ads
Measured Rate (out of Ads)
Viewable Impressions
Viewable Rate
Full-Screen Plays
Valid Video Ads
Valid quartiles
Valid quartiles rate (% of Valid Video Ads)
Valid Viewable Video Impressions
Viewable valid quartiles
Viewable valid quartiles rate (% of Valid Viewable Video Impressions)
Attention Reporting:
"dimensions": [
"Campaigns",
"Device"
]
See Sample Dimensions and Dimension Filters for additional examples.
Dimension | Possible Values |
Advertiser | Allows you to get data for multiple teams at once. Use in conjunction with the 'ultimateAdvertiserIds' property. |
Campaigns | active or specific campaigns. |
Channel (Exchange) | Channel. |
Date | Use 'dateBreakout' to define the time span. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) If you don't specify 'dimensionFilters', then the API groups by all devices. |
Domains | If you group by the 'Domains' dimension, then you can't also group by the 'Teams' dimension. |
DSP | DSP Value. |
DSP Campaign | DSP Campaign. |
DSP Deal | DSP Deal. |
DSP Placement (Line item) | DSP Placement. |
DSP Publisher | DSP Publisher. |
Environment | browser (1) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all environments. |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
Media partners | All or specific media partners. If you don't specify 'dimensionFilters', then the API groups by all media partners. |
Placements | All or specific placements. If you don't specify 'dimensionFilters', then the API groups by all placements. |
Teams | The team IDs you want to group and, or filter upon. If selected, you can't also use the 'Domains' dimension. |
Minimum Filter Attention Reporting Example
"thresholdCondition": {
"metric": "Total Tracked Ads",
"value": -1
}
You may set a minimum filter of total tracked ads for Attention Reporting.
You can set a filter to return only data which meets a minimum threshold of total tracked ads or you can set to not include any threshold (-1).
Attention Reporting:
"dimensions": [
"Teams",
"Campaigns",
"DSP",
"DSP Campaign",
"SSP",
"DSP Placement (Line item)",
"DSP Publisher",
"DSP Deal",
"Date",
"Device",
"Format"
]
"dimensionFilters": [
{
"field": "Device",
"values": [
"0",
"1",
"2"
]
}
]
See Sample Dimensions and Dimension Filters for additional examples.
The Date dimension uses the dateBreakout property to set the grouping.
Dimension | Possible Values |
Campaigns | active or specific campaigns. |
Date | Use 'dateBreakout' to define the time span. Possible values for 'dateBreakout': PERIOD (the time between the reportStart and reportEnd values) BY_DAY BY_WEEK BY_MONTH If not specified, 'Date' groups by PERIOD. |
Device | desktop (1) smartphone (2) tablet (3) connected TV (5) unknown (9) If you don't specify 'dimensionFilters', then the API groups by all devices. |
DSP | DSP Value. |
DSP Campaign | DSP Campaign. |
DSP Deal | DSP Deal. |
DSP Placement (Line item) | DSP Placement. |
DSP Publisher | DSP Publisher. |
Format | display (1) video (2) If you don't specify 'dimensionFilters', then the API groups by all formats. |
SSP | Supply Side Platform. |
Teams | The team IDs you want to group and, or filter upon. |
The parameter 'Attention Exclude Focus' is a boolean which when set to 'true', doesn't include Lumen metrics when calculating 'Attention Score', 'Interaction Score', and 'Eligible Impressions For Attention'. When you don't set the key to 'Attention Exclude Focus', it defaults to false and 'Attention Score', 'Interaction Score', and 'Eligible Impressions For Attention' use Lumen data in the calculations.
Example Setting Parameters:
"parameters": [
{
"key": "Attention Exclude Focus",
"value": false
}
]
Returns the status of the report using the ID returned on report creation. The status is:
READY
SUBMITTED
PENDING
NO_RESULTS
ERROR
curl -vX --location --request GET https://data.integralplatform.com/report-status?id={reportId} --header "Authorization: Bearer ${TOKEN}"
Name | In | Type | Required |
id | query | integer(int64) | true |
Name | Type | Notes |
id | integer(int64) | |
status | string | SUBMITTED PENDING NO_RESULTS ERROR READY |
Check Status Example Output
{
"id": 12345,
"status": "READY"
}
Get the data for the report using the ID return in the report creation. The fields in the output depends on the metrics in the report. Use Check Status to learn when you can download the report. You can only call the Download Report API, at most:
five times in a minute,
20 times in a hour, and
100 times in a day.
Example Response Header for Custom Rates
< x-ratelimit-limit-minute: 5
< x-ratelimit-remaining-minute: 4
< x-ratelimit-reset-minute: 60
< x-ratelimit-limit-hour: 100
< x-ratelimit-remaining-hour: 97
< x-ratelimit-reset-hour: 3168
< x-ratelimit-limit-day: 500
< x-ratelimit-remaining-day: 495
< x-ratelimit-reset-day: 39571
< ratelimit-limit: 5;w=60, 100;w=3600, 500;w=86400
< ratelimit-remaining: 4;w=60, 97;w=3600, 495;w=86400
< ratelimit-reset: 60
For increased limits, contact your IAS representative. You can get the value for your custom rates in the response header. Use the verbose option (-v) in the curl command to see the response header.
curl --location --request GET 'https://data.integralplatform.com/report-download?id={reportId}' -o <output.csv> --header "Authorization:Bearer ${TOKEN}"
Name | In | Type | Required |
id | query | integer(int64) | true |
Name | Type | Notes |
report | string | Contents of the report in the format as defined for the report. |
Example Output
"Campaign Id","Campaign","IAS Placement Id","Ad Server Placement Id","Placement","Media partner Id","Media partner","Team Id","Team Name","Environment","Total Tracked Ads","Eligible Ads For Invalid Traffic Detection","Invalid Traffic","Invalid Traffic Rate","Valid Traffic","Valid Traffic Rate","Blocked Invalid Traffic","% of Invalid Traffic Blocked","Unblocked Invalid Traffic","% of Invalid Traffic Unblocked","Adult Ads","% of Adult Ads","Alcohol Ads","% of Alcohol Ads","% of Hate Speech Ads"
"123456","Free-Spring_","0","","Unknown","54321","Acme - Partner","12437”,"Tinstle Media","Browser","12345678","12345678","22222","0.16","29633805","99.84","","","","","","","","",""
`"555555","Local-Impact","23713088","298424093","dynamic preroll","16829","Dynamic","12437","Media","Browser","11968968","11968968","60046","0.50","11908922","99.50","57142","95.16","2904","4.84","405","0.00","23245","0.19","0.23"
To retrieve all the teams associated with a client you are entitled to view.
curl -vX --location --request GET https://data.integralplatform.com/report-dimensions/teams --header "Authorization: Bearer ${TOKEN}"
Not applicable.
Name | Type | Notes |
id | integer(int64) | |
name | string | The team name. |
status | string | ACTIVE or INACTIVE |
Get Teams Example Output
[
{
"id": 12345,
"name": "Acme",
"status": "ACTIVE"
},
{
"id": 12346,
"name": "Acme 2",
"status": "ACTIVE"
}
]
To retrieve media partners.
curl -vX --location --request GET https://data.integralplatform.com/report-dimensions/mediapartners?teams=123,12345&start=2021.03.31&end=2021.04.07 --header "Authorization: Bearer ${TOKEN}"
Name | In | Type | Required | Description |
teams | query | array(integer) | true | Comma separate the various teams. |
start | query | string (date-time) | true | YYYY.MM.DD For example: 2021.03.31 |
end | query | string (date-time) | true | YYYY.MM.DD For example: 2021.04.07 |
Name | Type |
mediaPartnerId | integer(int64) |
mediaPartner | string |
totalImps | integer(int64) |
Get Media Partner Example Output:
[
{
"mediaPartnerId": 54321,
"mediaPartner": "Acme 2",
"totalImps": 282555
},
{
"mediaPartnerId": 12345,
"mediaPartner": "Acme",
"totalImps": 31770
}
]
To retrieve the campaigns for teams during a specific date span.
curl -vX --location --request GET https://data.integralplatform.com/report-dimensions/campaigns?teams=123,12345&start=2021.03.31&end=2021.04.07 --header "Authorization: Bearer ${TOKEN}"
Name | In | Type | Required | Description |
teams | query | array(integer) | true | Comma separate the various teams. |
start | query | string (date-time) | true | YYYY.MM.DD For example: 2021.03.31 |
end | query | string (date-time) | true | YYYY.MM.DD For example: 2021.04.07 |
Name | Type |
campaignId | integer(int64) |
campaign | string |
totalImps | integer(int64) |
Get Campaigns Example Output:
[
{
"campaignId": 111111,
"campaign": "Acme",
"totalImps": 53364
},
{
"campaignId": 222222,
"campaign": "Acme 2",
"totalImps": 133
}
]
Get the placements for teams during a date span.
curl -vX --location --request GET https://data.integralplatform.com/report-dimensions/placements?teams=123,12345&start=2021.03.31&end=2021.04.07 --header "Authorization: Bearer ${TOKEN}"
Name | In | Type | Required | Description |
teams | query | array(integer) | true | Comma separate the various teams. |
start | query | string (date-time) | true | YYYY.MM.DD For example: 2021.03.31 |
end | query | string (date-time) | true | YYYY.MM.DD For example: 2021.04.07 |
Name | Type | Notes |
placementId | integer(int64) | Placement ID. |
placement | string | The placement. |
totalImps | integer(int64) | Total impressions. |
Get Placements Example Output
[
{
"placementId": 12345678,
"placement": "Acme_Programmatic",
"totalImps": 18263
},
{
"placementId": 12345679,
"placement": "Acme_Programmatic2",
"totalImps": 17794
}
]
The Date dimension uses the dateBreakout property to set the grouping. See each report type for more information on the possible values. Also, for Inventory Type, see Dimensions and Dimension Filters Facebook for the various values for the inventory type.
See the following for potential values for the Dimensions and Dimension Filters:
Performance Report
Brand Suitability Failure Report
Facebook Report
YouTube Report
Collision Report
Geo Compliance Report
GroupM Fully On Screen Report
Domain Mismatch Report
TikTok Reporting
Total Visibility Reporting
Attention Reporting
"dimensions" : [
"Format",
"Ad"
]
"dimensions" : [ "Format", "Ad" ] ,
"dimensionFilters" : [
{
"field" : "Ad" ,
"values" : [
"123456789",
"123467895"
]
}
]
"dimensions" : [
"Format",
"Ad Set"
]
"dimensions" : [
"Format",
"Ad Set"
],
"dimensionFilters" : [
{
"field" : "Ad Set",
"values" : [
"123456789",
"123467895"
]
}
]
"metrics": [
"Total tracked ads"
],
"dimensions": [
"Advertiser"
],
"ultimateAdvertiserIds":[1]
"dimensions" : [ "Apps" ]
"dimensions" : [
"Campaigns"
],
"dimensionFilters" : [
{
"field" : "Campaigns",
"values" : [
"active"
]
}
]
"dimensions" : [
"Campaigns"
],
"dimensionFilters" : [
{
"field" : "Campaigns",
"values" : [
"12345",
"12346"
]
}
]
"dimensions": [
"Campaigns"
],
"dimensionFilters": [
{
"field": "Campaign Status",
"values": [
"Cancelled"
]
}
]
"dimensions" : [
"Channel (Exchange)"
]
"dimensions": [
"Colliding Media partners"
],
"dimensionFilters": [
{
"field": "Include Partner to Partner",
"values": [
"Yes"
]
}
],
"thresholdCondition": {
"metric": "Total Colliding Ads",
"value": -1
}
"dimensions" : [
"DSP",
"DSP Campaigns",
"Contextual Segment"
]
"dimensionFilters" : [
{
"field" : "Contextual Segments",
"values" : [
"3000000",
"3000001"
]
}
]
"dimensions": [
"Date",
"Country"
]
"dimensions" : [
"Format",
"Creative"
]
"dimensions" : [
"Format",
"Creative"
],
"dimensionFilters" : [
{
"field" : "Creative",
"values" : [
"123456789",
"123467895"
]
}
]
"dimensions" : [
"Date"
],
"dateBreakout" : "BY_MONTH"
"dimensions" : [
"Device"
],
"dimensionFilters" : [
{
"field" : "Device",
"values" : [
"1",
"3",
"9"
]
}
]
"dimensions": [
"Date",
"DMA"
]
"dimensions" : [
"Domains"
]
"dimensions" : [
"DSP"
],
"dimensionFilters" : [
{
"field" : "DSP",
"values" : [
"2"
]
}
]
"dimensions" : [
"DSP Campaigns"
]
"dimensions" : [
"DSP Deal"
]
"dimensions" : [
"DSP Placement (Line item)"
]
"dimensions" : [
"DSP Publisher"
]
"dimensions" : [
"Environment"
],
"dimensionFilters" : [
{
"field" : "Environment",
"values" : [
"2"
]
}
]
"dimensions" : [
"External Id"
]
"dimensions" : [
"Format"
],
"dimensionFilters" : [
{
"field" : "Format",
"values" : [
"2"
]
}
]
"dimensions" : [
"Format"
],
"dimensionFilters" : [
{
"field" : "Format",
"values" : [
"video"
]
}
]
"dimensions" : [
"Format",
"Inventory Type"
],
"dimensionFilters" : [
{
"field" : "Format",
"values" : [
"video"
]
},
{
"field" : "Inventory Type",
"values" : [
"16"
]
}
]
"dimensions" : [
"GVP Apps",
"Type",
"Inventory Type"
],
"dimensionFilters" : [
{
"field" : "Type",
"values" : [
"garm"
]
},
{
"field" : "Inventory Type",
"values" : [
"gvp"
]
}
]
"dimensions" : [
"GVP Full URLs",
"Type",
"Inventory Type"
],
"dimensionFilters" : [
{
"field" : "Type",
"values" : [
"garm"
]
},
{
"field" : "Inventory Type",
"values" : [
"gvp"
]
}
]
"dimensions" : [
"Inventory Type"
],
"dimensionFilters" : [
{
"field" : "Inventory Type",
"values" : [
"youtube"
]
}
]
"dimensions": [
"Video",
"Contextual Suitability Category",
"Teams"
],
"metrics": [
"Contextual Suitability Category"
],
"dimensionFilters": [
{
"fields": [
"Impressions"
],
"operator": "EQUALS",
"values": [
">=100"
]
},
{
"fields": [
"Contextual Suitability Category"
],
"operator": "EQUALS",
"values": [
"Family & Parenting - Kids Content",
"Politics",
"Natural Disasters"
]
}
]
"dimensions" : [
"Media partners"
],
"dimensionFilters" : [
{
"field" : "Media partners",
"values" : [
"1234",
"1235"
]
}
]
"dimensions" : [
"Placements"
],
"dimensionFilters" : [
{
"field" : "Placements",
"values" : [
"1234567",
"123"
]
}
]
"dimensions" : [
"Segment"
]
"dimensions": [
"Date",
"State"
]
"dimensions" : [
"Teams"
]
"dimensions": [
"TikTok Report Type",
"Floor Failures",
"Advertiser"
,
"dimensionFilters": [
{
"field": "TikTok Report Type",
"values": [
"reasonElement"
]
}
]
"dimensions": [
"TikTok Report Type",
"Video",
"Advertiser"
],
"dimensionFilters": [
{
"field": "TikTok Report Type",
"values": [
"video"
]
}
]
"dimensions" : [
"Type"
],
"dimensionFilters" : [
{
"field" : "Type",
"values" : [
"garm"
]
}
]
"dimensions" : [
"Videos",
"Type",
"Inventory Type"
],
"dimensionFilters" : [
{
"field" : "Video Id",
"values" : [
"DHL05wvx9fI"
]
},
{
"field" : "Type",
"values" : [
"garm"
]
},
{
"field" : "Inventory Type",
"values" : [
"youtube"
]
}
]
In order to use these sample reports, you need to replace 'reportTeamIds' to a valid value. If you use team IDs which you aren't authorized to use, the report creation fails.
These samples use the team IDs: 12345, 12346, and 12347 which you need to change for the report creation to work properly.
{
"reportName": "Reporting_API_Example_Generic",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Campaigns",
"Placements",
"Media partners",
"Teams",
"Environment",
"Date"
],
"dateBreakout": "BY_DAY"
}
This report uses six dimensions and groups the data by day. This report uses two metrics but you can use any of the metrics defined in Performance Report Type, Metrics.
{
"reportName": "Reporting_API_Example_Environment",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Environment"
],
"dimensionFilters": [
{
"field": "Environment",
"values": [
"1",
"2"
]
}
]
}
This report uses the Environment dimension and then filtering on:
1 (browser)
2 (in-app).
See Performance Report for more information on the Environment values.
{
"reportName": "Reporting_API_Example_Teams_DSP",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Teams",
"DSP"
],
"dimensionFilters": [
{
"field": "DSP",
"values": [
"2"
]
}
]
}
This report uses two dimensions, grouping data on:
Teams
DSP
Also, this report filters to see a specific DSP (2 = Xandr).
See Performance Report for more information on the DSP values.
See Performance Report for more information.
Group by Media Partners, All
{
"reportName": "Reporting_API_Example_MediaPartners",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Media partners"
]
}
By not setting a dimensionFilters for Media partners, the Reporting API returns all media partners.
Group by Media Partners, Specific Media partners
{
"reportName": "Reporting_API_Example_Specific_Media_Partners",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Media partners"
],
"dimensionFilters": [
{
"field": "Media partners",
"values": [
"12345",
"12346"
]
}
]
}
Here, dimensionFilters lists which values to return for the 'Media partners' field.
See Performance Report for more information on the placement dimension.
Group by Placements, All
{
"reportName": "Reporting_API_Example_Placements",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Placements"
]
}
In not setting a dimensionFilters for Placements, the Reporting API returns all placements.
{
"reportName": "Reporting_API_Example_Specific_Placements",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Invalid Traffic",
"Not Viewable Ads"
],
"dimensions": [
"Placements"
],
"dimensionFilters": [
{
"field": "Placements",
"values": [
"12345678",
"12"
]
}
]
}
Here, dimensionFilters lists which values to return for the 'Placements' field.
{
"reportName": "Quality_Impressions_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "IAS_PERFORMANCE",
"fileType": "CSV",
"metrics": [
"Total tracked ads",
"Eligible ads for quality impressions",
"Eligible rate for quality impressions",
"Quality impressions",
"Quality impressions rate",
"Non-quality ads",
"Non-quality rate",
"Non-quality blocked ads",
"Non-Quality Not Viewable Ads",
"% Non quality: not viewable",
"Failed brand safety ads",
"% Non quality: failed brand safety",
"Non-Quality Invalid Traffic Ads",
"% Non quality: IVT",
"Non-Quality Out of Geo Ads",
"% Non quality: Out of geo"
],
"parameters": {
"Quality Criteria Geo": true,
"Quality Criteria Viewability": true
},
"dimensions": [
"Campaigns"
]
}
This sample uses the Quality Impressions metrics which requires you use 'Total tracked ads' as one of the metrics.
See Parameters for more information on setting the Quality Criteria Geo and Quality Criteria Viewability.
{
"reportName": "BrandSuitability_Report_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "FAILED_BY_BRAND_SUITABILITY_PROFILE",
"fileType": "CSV",
"metrics": [
"Failed ads"
],
"dimensions": [
"Segment"
],
"dimensionFilters": []
}
This report uses 'Failed ads' which is the only metric available for this report. Also, Segment is a required dimension.
See Brand Suitability Failure Report Type for more information.
{
"reportName": "Facebook_Report_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "FACEBOOK_VIEWABILITY",
"fileType": "CSV",
"metrics": [
"# Impressions"
],
"dimensions": [
"Format",
"Creative"
],
"dimensionFilters": [
{
"field": "Format",
"values": [
"video"
]
}
],
"thresholdCondition":
{
"metric": "Total tracked ads",
"value": -1
}
}
You must set 'Format' as a dimension with the dimensionFilters set to either display or video.
Also, you must set a minimum filter of total tracked ads. You may set 'Total Tracked ads' to a specific threshold, or not to include any threshold (-1).
See Facebook Report Type for more information.
{
"reportName": "YouTube_Report_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "YOUTUBE_REPORTS",
"fileType": "CSV",
"metrics": [
"GARM Risk Level",
"GARM Category",
"Impressions"
],
"dimensions": [
"Videos",
"Inventory type",
"Type"
],
"dimensionFilters": [
{
"field": "Video Id",
"values": [
"DHL05wvx9fI"
]
},
{
"field": "Type",
"values": [
"garm"
]
},
{
"field": "Inventory Type",
"values": [
"youtube"
]
}
],
"parameters": {
"GARM Risk Level" : [
"Floor",
"High",
"Medium",
"Low"
],
"Impressions": ">=100"
},
"thresholdCondition":
{
"metric": "Total tracked ads",
"value": -1
}
}
You must set 'Type' as a dimension.
Also, you must set a minimum filter of total tracked ads. You may set 'Total Tracked ads' to a specific threshold, or not to include any threshold (-1).
See YouTube Report Type for more information.
{
"reportName": "YouTubeContextualSuitability_Report_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "YOUTUBE_CONTEXTUAL_AGGREGATE",
"fileType": "CSV",
"metrics": [
"Total Eligible Impressions for Contextual Suitability",
"Family & Parenting - Kids Content Impressions",
"Politics Impressions",
"News Impressions",
"Natural Disasters Impressions"
],
"dimensions": [
"Teams",
"Campaigns",
"Date"
]
}
See YouTube Contextual Suitability Report Type for more information.
{
"reportName": "YouTubeContentLevelContextualSuitability_Report_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "YOUTUBE_CONTEXTUAL_CONTENT",
"fileType": "CSV",
"dimensions": [
"Teams",
"Campaigns",
"Videos",
"Contextual Category",
"Date"
],
"metrics": [
"Impressions"
],
"dimensionFilters": [
{
"fields": [
"Impressions"
],
"operator": "EQUALS",
"values": [
">=100"
]
},
{
"fields": [
"Contextual Suitability Category"
],
"operator": "EQUALS",
"values": [
"Family & Parenting - Kids Content",
"Politics",
"Natural Disasters"
]
}
],
}
You must use the 'Impressions' metric. You must set 'Videos' and 'Contextual Category' as dimensions.
See YouTube Content Level Contextual Suitability Report Type for more information.
{
"reportName": "Collision_Report_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "COLLISIONS",
"fileType": "CSV",
"metrics": [
"Eligible ads for collisions measurement",
"Eligible rate for collisions measurement",
"2 Ad Collisions",
"3 Ad Collisions",
"4+ Ad Collisions",
"Non-Colliding Ads",
"Total Colliding Ads",
"Total Collisions",
"Total Impressions"
],
"dimensions": [
"Teams",
"Media partners",
"Campaigns",
"Colliding Media partners"
],
"dimensionFilters": [
{
"field": "Campaign Status",
"values": [
"Active"
]
},
{
"field": "Include Partner to Partner",
"values": [
"Yes"
]
}
],
"thresholdCondition": {
"metric": "Total Colliding Ads",
"value": -1
}
}
You must set a minimum filter of total tracked ads or total colliding ads (if you use the 'Colliding Media partners' with the 'Include Partner to Partner' filter set to Yes).
See Collision Report Type for more information.
{
"reportName": "Geo_Compliance_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "GEO_COMPLIANCE",
"fileType": "CSV",
"metrics": [
"Total Tracked Ads"
],
"dimensions": [
"Teams",
"Campaigns",
"Media Partners",
"Placements",
"Date",
"DMA"
],
"thresholdCondition": {
"metric": "Total tracked ads",
"value": -1
}
}
You must set a minimum filter of total tracked ads and you must add a 'DMA', 'State', or 'Country' dimension for a Geo Compliance report.
See Geo Compliance Report Type for more information.
{
"reportName": "GroupM_Report_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-16",
"reportType": "GROUP_M",
"fileType": "CSV",
"metrics": [
"Total Impressions",
"% Display Ads Fully on Screen",
"Fully on Screen Display Ads",
"% Videos Fully on Screen",
"Fully on Screen Video Ads",
"GroupM Measured Ads",
"Measured Display Ads",
"Measured Video Ads",
"Total Unblocked Ads",
"Total Billable Ads",
"Viewable Ads",
"TrueView Ads Fully on Screen",
"Measured TrueView Ads Fully on Screen",
"% TrueView Ads Fully on Screen"
],
"dimensions": [
"Teams",
"Placements",
"Campaigns",
"Media partners",
"Device",
"Format",
"Environment",
"Date"
],
"thresholdCondition": {
"metric": "Total Tracked Ads",
"value": -1
}
}
You must set a minimum filter of total tracked ads for a GroupM Fully On Screen report.
See GroupM Fully on Screen Report Type for more information.
{
"reportName": "Domain_Mismatch_Example",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2021-03-31",
"reportEnd": "2021-04-06",
"reportType": "DOMAIN_MISMATCH",
"fileType": "CSV",
"metrics": [
"Domain Mismatch Count",
"Domain Mismatch Rate",
"Subdomain Mismatch Count",
"Subdomain Mismatch Rate",
"Total Mismatch Count",
"Total Mismatch Rate",
"Measured Domain Total Tracked Ads"
],
"dimensions": [
"Teams",
"Advertiser",
"Campaigns",
"Measured Domain",
"Bid Domain",
"Mismatch Reason",
"Date"
],
"thresholdCondition": {
"metric": "Measured Domain Total Tracked Ads",
"value": -1
}
"ultimateAdvertiserIds": [2]
}
You must set a minimum filter of 'Measured Domain Total Tracked Ads' for a Domain Mismatch report.
See Domain Mismatch Report Type for more information.
You must set a minimum filter of "Failed Ads" for the Brand Safety metric (Failed Ads), and "Total Tracked Ads" for Video-Level metrics (Total Tracked Ads, GARM Suitability Category, GARM Floor Category, Risk Level, or Suitability Category) with TikTok Reporting.
{
"reportName": "TikTok_Reporting",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2022-03-31",
"reportEnd": "2022-04-16",
"metrics": [
"Failed Ads"
],
"dimensions": [
"TikTok Report Type",
"Floor Failures",
"Advertiser",
"Teams",
"Campaigns",
"DSP",
"Date",
"Format",
"Device"
],
"dimensionFilters": [
{
"field": "TikTok Report Type",
"values": [
"reasonElement"
]
}
],
"thresholdCondition": {
"metric": "Failed Ads",
"value": "-1"
}
}
{
"reportName": "TikTok_Reporting",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2022-03-31",
"reportEnd": "2022-04-16",
"reportType": "TIKTOK_REPORTS",
"fileType": "CSV",
"metrics": [
"Total Tracked Ads",
"GARM Suitability Category",
"GARM Floor Category",
"Risk Level",
"Suitability Category"
],
"dimensions": [
"TikTok Report Type",
"Video",
"Advertiser",
"Teams",
"Campaigns",
"Date",
"Format",
"Device"
],
"dimensionFilters": [
{
"field": "TikTok Report Type",
"values": [
"video"
]
}
],
"thresholdCondition": {
"metric": "Total Tracked Ads",
"value": "-1"
}
}
{
"reportName": "TV_Reporting",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2022-03-31",
"reportEnd": "2022-04-16",
"reportType": "TOTAL_VISIBILITY_REPORTING",
"fileType": "CSV",
"metrics": [
"Total Visibility Tracked Ads",
"Total Visibility Tracked Spend (USD)",
"eCPM (USD)",
"qCPM (USD)",
"qCPM delta (USD)",
"Quality Impressions",
"Quality Impressions %",
"Quality Spend %",
"Quality Spend (USD)",
"Unsafe Impressions",
"Unsafe Impressions %",
"Unsafe Spend (USD)",
"Unsafe Spend %",
"Unviewable Impressions (MRC)",
"Unviewable Impressions (MRC) %",
"Unviewable (MRC) Spend (USD)",
"Unviewable (MRC) Spend %",
"Invalid Traffic Impressions",
"Invalid Traffic Impressions %",
"Invalid Traffic Spend (USD)",
"Invalid Traffic Spend %",
"Out of Geo Impressions",
"Out of Geo Impressions %",
"Out of Geo Spend (USD)",
"Out of Geo Spend %"
],
"dimensions": [
"Teams",
"Campaigns",
"DSP",
"DSP Campaign",
"SSP",
"DSP Placement (Line item)",
"DSP Publisher",
"DSP Deal",
"Date",
"Device",
"Format"
],
"dimensionFilters": [
{
"field": "Device",
"values": [
"0",
"1",
"2"
]
}
],
"dateBreakout": "BY_MONTH",
"customMetrics": []
}
Total Visibility reports use IAS data for insights into the supply path and costs.
You may set a minimum filter of total tracked ads for Attention Reporting.
Attention Report Example:
{
"reportName": "Reporting_API_Attention_Reporting",
"reportTeamIds": [
12345,
12346,
12347
],
"reportStart": "2022-03-31",
"reportEnd": "2022-04-16",
"reportType": "ATTENTION_REPORTING",
"fileType": "CSV",
"metrics": [
"Total Tracked Ads",
"Average Ad Density",
"Ad Share of Screen Distribution",
"Eligible Ads for Attention",
"Eligible Impressions For Attention",
"Attention Score",
"Visibility Score",
"Situation Score",
"Interaction Score",
"Subcategory Comparison",
"Pause/Unpause",
"User Scroll",
"Volume Up/Down/Mute"
],
"dimensions": [
"Campaigns",
"Environment",
"Format",
"Device"
],
"dateBreakout": "BY_DAY"
}
Date | Update |
July, 2024 | Updates include: Add YouTube Contextual Suitability Report. Add YouTube Content Level Contextual Suitability Report. Add subdomain mismatch metrics to Domain Mismatch Report Type. |
April, 2024 | Add 'Suitability Category' as a video-level metric for a TikTok Report. |
March, 2024 | Updates include: Add Site Quality performance metrics. Add Attention Report. |
July, 2023 | Updates include: Add Total Visibility Report Report. Update YouTube Report Type to include Google Video Partners. |
June, 2023 | Add TikTok Report Report. |
May, 2023 | Add Carbon Emissions and update YouTube Brand Safety and GARM Risk. |
October, 2022 | Add Domain Mismatch Report Type. |
July, 2022 | Add GroupM Fully on Screen Report Type. |
June, 2022 | Updates include: Add Geo Compliance Report Type. Add ultimate advertiser ID property. |
May, 2022 | Updates include: Add Geo Compliance Report Type. Add Contextual Segment dimension type to a Performance Report. Add Keyword and Page/URL dimensions to a Brand Suitability Failure Report. Update metric names for a Performance Report. |
April, 2022 | Updates include: Add attention metrics to a Performance Report. Fix a typo with custom metrics example. |
March, 2022 | Updates include: Add Collision Report Type. Add Reporting API documentation to Developer Center. |
January, 2022 | Add Quality Impressions metrics to a Performance Report. |
December, 2021 | Update metric names for a Performance Report. |
October, 2021 | Add YouTube Report Type. |
September, 2021 | Add Facebook Report Type. |
July, 2021 | Add Brand Suitability Failure Report. |
May, 2021 | Initial documentation of the Reporting API for a Performance Report Type. |
Create an IAS case with details of your inquiry to receive help from our internal support team.