This article explains the key metrics used in reporting and how they relate to each stage of the ad delivery process.
Understanding these metrics helps you better interpret performance data, identify where inventory is converted, and understand how ad requests progress from initial calls to impressions and revenue.
Each metric reflects a specific step in the auction and delivery flow - from incoming ad calls, through targeting and bidding, to wins, impressions, and revenue calculations. Together, they provide a complete picture of campaign performance and delivery efficiency.
Default Metrics
Core metrics shown in every report
Source level - used when viewing data without any slices applied, or when the report is sliced only by source / channel.
| Format | Metric | Definition | Formula | Common Causes & Fixes |
|---|---|---|---|---|
| Number | Ad Calls | All inbound ad calls received from the supply partner before any targeting or filtering is applied. | - | If no or very few ad calls are received, verify with the supplier that the tag has been correctly implemented and activated. |
| Number | Ad Requests | Valid ad calls that passed Global Lists, Channel and Source targeting, as well as applicable limits. | - | No or very few ad requests usually means that most ad calls were filtered. Check the Filter Reasons template to identify the cause. |
| Number | Wins | Number of bids that won the internal auction and were sent to the supplier. | - | - |
| Number | Impressions | Number of impressions served to users. | - | Low impressions may be caused by impression-level filtering. Check the Wizard > Impressions Filter Reasons group. |
| Formula | Render Rate | Percentage of wins that resulted in a served impression. | Impressions / Wins*100 | - |
| Formula | Request Win Rate | Percentage of source ad requests that resulted in a winning bid. | Win / Source Ad Requests * 100 | - |
| Formula | Fill Rate | Percentage of source ad requests that resulted in a served impression. | Impressions/ Source Ad Requests *100 | - |
| Formula | Bid Rate | Percentage of ad requests that received at least one bid from a demand partner. | Bids / Source Ad Requests * 100 | - |
| Formula | Channel Revenue | Net revenue earned from advertisers for this channel. | Sum of Net Revenue | - |
| Formula | Channel eCPM | Estimated revenue earned per thousand impressions. | Channel revenue / Impressions * 1000 | - |
Campaign level - applies when any campaign or advertiser-related slice is selected.
| Format | Metric | Definition | Formula | Common Causes & Fixes |
|---|---|---|---|---|
| Number | Ad Calls | All potential ad calls received from connected sources before any advertiser or campaign-level targeting is applied. | - | If no or very few ad calls are received, verify that the campaign is connected and activated. |
| Number | Ad Requests | Valid ad calls that passed advertiser and campaign targeting rules, as well as applicable limits. | - | No or very few ad requests usually means that most ad calls were filtered. Check the Filter Reasons template to identify the cause. |
| Number | Bids | Number of valid bid responses received after an ad request is sent to demand partners. | - | A low number of bids usually indicates that the demand partner is not bidding. Check outbound ad requests in the campaign logs ("All campaigns" tab) to ensure all required parameters and macros are present. Confirm with the demand partner that they receive and can process the requests, have active demand for this inventory, and that the floor price and targeting are aligned. |
| Number | Wins | Number of bids that won the auction and were sent to the supply partner. | - | No or very few wins: review why bids are not winning the auction. Check source-level ad category targeting and make sure it aligns with the campaign. If this affects a specific campaign, verify that other campaigns on the same connection have comparable price levels; otherwise, the campaign may win infrequently. Also ensure the campaign is not positioned at the very end of the waterfall priority. |
| Number | Impressions | Number of impressions served to users. | - | Low impressions may be caused by impression-level filtering. Check the Wizard > Impressions Filter Reasons group. |
| Formula | Render Rate | Percentage of wins that resulted in a served impression. | Impressions / Wins*100 | - |
| Formula | Request Win Rate | Percentage of campaign ad requests that resulted in a winning bid. | Win / Campaign Ad Requests * 100 | - |
| Formula | Fill Rate | Percentage of campaign ad requests that resulted in a served impression. | Impressions/Campaign Ad Requests *100 | - |
| Formula | Bid Rate | The percentage of ad requests that receive at least one bid from demand partner. | Bids / Campaign Ad Requests * 100 | - |
| Formula | Bid Win Rate | Percentage of bids that were selected as wins in the auction. | Win / Bid * 100 | - |
| Formula | Total Revenue | Gross revenue generated by the campaign. | Sum of Gross Revenue | - |
| Formula | eCPM | Effective cost per thousand impressions based on total revenue. | Total Revenue / Impressions * 1000 | - |
Ad Pods
Format | Metric | Definition | Formula | Common Causes & Fixes |
Number | Pod Slots Requested | Total number of ad slots requested within all pod requests over the selected period. Represents demand volume at the slot level | - | Ensure the publisher sends correct pod parameters (pod_max_dur or pod_ad_slots). Incorrect or missing values may result in fewer slots being requested. |
Number | Pod Slots Returned | Number of ad slots successfully returned in response to slot requests. Indicates supply of available ads. | - | Low demand or strict campaign targeting may result in fewer ads being returned than requested. Check campaign availability, targeting, and budget limits. |
Number | Pod Time Requested | Total duration (in seconds) of all ad pods requested, representing the maximum ad time available for the selected period. | - | Verify that the pod_max_dur parameter is correctly set by the publisher. Incorrect duration may limit the total pod time requested. |
Number | Pod Time Returned | Total duration (in seconds) of all returned slots across completed pod responses. Reflects total ad time filled. | - | Returned ads may not fully fill the requested pod duration. This can happen if creative durations do not match available pod time. Ensure compatible creative lengths (e.g., 15s / 30s). |
| Formula | Pod Slot Fill Rate | Percentage of requested slots that were returned with an ad response. | Pod Slots Returned / Pod Slots Requested * 100 | A low slot fill rate may indicate limited demand, strict targeting, frequency caps, or budget limitations. Review campaign targeting and availability. |
| Formula | Pod Time Filled | Percentage of total ad pod duration successfully filled with returned ads. | Pod Time Returned / Pod Time Requested * 100 | Low time fill may occur if returned ads are shorter than the requested pod duration or if some slots remain unfilled. Ensure sufficient demand and compatible creative durations. |
Errors
Metric | Definition | Common Causes & Fixes |
| Campaign Error No Ads | No ads were returned in the response (empty response). | Review with the advertiser bid floors, demand availability, and targeting. |
| Campaign Error Xml / Vast / Timeout | No response was received from the advertiser within the allowed timeout. | Check advertiser response time and timeout settings. Verify endpoint stability and VAST/XML validity. |
| Campaign Error Network Error | The connection to the advertiser failed before a valid response was received. | Check connectivity between servers, DNS resolution, and endpoint availability. Confirm no firewall or network restrictions. |
| Bad Status Code | The advertiser returned an invalid HTTP status code (e.g., 4xx or 5xx). Indicates that the advertiser’s server could not or would not process the request (e.g., due to server or permission errors/ prebid scoring/ targeting mismatch). | Verify endpoint URL, permissions, and request format. Check for 4xx/5xx errors and ensure proper integration setup. |
| Campaign Error: Wrong Response Price Less Than Floor | The price in the advertiser's response was lower than the required floor price, resulting in the response being filtered out. | Adjust bid floors or increase bid values on the demand side. Ensure floor settings are aligned. |
| Quarantine | The request was filtered because the campaign was placed in quarantine due to a high level of timeouts - specifically, timeouts were 1.5x higher than valid responses from the advertiser. The system automatically rechecks the connection every 10 minutes. If at least 8 out of 10 ad requests are successful, the campaign is removed from quarantine. | Reach out to the advertiser to help reduce the number of timeouts on their side. It would be helpful to review response times, endpoint stability, and any potential latency or capacity issues. |
Unwrap Errors
Metric | Definition | Common Causes & Fixes |
| Unwrap Invalid VAST | The VAST response during unwrapping could not be parsed due to invalid or malformed XML | Ensure with the advertiser that all required VAST fields are present. |
| Unwrap No Ads | No valid ad was returned in the final response during unwrapping. | Validate VAST wrapper chain and ensure final inline response returns valid creatives. Check wrapper limits and timeouts. |
| Unwrap Network Timeout | No response was received from a VAST wrapper within the allowed timeout during unwrapping. | Check the response time of wrapper endpoints. Reduce wrapper chain length |
| Unwrap Network Bad Status Code | A wrapper request returned an invalid HTTP status code (e.g., 4xx or 5xx) during unwrapping. | Check server-side errors with the advertiser. Confirm no permission or authentication issues |
| Unwrap Network Errors | General network-related issues occurred while fetching VAST wrappers (e.g., connection failures). | Check DNS resolution and connectivity Verify no firewall or CDN blocking Ensure endpoints are reachable and stable |