User Acquisition

Real-Time Bidding (RTB)

Also known asRTBReal-Time BiddingReal Time Bidding

The auction protocol underlying programmatic advertising — each ad impression auctioned in 50-150 milliseconds via the OpenRTB specification.

Key takeaways

  1. 01RTB = the auction protocol. Each impression auctioned in 50-150ms via the OpenRTB spec (managed by the IAB Tech Lab).
  2. 02Auction types: first-price (winner pays their bid) and second-price (winner pays one cent above runner-up). First-price now dominates after 2017-2019 industry shift.
  3. 03Bid request payload includes: impression metadata, user signals, content context — varies in richness post-ATT on iOS.
  4. 04In mobile apps, RTB happens in-app via SDK or server-to-server — the SDK fires the bid request, exchange runs auction, winning ad renders.

RTB (real-time bidding) is the auction protocol underlying programmatic advertising. Each ad impression is auctioned in 50-150 milliseconds — the SSP fires a bid request, multiple DSPs evaluate and respond with bids, the auction resolves, and the winning creative renders. The OpenRTB specification (managed by the IAB Tech Lab) defines the protocol: what bid requests look like, what fields they include, what bids must return.

The 50-150ms auction timeline

  1. 0ms — user opens publisher app / page. App / page fires ad request to the SDK.
  2. 5-20ms — SSP receives request, enriches with audience data, broadcasts to ad exchanges.
  3. 20-100msad exchange broadcasts bid request to connected DSPs. Each DSP evaluates the request against advertiser targeting rules, calculates a bid price, responds.
  4. 100-130ms — exchange collects bids, runs auction, picks winner.
  5. 130-150ms — winning creative URL returned, ad renders.

Latency above ~150ms causes ad-slot abandonment (the impression times out and renders a fallback). Bidders that respond slowly get penalized — exchanges drop slow DSPs from the auction.

Auction types

RTB in mobile apps

The bid-request payload in mobile includes app ID, ad format, user signals (where available), device signals, geolocation (with permission), content context. Post-ATT on iOS, user-level signals are sharply curtailed — the bid request is much less rich than on Android or pre-ATT iOS.

Common RTB pitfalls

  • Bid timeout: DSPs that respond slowly get dropped from auctions. Maintain response times under 100ms.
  • Stale audience data: bidding against audience signals that were fresh 5 minutes ago and stale now. Real-time audience updates matter.
  • Auction collusion: when multiple bidders share data sources, bids can correlate suspiciously. Anti-collusion analytics in mature DSPs.
  • Bid shading: in first-price auctions, sophisticated DSPs "shade" bids downward based on historical clearing prices — they bid what they expect to win, not their max. Naive bidding overpays.

Quick answers

What is RTB (real-time bidding)?

RTB is the auction protocol underlying programmatic advertising. Each ad impression is auctioned in 50-150 milliseconds via the OpenRTB specification (managed by the IAB Tech Lab). The SSP fires a bid request, DSPs respond with bids, the auction resolves, and the winning creative renders — all before the user notices the page / app finished loading.

How fast does RTB actually happen?

50-150 milliseconds end-to-end. The auction window starts when the publisher fires the bid request and ends when the winning creative renders. Timeouts above ~150ms cause ad-slot abandonment (fallback ad renders instead). DSPs that consistently respond slowly get dropped from auctions by exchanges.

What is the difference between first-price and second-price auctions in RTB?

**First-price**: the winner pays their bid. Industry standard since the late-2010s shift. Forces advertisers to bid strategically — bid shading (bidding what you expect to win, not your max) is now common practice. **Second-price**: the winner pays one cent above the runner-up's bid. Classic eBay-style mechanism, used widely in programmatic until ~2019. Theoretically encourages truthful bidding but proved unstable with header bidding.

How does RTB work inside mobile apps?

Two ways. **SDK-based**: a mediation SDK (AppLovin MAX, ironSource LevelPlay, Admob) embedded in the publisher's app fires bid requests locally and handles the auction. **Server-to-server (s2s)**: the publisher's backend handles bid requests, calling out to exchanges from the server. Bid-request payload includes app ID, ad format, device signals, geolocation, and (where available) user signals — post-ATT on iOS, user-level signals are sharply curtailed.

Back to glossary