Last year I pulled the raw auction logs for a mid-sized publisher running three demand partners side by side, and one of them was keeping 42% of the winning bid before it ever touched the ad server. Nobody lied. Nobody had to. The insertion order never specified a number, and the reporting dashboard showed a net figure dressed up to look like gross. That's the entire trick behind a black-box network: it doesn't need to cheat you, it just needs you to never ask the one question that would tell you exactly what you're losing on every single impression.
Where Your Ad Dollar Actually Gets Clipped Between The Advertiser And Your Ad Server
An advertiser's $10 CPM doesn't arrive at your ad server as $10. It passes through a stack of intermediaries, and every one of them is entitled to a cut before your line item ever fires. The DSP charges the advertiser a platform fee, typically 10-20% of spend, for managing the campaign and running the bidding logic. That fee is baked into the bid before it hits an SSP, so you never see it directly, but it's the first clip, and it happens before your inventory is even in the auction.
The SSP or exchange takes the next cut, usually 10-25% of what clears the auction, for connecting your inventory to demand and running the auction logic. If your header bidding wrapper is a hosted, managed solution rather than an open-source implementation you control, add a wrapper fee on top, often 5-10% of auction revenue. Then there's currency conversion spread when an advertiser bids in a different currency than you're paid in, and verification fees for viewability or invalid traffic scrubbing that some partners deduct before reporting revenue rather than disclosing them as a line item. Programmatic guaranteed deals skip some of this stack, which is one reason they tend to carry a lower blended take rate than open exchange traffic.
Stack two or three of these hops and a $10 CPM in advertiser spend can land on your ad server showing $4.50-5.80 net, sometimes lower if there's an unnecessary reseller layer sitting in the middle of the chain. Every single fee is defensible in isolation. It's the stacking, and the refusal to show you the stack, that turns reasonable margin into an unreasonable one.
- DSP platform fee: 10-20% of advertiser spend, taken before the bid ever reaches an exchange
- SSP/exchange fee: typically 10-25% of the cleared auction price
- Header bidding wrapper fee: 5-10% if you're on a managed wrapper instead of an open-source setup
- Reseller or arbitrage layers: each additional SSP-to-SSP hop adds another 15-30% cut
- Verification/IVT fees: deducted pre-report by some partners instead of shown as a separate line
- FX spread: a hidden percentage skimmed when currency conversion happens off official rates
Take Rate Isn't One Number, It's A Blended Average You Have To Reconstruct Yourself
Ask a partner their take rate and most will quote you a single figure, say, 20%. That number is almost always a blend across deal types, and the blend hides more than it reveals. A programmatic guaranteed deal might run at an 8-10% take rate because there's less risk and less optimization work involved. Open exchange auction traffic, where the partner is doing real yield work, might sit at 20-25%. Private marketplace deals land somewhere in between. When a partner gives you one number for all of it, ask which deal types that number covers. The answer tells you whether they're rounding down or genuinely disclosing.
The number that matters anyway isn't the disclosed take rate, it's the effective take rate, calculated from what the advertiser actually paid versus what you were actually paid. Most publishers never see the advertiser-side number, so they can't calculate this directly. But you can approximate it. If you run the same demand source through two different SSPs with visibility into win rates and clearing prices, the spread between them, adjusted for traffic quality, is a rough proxy for the difference in effective take rate between the two paths. Some SSPs will also share a demand path optimization report breaking out win rate by exchange, which is a useful cross-check even though it wasn't built for this exact purpose.
A 20% take rate at the SSP layer stacked with a 15% take rate at a reseller layer sitting on top of it doesn't add up to 35%, it compounds. $10 minus 20% is $8, and $8 minus 15% is $6.80, a combined effective take of 32%. Publishers who assume take rates stack additively consistently underestimate what they're actually losing, sometimes by 4-6 percentage points, which on meaningful ad revenue volume is real money left on the table every month.
The Script: Exact Questions To Ask A Prospective Demand Partner
Before you sign anything, run a five-minute conversation that tells you almost everything about how a partner operates. I use a version of this with every new demand source I evaluate for a client, and the reaction to the first question alone eliminates about a third of prospective partners before we get to the second one. If your own setup hasn't been checked for basic monetization readiness, it's worth running it through an eligibility checker first, because you want to know your baseline before you start comparing partners against it.
Watch how fast the answer comes, not just what it says. A transparent partner answers the take-rate question in one sentence, often before you finish asking it, because they quote it internally as a matter of course. A partner who needs to "check with the team" or redirects to "it depends on a lot of factors" is telling you the number isn't fixed, isn't disclosed internally in a simple way, or isn't something they want written down. All three are bad signs, and none of them get better once you're six months into a signed agreement.
- What is your exact take rate on open exchange traffic, and does it differ by format or geo?
- Do you report gross bid price, or only what you pay me, and can I see both?
- Are there any reseller or arbitrage layers between your platform and the advertiser demand?
- What happens to revenue from invalid traffic or failed viewability checks: do you keep it or pass through the loss?
- Can I get raw, impression-level log data, not just aggregated dashboard totals?
- Will your take rate be written into the insertion order or contract, not just stated verbally?
Auditing Your Current Partnerships With Data You Already Have
You don't need advertiser-side data to get a reasonable read on your current partners. Pull your header bidding wrapper's bid-level logs for a single ad unit, segmented by geo and device, over a two-week window. Compare the win rate and average clearing price for each demand partner against the others bidding on identical inventory. If one partner consistently wins at bid prices 15-20% below the others for equivalent traffic, and their fill rate stays healthy anyway, that's a signal they're either getting worse demand or keeping more of what they're paid before it shows up in your report. Run this over at least two weeks rather than a few days, since day-of-week and time-of-day auction dynamics can create noise that looks like a partner problem but isn't.
This is exactly why running more than one demand source matters beyond simple redundancy: it gives you a live benchmark. A publisher relying on a single network for 80-90% of programmatic demand has no comparison point and has to take reported numbers on faith. The publishers I've seen catch a hidden take rate earliest are almost always the ones who'd already taken steps to diversify their demand partners, because a sudden 12% RPM gap between two partners running comparable traffic doesn't have anywhere to hide.
A second method: run a floor price test. Set an identical hard floor across two competing partners on the same ad unit for a week, then compare fill rate and revenue. A partner with a genuinely competitive take rate should show fill rate and win rate roughly consistent with its normal patterns. A partner whose fill rate collapses dramatically under a floor that a competitor handles fine is often relying on winning cheap, low-quality bids that a transparent yield strategy wouldn't need, which is its own kind of hidden cost even if the take rate itself is technically disclosed.
Contract Language That Signals A Partner Plans To Stay Opaque
Take rate disclosure isn't just a conversation, it should be somewhere in writing before you sign. I've reviewed enough insertion orders and reseller agreements to know the specific phrases that show up right before a publisher gets an unpleasant surprise six months in. None of these phrases are illegal. They're just vague in a way that benefits exactly one side of the relationship.
The audit rights clause is the one I flag hardest, because it's the one publishers give up without realizing it. If your contract doesn't explicitly give you the right to request impression-level logs or a revenue reconciliation on demand, you have no mechanism to ever verify what you're being told, no matter how confident the partner sounds on a call. Push for that clause specifically, even if you never plan to use it, because a partner willing to grant it has nothing to hide, and one who resists it usually does. I've had partners agree to every other contract term without friction and then quietly try to strike the audit rights clause during redlines, which tells you more about their actual intentions than anything said on the sales call.
- "Net revenue share" with no definition of what's netted out before the split
- "Fees may apply" language that never names the fee, the amount, or when it's assessed
- No audit rights clause: you can't request log-level data even if you ask for it
- A most-favored-nation clause locking your rate without any matching transparency requirement on their side
- Auto-renewal terms paired with no scheduled rate review or renegotiation checkpoint
- Reporting delivered only as a dashboard total, with contract language blocking API or raw log access
Complex Fee Structures Aren't Automatically A Black Box
Not every complicated fee structure is a hidden margin. Some of it is genuinely necessary. A deal running through a data management platform for audience targeting carries a real data licensing cost, often $0.10-0.40 CPM, that has to come from somewhere in the stack. Ad serving itself costs money to operate at scale, and a partner passing through a small per-impression ad server fee, clearly labeled, is being honest about a real cost rather than padding an undisclosed margin.
Volume-tiered pricing is another example that gets mistaken for opacity. A partner might genuinely offer an 18% take rate under $50,000 in monthly revenue and 14% above that threshold, because their fixed operating costs get spread across more impressions at scale. That's a real economic relationship, not a trick, as long as the tiers and thresholds are written down and the partner can tell you exactly which tier you're in at any given moment without hesitation.
The test isn't complexity, it's explainability. A legitimate structure survives a follow-up question. You ask why the take rate differs between two deal types, and you get a coherent answer about risk, data costs, or guaranteed volume. A black-box structure doesn't survive the follow-up. The explanation gets vaguer, not clearer, and eventually lands on some version of "that's just our standard rate," which is not an answer, it's a stop sign. Legitimate complexity invites more questions; a black box discourages them, usually by making the conversation feel slightly uncomfortable on purpose.
Why Transparent Partners Improve Your Yield And Opaque Ones Plateau
Here's the mechanism that actually matters long-term. A partner whose take rate you can see has exactly one lever left to compete on: your actual yield. They can't win the relationship by obscuring the split, so the only way to keep growing their revenue is to grow yours, through better floor optimization, better demand pathing, faster bid response times. I've watched transparent partners proactively flag underperforming ad units and suggest layout changes because a 10% lift in my client's revenue is a 10% lift in theirs, visibly and provably.
An opaque partner has the opposite incentive. Once the account is retained, additional yield work costs them money and margin they can otherwise keep quietly. I've seen accounts sit at the same $1.80-2.00 RPM for 18 months on an opaque network, not because that's the ceiling for the traffic, but because nothing was forcing anyone to push past it. When that same publisher moved 40% of demand to a disclosed-margin partner, blended RPM moved to $2.35 within two quarters, largely from yield work the old partner had no reason to do. None of this required a new ad format or a technology upgrade. It was almost entirely a function of who had a reason to try harder.
This is why the gap between transparent and opaque partnerships widens rather than staying flat. Every quarter, the transparent partner is optimizing and the opaque one is holding steady at the minimum required to avoid churn. Run that forward 18-24 months and a relationship that looked like a rounding difference in year one can become a 15-20% RPM gap by year two, purely from the difference in what each side was incentivized to do with your inventory.
Where Traffic Quality Fits Into The Transparency Question
Transparency isn't only about the percentage a partner keeps, it extends to how they handle traffic quality, and this is where a lot of publishers get caught off guard. A partner that's vague about take rate is very often equally vague about how it screens for invalid traffic, because both come from the same unwillingness to show its work. Ask for the IVT rate they're seeing on your traffic specifically, not an industry average, and ask what percentage of flagged impressions still generate revenue that gets deducted from your payout after the fact rather than before it's reported. Both metrics tend to move together more often than publishers assume, and a partner that keeps them separate on purpose is usually doing so for a reason.
This matters more than it sounds like it should, because traffic quality issues on the demand side can masquerade as a take-rate problem. If a partner is buying cheap, junk-quality bids to inflate fill rate, your reported RPM might look fine while your traffic quality signals, session depth, viewability, post-click behavior from that demand source, quietly degrade. A transparent partner will show you quality metrics alongside revenue metrics without being asked twice, because they're not worried about what the combination reveals.
- IVT/bot rate specific to your inventory, not an industry-wide average
- Post-bid viewability rate broken out by demand partner, not blended
- Percentage of impressions from that partner triggering downstream ad quality complaints
- Whether flagged invalid traffic revenue is deducted before or after it's reported to you
How We Handle Take-Rate Disclosure In Practice
On the deals I structure directly, the take rate is written into the agreement in plain numbers, tiered by deal type, and the client gets log-level access on request from day one, not after a dispute. That's not a unique innovation on my part; it's just the baseline I think every publisher should be able to get from any partner, and I hold my own arrangements to the same standard I'm asking you to apply to everyone else's. It's not a differentiator I'd claim credit for, it's closer to a floor that shouldn't be unusual in the first place.
If you want a second set of eyes on a contract you're already signed to, or you want to walk through what your own blended take rate probably looks like based on your reporting, that's a conversation worth having before a renewal date sneaks up on you. I'd rather talk through your current partnerships now, with time to renegotiate or switch, than after you've locked in another 12 months at a rate nobody can actually explain to you.
Don't wait for a renewal date to ask the take-rate question. Ask it this week, in writing, of every partner currently touching your inventory. If even one deflects, dodges, or answers in a range wide enough to drive a truck through, that's your answer. Audit first, negotiate second, and only sign with partners willing to put the number on paper.
Frequently Asked Questions
Written by Ismael Inacio
Founder, Ismael Ads
15+ years helping publishers across LATAM, North America and Europe grow ad revenue through Google AdSense, Ad Manager, AdX and header bidding. Every article here comes from work inside real publisher accounts, not secondhand research.