Flattened Bid Requests help third-party bidders make smarter decisions and understand what types of creatives are eligible on bid requests. By flattening bid requests, the publisher's queries are separated into distinct individual bid requests to make it easier for third-party bidders to understand and bid on RTB inventory. For detailed developer documentation, see the Authorized Buyers Real-Time Bidding (RTB) Protocol.
Instances where you would flatten bid requests:
Video ad pods
Can I opt-out of this?
No, there is no option to opt-out of this type of bid flattening. Video ad pods represent a very small portion of inventory which have minimal impact on QPS. Additionally, they truly are individual ad opportunities and therefore there is no reason to opt-out.
Deal types
- Programmatic Guaranteed deals: Infrequent and should not have a significant impact on queries per second (QPS)
- Preferred deals: More frequent than Programmatic Guaranteed deals and is likely to be responsible for any increases in QPS
- Private Auctions and Open Auctions: Private Auctions are targeted based on Open Auction parameters. Both Private Auctions and Open Auctions will always have the same targeting, therefore this targeting is sent as a single bid request
If skippability
and max_ad_duration
conflict across deal type, then they will only appear in the bid request of the deal type that they are attributed to (all_sizes
will appear in all bid requests).
Can I opt-out of this?
Yes, you can opt-out of bid flattening for deal types by going to RTB Keys Disable Deal type Flattening and checking "Disables flattening of bid requests based on deal types."
Formats
Can I opt-out of this?
Yes, you can opt-out of bid flattening for formats by going to RTB Keys Allow Bid Requests with Multiple Formats and unchecking "Allows the bidder to receive a bid request with multiple formats."
If you want to correlate the individual bid requests together to a unique publisher query for offline analysis or bidding, pay attention to the field google_query_id in Google Protocol or OpenRTB extensions. This will be the same across all flattened requests: