Programmatic Reporting Best Practices - YuktaMedia

August 17th, 2020

Programmatic Reporting Best Practices

Just like any business, Publishers need to track KPIs for their business, especially revenue generated from programmatic every day to get an idea about the business. Publisher’s Ad Ops team spends the majority of their time generating reports. This includes activities like data collection, data processing, report generation, and then report distribution. After working with thousands of Publishers across the globe, at YuktaMedia, have come up with the list of most commonly track programmatic revenue KPIs.

Following reporting best practices are suggested based on Google Ad Manager reporting as most of the Publishers use Google Ad Manager as their primary ad server.

1] KPIs to track:

A] Total Supply (ad opportunities) – Total supply or opportunities is one of the most important KPI’s that a Publisher should track every day. By knowing the number of ad requests the Publisher will know how many impressions are available to be sold. This KPI is used by the Sales team to then generate impressions that are available for selling by deducting booked impressions from total supply. The total supply number is also used for identifying total available monetization opportunities.

B] Revenue

  • Net – Net revenue is basically how much money the Publisher is getting paid from the Demand Partners. To calculate the Net revenue, the Publisher needs to know fees and platform usage fees and subtract it from the gross revenue. Some Publishers also deduct other fees such as Google’s Analytics fees, etc.
  • Gross – Gross revenue represents the revenue without any cost deductions. Many Demand Partners charge separate fees and platform usage fees which are included in the gross revenue.
Image: Publishers can plot your Revenue vs eCPM graph to identify the daily trend as shown in the example above

C] Profitability – Publishers must know Profitability from each Demand Partner to adjust the revenue mix. The Publisher needs to track all costs and measure if it meets the profitability benchmark that they are looking for.

D] Sell Through Rate (STR) – Sell-through rate or the fill rate is one of the most important KPI’s that any Publisher needs to track daily. If the sell-through rate is too low (below 20%) then the Publisher needs to find out a reason behind it. The most common reasons for the low sell-through rate are incorrect inventory pricing, ads.txt issue, blocks, etc.

E] Unfilled Inventory – An impression is considered unfilled when there are is a request made but no ad is shown. Publishers must keep monitoring the unfilled inventory every day to make sure that there’s no revenue opportunity lost. The most common causes of unfilled impressions are incorrect tag implementation, technical issues while rendering ads, bid timeouts, etc.

Image: Analyze Unfilled impressions trend to find out missing opportunities trend as shown in the example above.

F] Ad Delivery Errors – If the Publisher is seeing an unusual number of unfilled impressions then it is worth checking if any ad delivery errors are using page-level diagnostics. For the Video, ads check the type of VAST errors and fix all the issues for the flawless ad delivery. The most common reason for the ad delivery errors is the blocking JavaScript.

Image: Find out the top VAST errors as shown in the example above

G] Lost Revenue Opportunity – Is the money left on the table. It’s revenue that could have been made but was not made due to unfilled impression or impression being monetized by low-value Demand Partner who paid lower than expected CPM for the inventory. Lost revenue opportunity can be checked by using this formula: Lost Revenue Opportunity = (Unfilled Impressions + House ads) x Average eCPM / 1000

Image: Gather Demand Partner data and compare side-by-side for insights as shown in the example above

H] Bid Landscape / Bid Density – Publishers can get the Bid density reports from Google by paying the additional price, but it is worth to know how buyers/advertisers are buying the inventory at what price. This helps Publishers to determine the lowest threshold for their inventory pricing. This data can be used to set up the Unified Pricing Rules pricing to get the best possible rate for inventory.

I] Google AdX Unified Pricing Rules (UPR) – UPRs allows Publishers to control the Programmatic remnant impressions floors. It is recommended that Publishers adjust UPR pricing every week to stay on top of revenue goals. To determine the pricing for inventory, use basic but effective KPI’s such as fill rate and the current CPM. Publishers need to balance both KPI’s to find out a “sweet spot” where both Fill rate and eCPM are good. This takes a lot of experimentation, but it is worth the effort.  Learn more about the UPR’s here.

Image: Identify Unified Pricing Rule’s performance by day as shown in the example above.

J] Top Buyers (Revenue / eCPM / Volume / Consistency) – Publishers need to know their top inventory buyers allow them to open new doors to set up a direct relationship with them. Publishers can reach out to their top inventory buyers and setup Private Market Place (PMP), Guaranteed (PG), or Direct (PD) deals. This works best when the Publishers make inventory exclusive (premium) to the buyers and not making this inventory available via other Programmatic routes such as an open auction.

K] Most Profitable Buyers / Channels / Ad Units – By identifying the most profitable assets like Buyers, Channels, or Ad units Publishers know to understand the value of inventory pockets. They can send more traffic to high performing channel / Buyers and block or limit the traffic for Buyers / Channels where profitability is low to improve revenue. Publishers can also find out the similar Buyers or Channels and add them to the revenue mix.

L] Discrepancy – Discrepancy occurs when Demand Partner is reporting a smaller number of impressions than the Publisher. If the discrepancy is greater than 15% then this must be investigated. The majority causes of the discrepancy are the technical issues such as – different ad server reporting time-zones, improper tag implementation, missing cache-buster, auto-refresh creatives, ad loading time outs, different impressions counting methods, duplicate tags, Improper implementation of Media verification technology, etc. Formula: Discrepancy = (Ad server impressions – Demand partner Impressions) / Ad server impressions x 100

M] Campaign Pacing / On-Schedule Indicator (OSI) – OSI or simply the pacing report allows tracking of delivery progress of Direct / Guaranteed campaigns. This is one of the most crucial KPI that Publishers must track daily as under-delivering or over-delivering the campaigns can take a direct hit on the revenue. It is recommended using an automated tool or the alerts to monitor important campaign’s progress in real-time

N] Viewability – Measuring ad viewability periodically is a very good practice for Publishers because Advertisers prefer to buy high viewability inventory at a higher price. There are several ways to increase viewability such as preventing auto-refresh of ads, lazy loading, etc.

O] Opportunity CPM – Opportunity CPM gives the correct representation for every ad request made and how much revenue could have been generated. Formula for calculating opportunity CPM: Opportunity CPM = Revenue / Ad Requests *1000

2] Dimensions and Metrics:

There are many dimensions and metrics that are available that one might feel intimidated by this large volume of data. Here’s a list of the most important Dimensions and Metrics that a Publisher should track to get the entire picture of their business.

A] Revenue Channel – Classify revenue channels with these parameters to find out the revenue breakup among different channels.

  • Programmatic – Publishers use multiple channels to generate revenue through programmatic ad serving and it is worth to check performance by channel to understand revenue mix. By performing this analysis, Publishers will be able to find out the high/low performing channels and make strategic data-driven decisions.
    • Open Bidding – In Google Ad Manager 360, use filter “Demand channel = Open Bidding” and “Yield Partner” in dimensions to find out the performance for the Open Bidding partners.
    • Header Bidding – n the Google Ad Manager use key-value filter to find out Prebid demand partners performance using key-value “hb_bidder”.
    • Open Auction – Use “Ad sources = Open Auction” dimension in the Google Ad Manager Ad Exchange historical reporting to find out the Open Auction performance.
    • Private Marketplace Deals – Use “Ad sources = Preferred Deal” dimension in the Google Ad Manager Ad Exchange historical reporting to find out the preferred deal’s performance.
    • Programmatic Guaranteed Deals – In Google Ad Manager reporting, use filter “Programmatic order = True” to find out the PG deals performance.
  • Direct Campaigns – To find out the direct campaigns’ performance use filter “Order” or the Dimension to find out direct campaign performance.
  • Sponsored Content – Use the key-value pairs or demand partner impressions to find out the sponsored content reporting depending upon the setup.
  • Affiliate Marketing – Affiliate marketing setup can be tracked using key values or demand partner numbers. This type of setup is customized hence Publisher’s Ad Ops team needs to understand the setup while analyzing the numbers.

B] Buyers (Advertisers / Agencies) – Identify top buyers and reach out to them for the direct / PMP or the Guaranteed deals.

  • Advertiser – In Google Ad Manager, use the “Advertiser (classified)” dimension to identify top Advertisers.
  • Programmatic buyer – Use the “Programmatic buyer” dimension to identify the DSP from where advertisers are buying the inventory.

C] Device Type – Always track revenue mix across devices and how the devices are performing. Note that all devices work differently hence this information will help to make sure that content is available to the users. Analyze data by the device types listed below:

  • Desktop
  • Tablet
  • Smart Phones
  • CTV

D] Ad Size – Ensure that only standard IAB ad sizes are running on the digital properties so that there is enough demand. Adding standard IAB ad sizes also helps in lowering down the unfilled impressions.

  • Requested ad size – Use requested ad size dimension to identify ad sizes in ad calls. Identify the ad units where the non-IAB standard ad sizes are and replace them with the standard ad sizes.
  • Delivered ad size – Delivered ad size dimension represents the exact ad size shown to the user. Make sure that the ad sizes are not affecting the user experience.

E] Site / domain – If there are multiple properties in one account then they should always segregate data by the site/domain so that Publishers can analyze the performance by each property. This dimension is very critical in RPM analysis.

F] Ad Unit – Ad unit data is one of the most important data points that should always be tracked. Most of the important KPIs are tied to the Ad Units and it will help in pinpointing the issues and opportunities more effectively. Special attention must be paid to the nomenclature of Ad Units.

G] Geography – eCPMs change when geography changes. Publishers will see the high eCPM for the Tier 1 countries and low eCPM for the rest of the world. Publishers need to know where their audience is coming from and leverage that data to adjust pricing floors for inventory by Geography. Use the following dimensions in Google Ad Manager reporting to identify audiences mix.

  • Country
  • State (Postal code)
  • DMA

H] Ad Type – eCPMs vary by the ad sizes and inventory should be segregated by Banner (Display) or the video ads. Use the “Request type” dimension in Google Ad Manager reporting to identify the ad types.

  • Banner
  • Mobile app
  • Video
    • Preroll
    • Midroll
    • Postroll
    • In-blog

I] eCPM – eCPM is the metric in Programmatic Ad serving which gives the effective cost per thousand impressions.

Image: Find out top performing demand partners with ease By plotting the chart as shown in the example above

J] Revenue – In the Programmatic ad serving calculate revenue using this formula: Revenue = (Impressions x eCPM) / 1000

K] Fill Rate % – Fill rate shows how many impressions were filled by the demand partners from the total ad requests. To calculate the fill rate, use this formula: Fill rate % = (Impressions / Ad requests) x 100

L] RPM – RPM stands for Revenue per thousand impressions. Usually, Publishers use these metrics to identify the revenue they made per thousand page views. To calculate the RPM, use this formula: RPM = (Revenue / Pageviews) * 1000

Image: Publisher RPM performance by day.

M] Viewability – Viewability is another important metric that indicates how much percentage of ads were seen by the users by taking into consideration IAB standards. To calculate the Viewability use this formula: Viewability % = (Total Active View viewable impressions / Total Active View measurable impressions) x 100

N] Discrepancy – Discrepancy indicates how many impressions were lost during the ad serving. To calculate the discrepancy, use this formula: (Ad server impressions – Demand partner Impressions) / Ad server impressions x 100. A discrepancy of more than 10% is considered above normal and should be investigated.

O] Paid impressions – Paid impressions metric from Demand Partner reporting represents the number of impressions which the Publisher will get paid.

P] Timeout – This is another important metric that must be tracked in the header bidding setup. Many Demand Partners show the bid timeout data in the reporting. If ads are having above-average timeout ads, then this should be fixed immediately because it directly impacts revenue and contributes to the unfilled impressions. Most of the timeout issues occur because of the improper implementation of the setup. 

Q] Referrer (Type / Domain) – Along with the revenue data Publishers should always keep an eye on the Google Analytics data. The referrer dimension in the reporting tells the sources from where traffic is coming. Always watch out for the traffic coming from the shady domains as it will flag for the advertiser’s blocks and it is ridiculously hard to recover from it.

R] UTM – The UTM allows to track the effectiveness of a marketing campaign. Track this dimension daily to identify the best and worst-performing campaigns.

S] Unfilled impressions – Tracking unfilled or unmonetized impressions daily will help make sure that the Publisher is not wasting any revenue opportunities and will help stay on top of revenue goals.

T] VAST Errors – If running video ads then the Publisher should always keep an eye on VAST errors. Most of the errors occur because of the incorrect implementation and the error types will help pinpoint the exact cause. It will make a direct impact on revenue if the VAST errors are not fixed.

U] Ad requests – Ad requests indicate the number of ad opportunities that property (website / mobile app) has generated.

3] Date Ranges to compare

When analyzing data compare KPIs with the historical performance. Use the following date comparisons for analysis.

  • Current Date v/s Last 7 days
  • WoW
  • MoM
  • QoQ

4] Alerts

Setting up alerts will help to find out the needle in the haystack. There are many data points to look at and it is difficult for analysts to track or compare each KPI. So, it’s suggested to set up an automated alert for tracking inventory performance. The example below highlights how alerts should provide details:

  • For ad unit: video.instream| eCPM ↓ 3.96% | Fill Rate ↓ 28.68% | Ad Request ↑ -22.13% | Impressions ↓ 12.93% | Revenue ↓ $609.33 | Revenue drop contribution 53.96%
  • For ad unit: display.outofpage | device category: High-end mobile devices | eCPM ↓ 6.77% | Fill Rate ↓ 35.91% | Ad Request ↑ -30.57% | Impressions ↓ 16.31% | Revenue ↓ $575.69 | Revenue drop contribution 50.95%

For more information reach out to

Leave a Reply

Your email address will not be published. Required fields are marked *

Aditya Bhelande

Aditya Bhelande

Aditya is the founder & managing partner at YuktaMedia. He has rich global experience in Digital Media having worked with large Publisher and Media Houses. That paired with deep technical knowledge of enterprise systems has let him found and lead YuktaMedia and create and drive the YuktaOne platform.

person describing yuktaone's features

Discover how YuktaOne Media ERP addresses your Ad and Revenue Ops challenges

Schedule a free demo and learn from our Ad & Revenue operations experts.


Trust their word for us.

YuktaMedia’s knowledgeable and experienced Ad Ops team has provided unparalleled support for Rotana sites by leveraging YuktaOne Media ERP for automated real-time reporting, revenue tracking, campaign pacing, performance and delivery.

Abir El Naboulsi

Sales Strategy Partner

“Working with the Yuktamedia team has given our company the extra support we needed to expand our business. The YuktaOne platform has reduced reporting hours significantly, allowing our internal team more time to focus on other initiatives. And our partners love having instant access to their data through a clean UI. We’ve worked with several outsourced teams over the years and Yuktamedia stands out because of their dedication to our success. It isn’t just about completing a task, Aditya’s team cares about producing quality results.”

Marisol Perez

Business Operations & Strategic
Partnerships | Digital Advertising

YuktaMedia has been an invaluable partner, helping us monitor our business KPIs with their platform. They build and maintain data connections quickly and they are very responsive to all our requests.

Jeffrey Wu

Senior Director, Global Operations

YuktaOne Media ERP has helped transform our client's business and has become an essential part of their ad and revenue operations. The Yukta team is knowledgeable, responsive and professional. We look to work with them whenever we can.

Stefanie Beach

Founder and CEO

Our beloved Clients

We're equiped to serve you here