What is seat?
A seat is a buyer account, usually an advertiser or agency, on whose behalf a bidder places bids. A DSP serves many seats, each with its own budget and terms, and seat IDs are agreed between exchange and bidder in advance. In OpenRTB, seats appear in allow and block lists on the request and in SeatBid.seat on the response.
Also called: buyer seat, seat ID, bidder seat, wseat, bseat.
How it works
Requests restrict seats at two levels. BidRequest.wseat lists the only seats allowed to bid and BidRequest.bseat lists seats that may not; the spec says to use at most one of the two, and sending neither means no restriction. A deal can narrow eligibility further with Deal.wseat. These IDs mean nothing unless the exchange and the bidder have mapped them to the same accounts beforehand.
On the response, each SeatBid groups the bids made for one seat and names it in SeatBid.seat. The exchange can echo that ID in notices through the ${AUCTION_SEAT_ID} macro, which matters when one bidder endpoint serves many accounts. Setting SeatBid.group to 1 tells the exchange that the seat's bids in that seatbid must win or lose together.
A bid from a seat the request excludes is discarded whatever its price, and exchanges can report it with loss reason 104 (Buyer Seat Blocked). Bidders should filter campaigns against BidRequest.wseat and BidRequest.bseat before pricing. Leaving SeatBid.seat empty on a deal that names allowed seats can fail the same check.
Read more
Related terms
Every term is in the glossary.