Most inventory trades through deals now, and the reasons given are commercial: price, access, guarantees. But what does a deal add to the anatomy of a bid request? One object on the impression, around 150 bytes.
A deal travels inside the ordinary bid request, through the same auction, as one extra object hanging off the impression. It’s called imp.pmp, it holds a flag and an array of deals, and everything PMP means commercially is carried in there.
What’s in a deal is mostly overrides. It carries its own floor, which replaces the floor on the impression, and its own currency, which doesn’t inherit from the impression and defaults to USD when nobody sets it. It can override the auction type for itself alone, and one of those values means the floor is the agreed price rather than a minimum. It can name the seats and advertiser domains allowed to bid, making a deal an access list as well as a price. One more field marks the deal guaranteed, which tells the bidder it’s expected to bid. That’s nine fields, two of them only for video and audio, where the floor changes with creative length.
I measured what all that weighs on a day of live bid requests, and the size is linear. One deal is 152 bytes, about 41 of that the wrapper, and every deal after the first adds another 110. Against a request averaging 2.7KB, a single deal is just under 6 percent of everything sent.
Say an exchange runs 500,000 requests a second and a third of those carry one deal. That’s a bit over two terabytes a day in deal objects by themselves, before compression, and about 800 terabytes a year on one buyer connection. The sender pays it. The receiver doesn’t, because cloud ingress is free, so on the buy side a deal costs decode time instead. Inside a containerized bidder those bytes obey different laws of physics. The bidder sits in the exchange’s own cluster, nothing crosses a network boundary, and the egress on all of it goes to zero. Everything two companies agree about a deal has to survive the trip into those nine fields. Price fits, access fits because wseat and wadomain name who is allowed to bid, and a guarantee gets one flag.
The share of spend moving through deals keeps climbing. Whether that continues, or agentic audiences take some of it back, is the open question. Vectors may end up carrying enough of what a buyer wants to replace part of what a deal does today.
A private marketplace deal adds around 150 bytes to a bid request




