Real Time Bidding Explained: The Auction Behind Every Impression

Real time bidding is an automated auction that sells one ad impression to one advertiser while the page is still loading. Each impression is auctioned separately, at the moment it becomes available, and the winning creative is delivered before the visitor sees the page settle. Nothing about the price is agreed in advance: there is no signed contract for a placement, no fixed CPM and no rate card, because the price of each impression is decided inside the auction itself.
What Real Time Bidding Means
Real time bidding, or RTB for short, is that same auction described as a buying model: ad inventory is bought one impression at a time rather than one placement at a time, and it is the mechanism most programmatic advertising runs on.
The shift it created is easy to state. Buying a placement means paying for a slot on a site for a period of time. Buying through RTB means paying for one person, once, on whatever site that person happens to be on. Targeting describes the audience and the context, and the property becomes secondary.
The transaction runs on OpenRTB, the bidding protocol maintained by IAB Tech Lab, which defines the format of the request a publisher sends and the response a bidder returns. It became an IAB Tech Lab standard in January 2012 and has been the common language of open auctions since. AdsCompass has been a member of IAB since 2019 and runs its auction on OpenRTB.
How RTB Relates to Programmatic Advertising
Programmatic advertising covers everything bought through software rather than negotiation, and RTB is one method inside it: the open auction, where any eligible buyer can bid on any impression. The rest fix terms in advance - a private marketplace (PMP) deal limits bidding to named buyers, a preferred deal gives one buyer a fixed price and first refusal, and programmatic guaranteed locks volume and price like a traditional media buy. This guide covers the open auction.
Who Takes Part in an RTB Auction
Five roles, each with one job. The publisher owns the page or app where the impression appears. The supply-side platform packages that impression and offers it for sale. The ad exchange receives the offer, runs the auction and picks a winner. The demand-side platform decides on the buyer's behalf whether the impression is worth a bid and how much. The advertiser sets the budget, the targeting and the ceiling the DSP bids within.
Every impression passes through all five in the time a page takes to load, and each handoff costs milliseconds the auction does not have to spare.
On AdsCompass the three middle roles sit in one engine, ADMY Platform, which holds the supply side, the demand side and the auction together. For a self-serve advertiser that removes a layer: your bid enters the same auction as the external DSPs connected to the exchange, without a second platform in between taking a cut and adding latency.
How an RTB Auction Works, From Bid Request to Rendered Ad
- A visitor opens a page or app that carries an ad slot.
- The publisher's ad code fires a bid request describing the impression - country, device, browser, connection, and the source it came from.
- The exchange broadcasts that request to every eligible bidder.
- Each bidder decides whether the impression is worth buying and returns a bid response with a price and a creative.
- The exchange compares the bids and picks the highest eligible one.
- The winning creative is returned to the page and rendered.
- The outcome is reported back to the winner through tracking macros.
A real time bidding auction in practice looks like this. Someone in Germany opens a news site on an Android phone, the page offers one slot, and the request goes out describing a German Android user on a mobile carrier. Bidders holding German offers answer with prices; the highest wins; the creative loads. The visitor sees one banner and none of the machinery behind it.
The whole real time bidding process closes before rendering finishes - that is what the "real time" in real time bidding refers to. The deadline travels with the request: the exchange states in it how many milliseconds a bidder has to answer, and a response arriving after that is discarded even when it carried the highest price.
What Travels Inside a Bid Request
The bid request carries the attributes a bidder is allowed to price against: country and city, device type, operating system and version, browser and version, ISP or mobile carrier, browser language, connection type, and the source ID of the traffic source. On AdsCompass these are exactly the fields available in campaign targeting, because targeting is a filter applied to the request.
OpenRTB gives each of those attributes a fixed name, so every exchange on the protocol describes the same impression in the same terms - the naming is set out in the published specification.
A bid request carries no login, no email address and no name. It does carry an IP address and a user agent - the two fields that make frequency capping and proxy filtering possible at all. On the Push side there is a further step before any of it happens: the visitor grants the browser subscription themselves, and no push ad reaches anyone who has not opted in.
Once the auction closes, AdsCompass returns the outcome through macros: campaign ID, creative ID, price, IP, source ID, user agent and click ID. The price macro is the one advertisers ask me about most often, because it lets a tracker store the cost of each event next to the conversion that event produced.
First-Price Auction: You Pay the Bid You Set
AdsCompass runs a first-price auction, which means the winning advertiser pays the amount they bid. There is no second-price step down to one increment above the runner-up.
Three bids arrive for one push ad impression: $0.004, $0.003 and $0.002. The first wins and pays $0.004. In a second-price auction the same advertiser would have won and paid $0.0031 - the runner-up's bid plus the minimum increment of $0.0001. That $0.0009 difference goes to the supply side with the rest of the winning bid, and none of it comes back to the advertiser.
| Auction rule | First-price | Second-price |
|---|---|---|
| What the winner pays | The full bid submitted | One increment above the runner-up |
| Effect of overbidding | Paid in full, every time | Partly absorbed by the mechanism |
| Cost recorded per event | Equals the bid exactly | Settles somewhere below the bid |
| Used by AdsCompass | Yes | No |
The practical consequence is that a bid has to be chosen, not guessed. Under second-price the mechanism forgives a careless ceiling; under first-price that ceiling is what you pay. It also makes cost arithmetic exact - since the winner pays the bid, source-level and campaign-level costs are real numbers instead of estimates that settle later.
Why RTB Matters for Advertisers and Publishers
Both sides get pricing that follows the individual impression, not a negotiated average. For an advertiser that means budget flows toward the specific users, GEOs and sources that perform, and stops flowing the moment they stop performing, with no placement contract left to run out. For a publisher it means each impression goes to whoever values it most at that second, and not to whoever signed a fixed rate last quarter.
| Direct buy | Real time bidding | |
|---|---|---|
| What you buy | A placement for a fixed period | One impression at a time |
| Price | Agreed before anything runs | Decided by the auction |
| Who you reach | Whoever visits that site | Users matching your targeting |
| Commitment | Contract and minimum volume | None |
| When you learn the cost | In advance | Once the auction closes |
The cost of that flexibility is predictability. An auction price is a result, so nobody can quote you a CPC for next month; the same Push slot on the same site clears at different prices on a Tuesday morning and a Saturday night, because the competing demand changed and nothing else did. An advertiser who needs a guaranteed price for a guaranteed volume is asking for a fixed-price deal type, which is a different product from an open auction.
RTB Pricing: How Much Does an Impression Cost
AdsCompass minimum bids start at $0.0003 per click on popunder traffic and at $0.001 CPM on Banner - two separate scales, because three formats are priced per click and the other five per thousand impressions. Which of the two a format sits on matters more than the figure attached to it.
The pricing model column matters more than the figures. $0.001 on push traffic buys one click; the same $0.001 on Banner buys a thousand impressions. Identical numbers, three orders of magnitude apart in what they deliver, which is why ranking all eight formats by "cheapest" tells you nothing useful.
| Format | Pricing model | Minimum bid |
|---|---|---|
| Pop | CPC | $0.0003 per click |
| In-Page (in-page push) | CPC | $0.0008 per click |
| Push | CPC | $0.001 per click |
| Banner | CPM | $0.001 per 1,000 impressions |
| Rewarded Post | CPM | $0.01 per 1,000 impressions |
| Native | CPM | $0.1 per 1,000 impressions |
| Video Pre-roll | CPM | $0.1 per 1,000 impressions |
| Rewarded Video | CPM | $0.1 per 1,000 impressions |
Why an RTB Floor Bid Is Not the Price You Will Pay
An RTB floor bid is the minimum a bid must reach to enter the auction, and entry is all it buys. What an impression actually costs depends on what other advertisers are bidding at that second, on the audience the site brings in terms of GEO and device, and on the format being sold. In a GEO with real competition a floor bid on popunder ads collects whatever inventory is left once everyone else has been served, which is the weakest part of it - I tell advertisers to read the floor as the cost of entry and budget for a multiple of it. Where demand is thin, the same bid can pick up volume close to the floor, because there is nothing to outbid.

At $0.1 CPM, Native, Video Pre-roll and Rewarded Video are the cheapest route to raw reach and the worst fit for a click-driven test, since on CPM you pay for the impression whether anyone clicks it or not. Test offers on the CPC side, then move volume to CPM once you know what converts.
How to Check Average RTB Bids Before You Spend
The AdsCompass Traffic Calculator, inside the advertiser account, shows average bids and available volume by country (GEO in industry shorthand) and format before a campaign exists. It recalculates from auctions that have already closed, and the median moves constantly with how interested advertisers are in a given GEO and format on that day. It filters by mobile, desktop or all, and it shifts its recommendation to the goal you state - the largest mass of clicks, or the cheapest clicks available.

The tool has one hard limit: the number it reports is a moving average, and no one at AdsCompass can turn it into a quote. Run your GEO through it, compare the average against the format floor above, and treat the gap between them as the range you are bidding into. Registration is free and no deposit is required to open it.
How Mobile RTB Differs: Carrier, OS and Connection Targeting
Mobile and desktop behave as separate markets inside the same AdsCompass auction, because the bid request carries device type, OS version, browser version, carrier and connection type, and advertisers bid on those fields very differently. A campaign that ignores the split pays a desktop-weighted price for mobile inventory, or the reverse.
Carrier and connection-type targeting is the piece advertisers use most on mobile: it isolates cellular traffic from Wi-Fi, which decides whether a carrier-billing or click-to-call flow works at all. Operating system versions are targetable individually, so an offer that breaks on older Android builds can exclude them.
Two AdsCompass formats exist only on mobile - Rewarded Post and Rewarded Video, both running inside Telegram Mini Apps since February 2025. They are bought through the same auction as everything else.
How Much Traffic Goes Through the AdsCompass RTB Auction
AdsCompass delivers more than 8 billion impressions and 60 million clicks a day for 15,000+ active advertisers and 5,000+ active publishers across 200+ countries.
That scale is why a low bid on the AdsCompass ad network still has somewhere to go. With demand spread that wide, a GEO or format one group of advertisers has abandoned is still being offered to everyone else, so a bid close to the floor can still find inventory nobody else is competing for.
What a First RTB Campaign Costs to Run
$50 is the minimum deposit on AdsCompass and the smallest test that will actually run, but the figure I recommend is $500. The reason is source count: an auction this size spreads a campaign across a large number of separate traffic sources, and each one needs enough spend to produce a number you can read - roughly a tenth of your target EPC, adjusted for format.
There is no default daily budget and no platform floor on it. For the initial testing stage one rule holds: $500 allocated over five days is $100 a day on a single campaign. Past that stage I have no general number to offer, because the combinations of targeting and offer are too wide for one figure to carry.
Moderation clears in about 10 minutes, occasionally longer. Adult and iGaming are permitted; violence, weapons and drugs are not. Campaigns get rejected for three reasons in practice: terms-and-conditions violations, an incorrectly entered campaign link, and a link carrying a very large number of VirusTotal alerts - the last is the rejection I see most often on otherwise clean campaigns. Account, funding and payout details sit on the advertiser page.
How to Optimise RTB Bids by Traffic Source
Bids move source by source. The campaign-wide bid is a starting position, and after the first data it should stop being one. Source ID bidding on AdsCompass replaces the single campaign bid with one bid per traffic source ID: the ID list is uploaded in advance and a rule is attached to it.

The pattern I walk advertisers through after two or three days of data is mechanical. Sources with a workable conversion rate get their bid raised, because a higher bid on a proven source wins more of its inventory. Sources delivering volume at a low CTR get their bid cut, so they keep running at a price where they still make sense. Anything with spend and no conversions goes to a blacklist, which can be set by IP, ISP or Source ID.
Underneath that sit the campaign-level exclusions for IPv6 addresses and proxy connections, the Audiences section for retargeting, and S2S postback for returning conversions to the platform.



