How the auction works

How CloudX runs multi-round auctions: line items, priorities, price floors, and round-by-round execution — with interactive simulators.

Most monetization platforms run a single auction per impression opportunity. All bidders compete once, under a single set of conditions.

CloudX takes a different approach: for every impression, it can run multiple auction rounds. Bidders compete head-to-head within each round, while you control which bidders participate in each round and on what terms.

Why it matters

Waterfalls introduced sequencing, but limited competition per impression. Single unified auctions increased competition, but at the expense of publisher control. Multi-round auctions give you the best of both worlds: real-time competition inside each round, and publisher-defined sequencing across rounds.

A single auction where bid price is all that matters has the benefit of simplicity, but that simplicity has costs. When every $60 bid is treated equally — whether the ad is a 120-second non-skippable with a tricky close button or a 30-second skippable with an obvious one — the incentive structure is clear, and ad quality races to the bottom while retention pays the price.

Multi-round auctions unlock things a single auction can’t express:

  • Increased pricing power — higher-value demand competes at higher floors first; lower-value demand is only accessed if needed.
  • Prioritize preferred partners — give preferred demand partners preferred access, based on creative quality, strategic value, demand diversity, or any other reason.
  • Work more flexibly with buyers — structure access on your terms: PMPs, first-party data sharing, custom floors.

The result: more revenue from the same inventory, with the ability to optimize for factors beyond bid price — creative quality, buyer relationships, and user experience.

Line items define the rules

You don’t configure rounds directly. You configure line items, and CloudX groups them into rounds automatically.

A line item is a targeting rule paired with bidder configuration: for requests matching these conditions, invite the specified bidders and reject anything below the stated floor.

FieldWhat it does
PriorityPosition in the sequence, from 1 (called first) to 12 (default: 8)
TargetingWhich requests the line item matches (ad unit, country, OS, connection type, IFA presence, …)
BiddersWhich demand sources compete when this line item is called
Price floorThe minimum CPM a bid must meet to win

Every ad request carries attributes — country, OS, language, connection type, session depth, ATT status. A line item participates only when its targeting matches the request:

Interactive: targeting & line-item matching

Ad request

Click attributes to change the request — line items re-match live.

Country

OS

OS version

Connection

Language

Session depth

ATT

3 of 9 line items match this request

Matching line items become rounds

Matching line items are grouped by priority, and each distinct priority becomes one round, ordered from priority 1 down. Line items sharing a priority share a round, and the effective floor for a round is the minimum across all line items in it:

round_floor
round_floor = MIN(li.price_floor for each li in round)

// Every bidder in a round sees the same floor.
// No bidder-specific adjustments.

Interactive: round formation from line items

Change any line item’s priority or floor and watch it move between rounds. Only the 3 highest matching priorities become rounds.

  1. Round 1priority 1floor $2.00
    • 1Premium US iOS1$4.50
    • 1North America broad1$2.00
    Bidder ABidder BBidder CBidder D
  2. Round 2priority 3floor $1.00
    • 3EU broad3$3.00
    • 3Android modern3$1.00
    • 3JP premium3$5.00
    Bidder CBidder EBidder BBidder FBidder D
  3. Round 3priority 5floor $0.80
    • 5Engaged users5$1.50
    • 5LATAM cellular5$0.80
    • 5KR Wi-Fi5$2.00
    Bidder BBidder EBidder ABidder DBidder F
  4. Never becomes a rounddropped — 3-round limit
    • 8Catch-all8$0.25

4 distinct priorities match, but an auction forms at most 3 rounds — 1 line item in later priorities never enters the auction. Consolidate priorities to bring them back in.

Rounds execute in order

Once rounds are formed, CloudX executes them sequentially:

Enter the highest-priority round

The round with the lowest priority number (closest to 1) runs first.

Send bid requests to all bidders in parallel

Bidding happens server-side, so every bidder in the round sees the request simultaneously.

Reject anything below the floor

Bids under the round’s effective floor are discarded.

Select the highest valid bid

If a valid bid exists, it wins and the auction ends — later rounds are never called. If not, the next round runs. If every round is exhausted (at most 3), the request ends with no fill.

Multi-round auctions operate within latency limits set with fill rates and user experience in mind — sequencing across rounds never means bidders waiting on each other inside a round.

Interactive: multi-round auction execution

Drag the bid and floor sliders — the outcome updates live. The first round with a valid bid ends the auction. Four priorities matched here, but only the top 3 became rounds.

Round 1priority 1
Bidder Ano bid
Bidder Bno bid
Bidder Cno bid
Bidder Dno bid
floor$

No valid bids

Round 2priority 3
Bidder Bno bid
Bidder Cno bid
Bidder Dno bid
Bidder Fno bid
floor$

No valid bids

Round 3priority 5
Bidder Ano bid
Bidder Dno bid
Bidder Fno bid
floor$

No valid bids

Priority 8 · Catch-all (Bidder A, Bidder B, Bidder D) — dropped at round formation: auctions execute at most 3 rounds, so it is never called even when the rounds above go unfilled.

Priority 8 (Catch-all): dropped at round formation — auctions execute at most 3 rounds
--- Round 1 (floor $4.00) ---
Bidder A: no bid
Bidder B: no bid
Bidder C: no bid
Bidder D: no bid
No valid bids. Continuing...
--- Round 2 (floor $2.00) ---
Bidder B: no bid
Bidder C: no bid
Bidder D: no bid
Bidder F: no bid
No valid bids. Continuing...
--- Round 3 (floor $1.00) ---
Bidder A: no bid
Bidder D: no bid
Bidder F: no bid
No valid bids. Continuing...
All rounds exhausted. No fill.

Next steps