Anatomy of a Bid Request: What Data Advertisers See Before They Bid

Every programmatic ad you have ever seen was preceded by a small burst of data called a bid request — a structured message that describes an available ad slot and asks buyers what they will pay for it. Understanding what is inside that message is one of the fastest ways to get better at real-time bidding, whether you are buying traffic or selling it. In this post we will walk through the fields in a typical bid request, explain what each one means in practice, and show how advertisers and publishers can each use that knowledge to make more money.

What a Bid Request Actually Is

When a visitor loads a page that carries your ad code, the publisher's supply-side technology packages up everything it knows about that impression opportunity and sends it out to buyers. That package is the bid request. Buyers have a few milliseconds to read it, decide whether the impression matches their targeting, calculate a price, and respond with a bid — or pass.

Most of the industry speaks a shared language for these messages called OpenRTB, a specification maintained by the IAB Tech Lab. It exists so that thousands of buyers and sellers can trade without negotiating a custom format for every connection. If you have read our introduction to real-time bidding, the bid request is the concrete artifact behind that whole process.

The key thing to internalize: your targeting settings are not magic. They are filters applied to the fields in this message. If a signal is not in the bid request, you cannot target on it.

The Main Objects Inside a Bid Request

A bid request is organized into a handful of objects, each describing a different dimension of the opportunity.

1. The Impression Object

This describes the ad slot itself — the thing you are actually buying:

  • Format and dimensions: Is this a banner, a popunder, an interstitial, a native unit, or a video slot? For display formats, the accepted creative sizes are listed here.
  • Position: Whether the slot is above or below the fold, which is a meaningful predictor of viewability.
  • Floor price: The minimum CPM the publisher will accept. Bid below it and your response is discarded before it ever reaches the auction.
  • Auction type: Whether the exchange is running a first-price or second-price auction, which changes how you should calculate your bid.

2. The Site or App Object

This tells you where the ad will appear:

  • Domain and page URL: The single most valuable field for most media buyers. It powers whitelist and blacklist targeting and lets you build placement-level performance reports.
  • Content category: Standardized category codes describing the site's subject matter — the raw material for contextual targeting and brand safety filtering.
  • Publisher identifier: Which seller is offering the impression, which ties back to the transparency chain described in our post on ads.txt and sellers.json.

Note that some inventory is sold as "semi-transparent," where the domain is masked or partially hidden. That is a signal worth weighing carefully — buyers generally pay less for inventory they cannot identify.

3. The Device Object

This is the technical fingerprint of the user's hardware and connection:

  • Device type (desktop, mobile, tablet), make, and model
  • Operating system and version
  • Browser and user agent string
  • Screen dimensions
  • IP address, which resolves to geography and connection type
  • Carrier or ISP, useful for the carrier-level targeting that mobile offers often depend on

Device data drives an enormous share of campaign optimization. An offer that converts beautifully on Android over mobile data can be a total loss on desktop Wi-Fi, and the device object is where you draw that line.

4. The User Object

This carries whatever identity and audience information the publisher is permitted to share — an anonymous identifier, coarse demographic hints, or audience segment memberships. In practice, this object has shrunk dramatically over the past few years as third-party cookies were deprecated and privacy regulation tightened. Many bid requests today carry very little user data at all, which is exactly why contextual and device signals have become more important. Our guide to privacy compliance in ad tech covers the rules governing what can legally appear here.

5. The Geo Object

Country, region, city, and sometimes postal code or approximate coordinates, derived from the IP address or supplied directly by the device. This is the foundation of every geographic targeting strategy you run.

Modern bid requests include flags indicating whether the user falls under GDPR, CCPA, or similar frameworks, along with an encoded consent string. Responsible buyers honor these flags. Ignoring them is not a competitive advantage — it is a compliance liability.

How Advertisers Should Use This

Once you see targeting as filtering on bid request fields, several practical habits follow.

Target on the fields that carry real signal. Domain, device type, OS, geography, and connection type are present on nearly every request and are highly predictive. Start there before layering on narrower filters.

Do not over-filter. Every targeting condition you add shrinks the pool of eligible requests. Stack six narrow filters and you may reduce your reachable inventory to a trickle, starving the campaign of the volume it needs to learn anything. Add filters one at a time and watch what happens to your win volume.

Read missing data as data. A request with a masked domain, an implausible user agent, or a mismatch between the stated device and the connection type is telling you something. These are precisely the patterns that fraud filtering systems examine, as we described in our post on protecting campaigns from fraudulent traffic.

Build your bid price from the request. Not every impression is worth the same amount. A mobile impression in a tier-one country on a known domain deserves a different bid than an anonymous desktop impression from a low-converting geo. Bidding a single flat CPM across all of them means overpaying for weak inventory and losing the good stuff.

How Publishers Should Use This

Publishers are the ones assembling the bid request, and the quality of what you send directly shapes what you earn.

Pass complete, accurate data. A request that clearly identifies your domain, declares real dimensions, and includes proper device and geo data will attract more bidders and higher prices than a sparse or ambiguous one. Buyers discount uncertainty.

Declare your inventory honestly. Mislabeling a below-the-fold slot as above-the-fold, or an app impression as web, produces a short-term bump and a long-term collapse in buyer trust. Sophisticated buyers measure post-bid outcomes and will blacklist sellers whose requests do not match reality — which feeds directly into your traffic quality score.

Set floors deliberately. Your floor price travels inside every impression object. Set it too high and you filter out bidders who might have won; too low and you leave money on the table on your best inventory. Test in small increments and measure both fill rate and average CPM together.

Keep consent plumbing working. A broken consent string can cause compliant buyers to skip your inventory entirely in regulated markets. That is a silent revenue leak that is easy to miss and easy to fix.

Conclusion

The bid request is where the abstract idea of programmatic advertising becomes concrete. It is a compact description of a person, a page, and an ad slot — and every targeting decision, bid calculation, and optimization you make is ultimately a decision about what to do with those fields. Advertisers who read requests carefully bid more precisely. Publishers who send clean, honest requests earn more per impression. Both sides win when the data is good.

Ready to put this into practice? Sign up as an advertiser at Squren.com to access granular targeting across domain, device, geography, carrier, and more — or join Squren as a publisher and start monetizing your traffic on an RTB platform built for transparency. Our 24/7 support team is always available to help you configure targeting or optimize your ad setup.