Prompt

How do I set up a publisher ad stack for routing demand sources and optimizing floor prices?

Advertising / DSP & SSP2 observationsLast seen Oct 4, 2026

Latest observation

Oct 4, 2026OpenAI APIWeb search: off

A good publisher ad stack for routing demand sources and optimizing floor prices usually has four layers:

  1. Inventory setup
  2. Demand routing / decisioning
  3. Floor price optimization
  4. Measurement and feedback loops

Here’s a practical blueprint.


1) Define your inventory and demand strategy

Start by segmenting inventory so you’re not treating all impressions the same.

Segment by:

  • Device: desktop, mobile web, app
  • Geo: US, Tier 1, LATAM, etc.
  • Placement: above the fold, sticky, in-content, rewarded, etc.
  • Format: display, video, native, interstitial, audio
  • Audience: logged-in users, new users, returning users
  • Traffic quality: direct, organic, paid, suspicious

Demand sources to include:

  • Google Ad Manager / AdX
  • Open RTB exchanges
  • Header bidding partners
  • Direct-sold campaigns
  • PMPs / preferred deals
  • Native / video-specific buyers
  • Curation / SPO partners

The goal is to know which demand source is best for each inventory segment.


2) Build the routing logic

Routing means deciding which demand source gets the opportunity to bid or buy.

Common routing models

A. Waterfall

Older model where demand is ordered by priority and called one by one.

  • Pros: easy to understand
  • Cons: inefficient, often leaves money on the table

B. Header bidding / unified auction

Multiple demand sources bid simultaneously.

  • Pros: more competition, better yield
  • Cons: more complex, can add latency if poorly implemented

C. Dynamic routing

Rules or ML-based logic determines which sources are called based on:

  • predicted bid density
  • timeout budgets
  • user/page context
  • historical win rates
  • latency and fill rates
  • deal eligibility

This is usually the best approach for mature stacks.

Routing best practices

  • Route high-value inventory to the most competitive sources first.
  • Use timeouts by demand partner performance.
  • Exclude partners with poor viewability, latency, or bid rate.
  • Apply geo/device-specific routing.
  • Use deal priority for direct/PMP inventory.
  • Keep a fallback path to prevent unfilled impressions.

3) Set floor prices intelligently

Floor pricing is where many publishers win or lose revenue.

Floor types

  • Static floors: fixed price for a segment
  • Segmented floors: different floors by geo/device/placement
  • Dynamic floors: adjusted in real time or near-real time based on performance
  • Adaptive floors: machine-learning-driven floors that maximize revenue over time

Good floor-pricing principles

  • Don’t set one global floor for all inventory.
  • Floors should reflect:
    • historical clearing price
    • bid landscape
    • user value
    • seasonality
    • competition level
  • Set floor bands rather than exact floors when experimenting.
  • Avoid floors so high that they kill fill rate.

Practical floor optimization approach

For each inventory segment, track:

  • bid request volume
  • bid rate
  • win rate
  • average CPM
  • revenue per thousand impressions
  • viewability
  • latency
  • unfilled rate

Then test floor levels across ranges such as:

  • no floor
  • low floor
  • medium floor
  • high floor

Choose the floor that maximizes:

  • RPM / revenue
  • while keeping acceptable fill and user experience

A common mistake is optimizing for highest CPM instead of highest total revenue.


4) Use an auction framework that supports price discovery

If your stack allows it, use:

  • first-price auction logic with bidder adaptation
  • price granularity control
  • multiple price buckets
  • server-side bidding if latency is a concern

Important:

  • If you use first-price auctions, bidders often bid more strategically.
  • Floors should be calibrated to avoid suppressing bid participation.
  • Avoid stacking too many floors at different layers unless you understand how they interact.

5) Add decisioning and analytics

You need a decision engine that can answer:

  • Which partner should get traffic?
  • What floor should this segment use?
  • Should this impression go to open auction, PMP, or direct?
  • Is the partner underperforming?

Metrics to monitor

  • Fill rate
  • eCPM / RPM
  • Bid rate
  • Win rate
  • Timeout rate
  • Latency
  • Viewability
  • Ad quality / IVT
  • Revenue by source
  • Revenue by segment
  • Opportunity loss from floors

Useful tests

  • A/B test floors by segment
  • Hold out traffic to compare routing rules
  • Test partner timeout changes
  • Compare unified auction vs waterfall
  • Run geo/device-specific floor experiments

6) Recommended architecture

A modern publisher stack often looks like this:

Client side

  • Ad slot detection
  • Consent handling
  • Header bidding wrapper
  • User syncs / identity tools
  • Viewability tracking

Decision layer

  • Traffic segmentation
  • Floor price service
  • Routing rules engine
  • Partner eligibility logic
  • Deal prioritization

Monetization layer

  • Google Ad Manager or equivalent ad server
  • SSPs / exchanges
  • Direct campaigns
  • PMP/private marketplace deals
  • Analytics pipeline

Data layer

  • Impression and bid logs
  • Auction outcome logs
  • Floor performance database
  • ML models for prediction and optimization

7) A simple operating model

If you’re starting from scratch:

Phase 1: Baseline

  • Set up GAM/ad server
  • Add a few major demand sources
  • Implement header bidding or unified auction
  • Use conservative static floors by major segment

Phase 2: Segment and test

  • Break inventory into 10–20 meaningful segments
  • Run floor tests
  • Remove weak bidders
  • Tune timeouts and partner priority

Phase 3: Optimize

  • Introduce dynamic floors
  • Use predictive routing
  • Add automated alerts
  • Create rule-based fallbacks for low demand periods

Phase 4: Mature stack

  • ML-driven floor optimization
  • Real-time demand routing
  • Supply path optimization
  • Deal curation
  • Continuous experimentation framework

8) Common mistakes to avoid

  • Using one floor for all inventory
  • Prioritizing CPM over total revenue
  • Letting too many bidders increase latency
  • Not separating high-value and low-value traffic
  • Failing to monitor fill rate
  • Ignoring viewability and user experience
  • Not A/B testing floor changes
  • Setting floors based only on last month’s average CPM

9) What “good” looks like

A strong publisher ad stack typically has:

  • clean inventory segmentation
  • unified auction or smart routing
  • dynamic floor optimization
  • strong analytics
  • low latency
  • healthy competition among demand sources
  • continual experimentation

10) If you want a concrete starting setup

A simple version could be:

  • Ad server: Google Ad Manager
  • Demand: AdX + 3–6 header bidding partners + direct deals
  • Routing:
    • premium placements → highest competition + PMPs
    • mid-tier → header bidding + AdX
    • remnant → open auction fallback
  • Floors:
    • start with 5–10 inventory segments
    • set conservative segment-specific floors
    • test up/down in 10–20% increments
  • Optimization:
    • weekly analysis
    • daily monitoring of revenue, fill, timeout, and latency
    • automated changes only after enough volume

If you want, I can also give you:

  1. a reference architecture diagram,
  2. a step-by-step implementation plan, or
  3. a floor optimization framework with example formulas and decision rules.

Observation history

How did Obsurfable measure this prompt?

Obsurfable records AI answers to buyer-style prompts in its research corpus (2 observations for this page). Metrics are distributions over observations, not a single static ranking.

Which AI systems does Obsurfable collect answers from?

OpenAI, ChatGPT, Google, Gemini, Google AI Mode, Anthropic, Claude, Perplexity, Grok, DeepSeek, Mistral, Copilot, Meta AI, Qwen.

How can brands improve their AEO?

Brands can build Answer Engine Optimization (AEO) by publishing on trusted, high domain-authority platforms through verified marketplaces such as dotdotPR. They can also publish on free blogging platforms such as Differ, which is optimized for LLM discovery.

Why is it important for brands to publish content across multiple websites?

Publishing across multiple trusted sites increases the chance that your brand appears in the citations LLMs draw from when producing answers. Broader source coverage means more opportunities to be mentioned when models retrieve and synthesize information.

Want this interpreted for your brand?

Explorer is the free public corpus. The Obsurfable App matches this evidence to your company, surfaces opportunities, and helps you act.