How to audit your media agency’s programmatic fees
Follow one programmatic dollar from your invoice to the publisher. Ask your agency for the audit rights clause in your contract, a written answer on whether any media is bought as principal, the DSP invoice with every fee on its own line, and log level data. In ISBA and PwC’s 2020 UK study, publishers received 51% of advertiser spend.
Where a programmatic dollar goes
When your agency buys display, video or connected TV on the open web, your money passes through several companies before it reaches a website or an app. The agency takes its fee. A demand side platform, or DSP, bids for the impressions and takes its own. Data, verification and ad serving tools charge on top. On the sell side, a supply side platform, or SSP, runs the auction for the publisher and keeps a share. What is left is the publisher’s revenue, the part the industry calls working media.
A detailed public map of that chain comes from ISBA, the trade body for UK advertisers, which commissioned PwC to follow real spend from 15 advertisers through five DSPs and six SSPs to 12 premium publishers, using data from early 2020. Publishers received 51% of advertiser spend. Another 15%, which PwC called the unknown delta, could not be attributed to anyone. That was about a third of all supply chain costs, even though every advertiser in the study bought on a disclosed basis.
Fees are only the first cut. Our own data measures something else: across our 74 published audits, counting every channel and not only programmatic, 22% of audited marketing spend was wasted paid spend: media that ran, was paid for, and produced no incremental margin.
| Layer | Share of advertiser spend | The document that shows it |
|---|---|---|
| Agency fee | 7% | Your contract and the agency invoice |
| DSP fee | 8% | The DSP’s own invoice or billing report |
| Demand side technology: ad serving, verification, data | 10% | The DSP invoice and each vendor’s invoice |
| Unknown delta | 15% | Only DSP and SSP log level data, matched impression by impression |
| SSP fee | 8% | SSP log level data |
| Supply side technology | 1% | SSP and publisher data |
| Publisher revenue | 51% | The domain and app report, matched to SSP data |
The Association of National Advertisers, the ANA, a US trade body, measured the same chain from the DSP onward. Using the log level data of 21 marketers, it reported in December 2023 that only 36 cents of each dollar entering a DSP effectively reached the consumer. Transaction costs, mainly DSP and SSP fees, took 29% of every dollar. Another 35% went to impressions that were not viewable, were invalid traffic, could not be measured, or ran on made for advertising sites. The ANA’s dollar starts at the DSP, so whatever your agency charges before that sits outside it. Its quarterly benchmark tracks a related measure: for the first quarter of 2026 it put the share of programmatic spend that reached impressions free of fraud, measurable, viewable and not on made for advertising sites at 43.3%.
Both studies looked at large advertisers, so neither is a benchmark for your account. They show where to look. Each layer has a document behind it, and auditing the chain means getting those documents.
Step 1: Read the audit rights clause
Start with the contract, because it decides what you are allowed to see. Find the clause that lets you, or an auditor you appoint, inspect the records of your spend. Check four things: whether it reaches the agency’s vendors (the DSP, the SSPs, the data and verification companies) or stops at the agency’s own books; whether it covers transaction level data or only summaries; how much notice you must give; and how often you may use it.
The ANA’s media buying contract template, updated in June 2023, keeps no limit on the number of audits and includes a schedule of the transaction data to obtain from vendors. Your contract does not have to copy it. If your clause is narrower, you know which lines to raise at the next renewal.
Step 2: Ask whether any of your media is bought as principal
In a principal buy, the agency buys inventory on its own account and resells it to you, instead of buying it as your agent. The price you pay then includes a margin the agency keeps, and the agency is a seller as well as an adviser. In an ANA survey of 114 marketers, published in March 2026, 58% said their company had used principal media in the past year, up from 47% previously. Only 63% said their agency contracts address it; more than a third said they do not, or did not know.
Principal media is not wrong in itself: 76% cited lower cost as its main benefit. The issue is knowing when it happens. As ANA CEO Bob Liodice put it: “Marketers should always understand whether their agency is acting as an agent or a principal in any media transaction.” Ask in writing which line items were bought as principal, on what terms, and whether you can opt out. The guide to marketing agency markup covers the fee models and how to reconcile a markup on media; this step is only about knowing which model each programmatic buy used.
Step 3: Get the DSP invoice with every fee on its own line
Ask whose DSP seat runs your campaigns. If your spend shares a seat with other clients, separating your data takes extra work, which is why the 2023 ISBA and PwC follow up recommended a separate DSP seat for each advertiser. Then ask for one month of the DSP’s own invoice or billing report, not the agency’s summary of it.
Look for the media cost, which is what the winning bids cost, and then every fee on top of it: the DSP platform fee, data fees for audiences and targeting, verification, ad serving, and any fee charged as a share of media. In the 2020 study, DSP fees averaged about 8% of advertiser spend, in line with the contracted rates on average, while demand side technology for ad serving, verification and data averaged 10%. Compare every line with the rate in your contract. A fee that is not in the contract, or a rate that differs from it, is a question to put in writing.
Step 4: Ask for log level data and the site list
Log level data is the record of each impression: when it ran, where, at what price and through which SSP. It is the only way to see the layers after the DSP. In the 2020 study, only 12% of 267 million impressions could be matched from DSP data to SSP data, mostly because of poor data quality. In the follow up, published in January 2023, the vendors supplied log level data, the match rate rose to 58%, and the unknown delta fell to 3% (against 17% for 2020 on the same basis) and to below 1% in private marketplaces. SSP fees showed a gap too: in the 2020 data they came to about 14% of publisher revenue, against about 12% in the contracts.
Even without matched data, ask for the domain and app report: every site and app your ads ran on, with impressions and spend. The 2020 advertisers appeared on an average of 40,524 websites, most of them not premium. A long list proves nothing on its own, but it shows where to look. In case 12, a $1.2M ad budget hid a 40% wasted impression rate: placements and dayparting had never been optimized after launch, and the audit identified $74k a year, with findings in 7 days.
Step 5: Work out your working media share
Put one month side by side: what you paid the agency in total, the media cost on the DSP invoice, and, if you have matched data, what the publishers received. The media cost as a share of the total is the most you can call working media; the SSP fees and any unknown delta still come out of it before a publisher is paid.
For example, say a company pays its agency $40,000 for a month of programmatic. The agency fee is $4,000. The DSP invoice shows $36,000 of spend, of which $8,000 is DSP, data, verification and ad serving fees, so the media cost is $28,000. At most 70% of the money bought impressions, before any SSP fee or unknown delta.
Then check what the working media bought. Fees decide how much of the budget reaches a publisher; they say nothing about whether the impressions sold anything. Non incremental paid spend showed up in 68% of our audits, and attribution inflation in 54%. Track the channel against MER, total revenue divided by total marketing spend, when its budget moves. A channel whose spend can rise or fall without moving revenue is a margin leak, whatever its fees.
| Where the spend went | Share of audited spend |
|---|---|
| Effective spend | 62% |
| Wasted paid spend | 22% |
| Mispriced offers | 9% |
| Leaky retention | 7% |
What to do with what you find
Write down each answer, each document and the date it arrived. A fee that matches the contract is a fact, not a finding. A fee missing from the contract, a slow answer on log level data, or principal buys you did not know about are questions to put to the agency in writing, and many have ordinary explanations. Decide on the answers, not on the first gap you see.
The 2023 ISBA and PwC follow up suggested that advertisers check the whole supply chain every one to three years; the contract terms, invoices and logs above are what that check is built from, and you can request every one of them yourself. Between those checks, comparing the DSP invoice with the contract each month is a short check. For the rest of the agency relationship, the budget meeting questions are in how to audit your marketing agency.
Questions about auditing programmatic fees
What is a normal programmatic fee?
There is no single normal rate, because agencies, DSPs and SSPs each price in their own way. In the 2020 ISBA and PwC UK study, the agency fee came to about 7% of advertiser spend, the DSP fee 8%, demand side technology 10% and the SSP fee 8%, and publishers received 51%. The test for your account is narrower: is every fee in your contract, and does each invoice match it? Agency fee models and the reconciliation workbook →
What is principal based media buying?
It is when an agency buys media on its own account and resells it to you, rather than buying it as your agent. The price can be lower, and in the ANA’s 2026 survey 76% cited lower cost as the main benefit. But the agency then earns a margin on media it also recommends. Ask which buys were principal, on what terms, and whether you can opt out.
What documents should I ask my media agency for?
Five: the contract with its audit rights clause, a written statement of which buys were made as principal, the DSP’s own invoice for one month with every fee on its own line, log level data or at least the domain and app report, and the list of SSPs used. Ask for them in writing, as part of budget planning, and note the date each one arrives. Six questions for your next budget meeting →