---
title: "Reports - Programmatic"
canonical: "https://hub.freewheel.tv/space/CHUG/510754853/Reports%20-%20Programmatic"
format: markdown
---
Overview  The  Programmatic  dashboard provides unified pages, streamlined workflows, and enhanced data capacity to help users easily review programmatic delivery performance and efficiently troubleshoot problems. Access the Programmatic Dashboard Navigate to  Reports  >  Demand  >  Programmatic .  Programmatic Insights Tabs  Performance The Performance dashboard includes widgets and a variety of performance-related metrics and charts that allow users to review delivery of programmatic deals and open exchange rules. This dashboard supports filtering by multiple dimensions, enabling users to look more closely at their programmatic delivery and effectively analyze data. Troubleshooting The Troubleshooting dashboard provides enhanced troubleshooting capabilities, enabling users to quickly identify programmatic deal issues. The dashboard offers insight into which stage has the most prominent issue, which error might have caused it, and what next steps to take to boost delivery.  Pacing The Pacing dashboard provides a comprehensive view of real-time On-Schedule Indicator (OSI) trends and valuable insights into deal performance. It features charts for Accumulative Delivery, representing total progress, and Incremental Delivery, illustrating step-by-step advancements. Additionally, the dashboard includes basic deal configuration information and a change history table that logs key changes potentially impacting pacing and delivery. Pacing in programmatic ad delivery refers to the distribution of an advertiser's budget or impressions over a specified period of time. The goal is to ensure that a deal delivers its ads evenly or according to a predefined schedule, rather than exhausting the budget too quickly or under-delivering. Bid Density The Bid Density dashboard provides a comprehensive view of bidding prices, clearing prices, and average price trends, helping users understand the bids received and the final clearing outcomes. The dashboard offers insight into the following:  Understanding true demand by evaluating and comparing received bids, valid bids, and actual selected ads Informing pricing strategy by evaluating and comparing bidding price and clearing price trends Isolating and uncovering bidding behavior and activity for specific deals, DSPs, and buyers with filters Bid density refers to the volume of bids received over time and helps measure the level of competition and demand for ad inventory offered programmatically.  The granularity of the charts provided on the Bid Density dashboard allows users to observe bid levels and their outcomes. Data Policy Programmatic Insights provides enhancements to data options by adding Real Time mode, which allows users real-time data visibility with 15 minutes latency or less and a look-back of eight days plus the current day. Section Data Latency mode Data Latency Data Retention Default Time Range Max Date Selection Performance Historical mode (Default) 3-6 hours. The approximate current data latency is displayed in a banner at the top of the page. For example, "Current data latency is around 3 hours." Previous 3 months, plus the current month Last 7 days 31 days Troubleshooting Pacing Performance Real Time mode 5-15mins. The approximate current data latency is displayed in a banner at the top of the page. For example, "Current data latency is around 10 mins." Previous 8 days, plus the current day Last 2 days 9 days Troubleshooting Pacing Access Glossary To access the glossary within Programmatic Insights pages, click the icon located at the right side of the page. Click the  Read More  button to display additional information.  Frequently Asked Questions What is the difference between Playback Rate and Render Rate?  The  Playback Rate  is the percentage of primary programmatic ads that were played. This is calculated with the following formula: Playback Rate = Net Counted Ads / Selected Ads The  Render Rate  is the percentage of filled ads that were converted to action impressions. This is calculated with the following formulas:  If Invalid Traffic (IVT) is removed,  Render Rate = Net Counted Ads / Filled Ads If IVT is included,  Render Rate = Gross Counted Ads / Filled Ads The calculations revolve around determining the   rate of actual impression conversions (i.e., how many of the ad opportunities actually resulted in impressions) relative to the   number of  maximum potential impressions  that could have been converted. This is calculated differently based on whether they are viewed from the supply perspective or the demand perspective. From the supply perspective, the maximum potential impressions are calculated based on the filled ads. A filled ad is an ad opportunity where both a primary ad and a fallback ad could potentially be served. However, since only one ad (either the primary or fallback) gets served for a given opportunity, the fallback ad is not counted separately in the conversion rate calculation. From the demand side, the maximum potential impressions include all times an ad is returned in the response, whether it's the primary or fallback ad. Even if an ad is returned as a fallback, it is still considered as a potential impression opportunity. What is the difference between Programmatic Device and Device Type?  A  Programmatic   Device  refers to the type of the device associated with the programmatic transaction. This value is parsed from the OpenRTB specification, by default from the device.devicetype attribute. For example:  MOBILE_OR_TABLET PC CONNECTED_TV PHONE TABLET CONNECTED_DEVICE SET_TOP_BOX A  Device Type  refers to the  general category of the device(s) that ad requests associated with the site item came from, with each category returned in its own row. For example:  Personal Computer/Desktop Connected TV/CTV Phone Tablet Set Top Box Unknown In the Troubleshooting > Failed Bids breakdown tables on the Creative tab, why is there an  Unknown  creative? What does it mean and what actions are there to take?  An  Unknown  creative indicates that there is no valid ad in the bid response returned by the Demand Side Platform (DSP). This is most likely the cause for an  Empty Ad ID  error.  To diagnose this issue, switch to the DSP (or Bidding Buyer) tab in the breakdown tables and find which DSP (or Bidding Buyer) returns bids with  Empty Ad ID  errors. Then raise the issue to the DSP (or Bidding Buyer) to identify the source of the issue.  In the Troubleshooting tab >  Pre-filtered Bid Requests, why is there no Creative tab?  During the Pre-filtered Bid Requests stage, the creative has not yet been retrieved, so no details about the creatives are available at this point. What is the difference between Candidate Level Error and Slot Level Error?  A  Candidate Level Error  occurs when a bid fails to serve in an ad request. This means the bid is not eligible for selection in any slot. Only one error reason will be logged for the whole transaction. Examples of candidate level errors include Competition Failure and Profile Check Failed, both of which occur when attempting to assign a bid to a slot. To provide additional clarity on why the bid could not be assigned, we include Slot Level errors for these Candidate Level errors. A  Slot Level Error  occurs when a bid fails to serve in one specific slot but may still be selected for another slot. Only one error reason will be logged for this slot. Examples of slot level errors include Max Slot Duration Exceeded and Creative Profile Incompatible, which are child error reasons under Competition Failure and Profile Check Failed.  Why is Slot Level Error displayed as a percentage?  If a bid fails to serve in an ad request across all slots, each slot logs its own error, inflating the error count at the slot level. To maintain clarity in the funnel logic, slot level errors are displayed as percentages. For example, in an ad request with four fillable slots, a bid goes through the following process: Slot 1: Bid filtered out due to Max Slot Duration Exceeded. Slot 2: Bid filtered out due to Back-to-Back Exclusivity. Slot 3: Bid filtered out due to Max Number of Ads Exceeded. Slot 4: Bid filtered out again due to Max Slot Duration Exceeded. At the transaction level, the bid is filtered due to Competition Failure. However, at the slot level, four errors are logged. If Programmatic Insights displayed slot-level errors, it would mislead users into thinking the bid was filtered four times. To avoid this,  Programmatic Insights  >  Troubleshooting  >  Detailed Error Reasons Trend  shows slot-level error reasons as percentages within the Competition Failure category: Max Slot Duration Exceeded: 50% Back-to-Back Exclusivity: 25% Max Number of Ads Exceeded: 25% What is known behavior in programmatic reporting when delivering on inventory? Under the following conditions: The deal delivers inventory purchased through a Purchased Order. Multiple order paths exist between the upstream inventory supplier and the current programmatic network in the transaction.  The current programmatic network maps different purchased orders to different Network Items in advance. This may lead to pre-delivery metrics being recorded on one Network Item, while delivery metrics are recorded on another one.  For example, NW A sells inventory to NW B via two orders. NW B placed Deal X targets on the purchased inventory from NW A and maps Order 1 to Site Section 1 and Order 2 to Site Section 2. When a request comes in, both orders are considered in the ad selection process. Deal X’s targeting overlaps with these orders, so the auction request sent to the DSP includes all deals found through both orders. While multiple eligible orders are present during the auction process, only one order is selected for delivery. This could result in a discrepancy between the order recorded for the auction and the one used for delivery. For example, Order 2 may be logged for the auction, while the actual delivery occurs through Order 1. Since NW B has mapped the orders to different site sections, pre-delivery metrics are logged on Site Section 2, and delivery metrics are logged on Site Section 1.  See the example below:  Site Section ID Site Section Name Eligible Invitations Pre-Filtered Bid Requests Bid Requests Invitation Rate Bid Requests - User Match Outbound Opportunities Responses with Bids Response Rate Response Errors Received Bids Received Bids Rate Failed Bids Valid Bids Filtered Bids Selected Ads Win Rate Gross Counted Ads Net Counted Ads Playback Rate Total Endpoint Errors Revenue eCPM Clicks CTR Measurable Video Ads Quartile Impressions Video Ads 25% Complete Video Ads 50% Complete Video Ads 75% Complete Video Ads 100% Complete Completion Rate 1 site section 1 0 0 0 0.0000 0 0 0 0.0000 0 0 0.0000 0 0 0 0 0.0000 276009 275719 0.0000 496 8701.6916 31.5600 55 0.0002 275699 274661 274131 273769 273186 0.9908 2 site section 2 2930407 2237198 693209 0.2366 1324 693209 654843 0.9447 38366 654843 0.9447 0 654843 115490 539353 0.8236 0 0 0.0000 0 0.0000 0.0000 0 0.0000 0 0 0 0 0 0.0000 Why is the number of ‘Others’ under the sankey chart in the performance tab does not equal to the  Troubleshooting > Ad Playback  errors under the troubleshooting tab? After selecting  ‘User Drop Off Removed’  then,‘Others’, in the sankey chart represents an approximation of the number of endpoint errors. However, it’s important to note that this value doesn’t necessarily equal the number of endpoint error callbacks we receive. Currently, ‘Others’ is calculated as selected ads minus net counted ads. In real-world terms, ‘Others’ just represents the gap between FW returned ads and the actual impressions we received. This gap can be caused by several factors: endpoint errors where the player failed to play the ad and sent an error callback to us, and FW also recognise that error callbacks; endpoint errors where the player failed to play the ad but sent their own error callback that FW couldn’t parse; or the player simply didn’t send any callback at all, so we don’t know if the ad was played or encountered an error. So it will result the inconsistent number between Others and the Total error counts in Troubleshooting > Ad Playback. Because Others contain above 3 situations, Total error counts in Troubleshooting > Ad Playback just contain the 1st scenario. Does this feature behave differently for FreeWheel SSP users? Yes  - FreeWheel SSP ad request counts may differ from ad server ad request counts. This is expected behavior. FreeWheel SSP applies request qualification and filtering logic before an opportunity is considered for monetization. As a result, some ad requests recorded by the ad server are intentionally excluded from FreeWheel SSP metrics, for example, when the system determines that an opportunity will not be processed.