Blog · Board and management reporting
Compare booked advertising revenue, delivered inventory and realized selling rates from publisher exports. Work through a channel and advertiser example, with spreadsheet formulas and checks that separate paid fill from house advertising.
Advertising sales analytics measures a publisher's bookings, paid inventory fill and realized selling rates by advertiser and channel. Start with advertising orders and accepted delivery, then compare them with the inventory available during the same period. These measures show whether a revenue gap comes from fewer commitments, incomplete delivery or different rates.
A media company's customer buys advertising inventory. The commercial review therefore asks what was sold, what ran and what revenue that delivery supports. It does not measure the advertiser's return on campaign spending; advertising analytics covers that separate question.
Keep three amounts distinct: net bookings assigned to the service period, revenue supported by accepted delivery, and revenue recognized by finance. In the example below, delivery revenue is an operating calculation for impression-priced orders. Finance must still reconcile it to the ledger, including any recognition adjustments.
Choose a reporting month and a consistent cutoff. Classify direct sales, other paid demand, house advertising and unfilled opportunities separately. If the file covers only direct-sold inventory, label that boundary rather than calling it the publisher's total business.
The orders file needs advertiser ID, order-line ID, channel, service period, net booked impressions, net contracted rate and accepted paid impressions. Keep credit and cancellation records linked to their original order lines. Use business account identifiers; individual audience records are unnecessary for this comparison.
The inventory file needs channel, period, eligible requests, house impressions and any separately recorded unfilled requests. Aggregate order delivery to channel before matching it to inventory. Repeating a channel's request total on every advertiser row would multiply the denominator.
Define requests consistently. Here, each eligible request represents one impression opportunity, and every opportunity ends as one paid impression, one house impression or one unfilled opportunity. Video pods and multi-slot requests need their own comparable unit before this identity is usable.
An illustrative US trade publisher reviews September 2026 at its agreed delivery cutoff. All orders below use net cost per thousand impressions, or CPM. There are no credits or fixed-fee placements in this example, and accepted delivery is billable at the contracted rate.
On an Orders worksheet, put these columns in A through G. Columns C, D and E come from the exports; F and G are calculated.
| Advertiser | Channel | Booked impressions | Net CPM (USD) | Accepted paid impressions | Net bookings (USD) | Delivery revenue (USD) |
|---|---|---|---|---|---|---|
| Atlas | Display | 600,000 | 12.00 | 500,000 | 7,200 | 6,000 |
| Beacon | Display | 400,000 | 12.00 | 300,000 | 4,800 | 3,600 |
| Atlas | Video | 200,000 | 30.00 | 180,000 | 6,000 | 5,400 |
| Beacon | Video | 200,000 | 30.00 | 120,000 | 6,000 | 3,600 |
| Total | 1,400,000 | 1,100,000 | 24,000 | 18,600 |
Enter these Excel formulas in F2 and G2, respectively, and fill down through row 5:
=C2/1000*D2
=E2/1000*D2
Atlas Display therefore has bookings of 600,000 / 1,000 × 12 = $7,200 and delivery revenue of 500,000 / 1,000 × 12 = $6,000. Its booked-to-delivered gap is $1,200. Rates are exact in this example; displayed percentages and combined rates below are rounded to two decimals after calculation.
Paid fill divides paid impressions by eligible requests. Realized CPM divides the associated net delivery revenue by paid impressions and multiplies by 1,000. For context, Google Ad Manager's metric definitions define total fill using total impressions over total ad requests; that broader numerator is why the word paid matters here.
On an Inventory worksheet, use columns A through H in this order:
| Channel | Eligible requests | Paid impressions | House impressions | Unfilled opportunities | Paid fill | Delivery revenue (USD) | Realized CPM (USD) |
|---|---|---|---|---|---|---|---|
| Display | 1,000,000 | 800,000 | 50,000 | 150,000 | 80.00% | 9,600 | 12.00 |
| Video | 500,000 | 300,000 | 100,000 | 100,000 | 60.00% | 9,000 | 30.00 |
| Total | 1,500,000 | 1,100,000 | 150,000 | 250,000 | 73.33% | 18,600 | 16.91 |
Use these formulas in C2, E2, F2, G2 and H2, then fill down for Video:
=SUMIFS(Orders!$E$2:$E$5,Orders!$B$2:$B$5,A2)
=B2-C2-D2
=IF(B2=0,"",C2/B2)
=SUMIFS(Orders!$G$2:$G$5,Orders!$B$2:$B$5,A2)
=IF(C2=0,"",G2/C2*1000)
Microsoft documents SUMIFS as summing values that meet specified criteria. Add period criteria when the source contains multiple months; channel alone is sufficient only because this example contains one month.
Calculate combined fill as 1,100,000 / 1,500,000 = 73.33%. Calculate combined CPM as 18,600 / 1,100,000 × 1,000 = $16.91. Neither figure is the simple average of channel percentages or rates.
The inventory identity is paid plus house plus unfilled equals eligible requests. Display checks as 800,000 + 50,000 + 150,000 = 1,000,000. Video checks as 300,000 + 100,000 + 100,000 = 500,000. Together, 1,100,000 + 150,000 + 250,000 = 1,500,000.
Compare the calculated unfilled opportunities with the independently exported unfilled count. The identity alone cannot catch missing paid delivery if unfilled is merely the balancing amount. Also match accepted impressions to the delivery report by order line before totaling revenue.
All-ad fill would be (1,100,000 + 150,000) / 1,500,000 = 83.33%. Showing that number alone would conceal the distinction between paid and house delivery.
The order-to-delivery gap is $24,000 - $18,600 = $5,400. Display contributes $12,000 - $9,600 = $2,400; Video contributes $12,000 - $9,000 = $3,000. Those gaps sum to $5,400, matching the advertiser-line calculation.
Sales owns the booking definitions; ad operations confirms delivery and inventory; finance checks adjustments and recognized revenue. Beacon Video has the largest line gap, $6,000 - $3,600 = $2,400, so investigate its delivery schedule first. A gap at the cutoff is not automatically a cancellation or permanent loss.
Use price realization by customer when discounts explain a selling-rate change. Use sales analytics versus sales intelligence for the broader boundary between measuring sales performance and gathering account information.
Covirage is not affiliated with Google or Microsoft.
Upload a sample of your own advertising orders and inventory exports, or a Google Sheet; Covirage maps the columns and its tools compute and check the figures. The external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your files.
See revenue driver analysis for the supporting workflow.
Publisher sales analysis examines the revenue earned by selling advertising space or impressions. Advertiser campaign analysis examines spending and the responses it receives. The same placement appears on opposite sides of those businesses, so their revenue, cost and success measures differ.
They may count in an overall delivery measure, but they should not count as paid advertiser impressions. Report paid fill and all-ad fill separately, with their denominators stated. House advertising can occupy inventory without producing external advertising revenue.
A booking records a commercial commitment. Delivery and finance records determine what has been fulfilled and recognized under the company's accounting policy. Keep the two amounts separate, and investigate timing, cancellations, credits and makegoods before interpreting their difference.
Compare channels with matching units, revenue treatment and reporting periods. Revenue per thousand paid impressions is useful for impression-priced inventory, but sponsorships and fixed-fee placements may need separate measures. Changes in channel mix can move the combined rate without changing any individual selling price.