How Demand Works

Inlay does not sell advertising directly. Every impression is filled through real-time header bidding across a network of premium native SSPs. This page explains how demand reaches your pages and what levers you have to control it.

Overview

When a visitor loads a page with an approved Inlay placement, the serve endpoint simultaneously sends bid requests to all configured SSPs. Each SSP has up to 450 ms to respond; a hard timeout of 500 ms ensures page performance is never compromised. The highest valid bid above your floor CPM wins. The entire auction completes server-side before the HTTP response is returned to the embed script — there is no client-side auction step.

This architecture — server-side header bidding — maximises yield by exposing each impression to multiple demand sources simultaneously rather than routing through a sequential waterfall. Every SSP competes on equal footing for every impression.

SSP network

Inlay aggregates demand from native-capable SSPs across two tiers:

Direct integrations

Taboola and Outbrain are integrated directly via their own Prebid Server endpoints. These are the two largest native content platforms globally and typically deliver the highest CPMs for content-adjacent inventory.

Prebid Server pools

Additional SSPs are accessed via hosted Prebid Server (PBS) instances. A single PBS request fans out to multiple bidder adapters simultaneously — meaning one request to the AppNexus PBS endpoint can solicit bids from TripleLift, Sharethrough, GumGum, Index Exchange, and others concurrently.

SSPDemand typeBest for
TaboolaContent recommendation, direct nativeHigh-traffic content and news sites
OutbrainEditorial native, content discoveryPremium long-form editorial inventory
TripleLiftNative-only programmaticContent, blog, and article placements
SharethroughNative-first programmaticNews sites and editorial publishers
TeadsPremium native and in-read videoLong-form content, premium audiences
GumGumContextual native, in-imageImage-rich content pages
SovrnBroad programmatic native fillBlog, content, and niche editorial sites
Index ExchangePremium programmatic nativeQuality-focused inventory
33AcrossNative programmatic fillContent and lifestyle sites

Not every SSP listed here is active by default — each requires a publisher account and platform-level configuration. SSPs that are not configured are silently excluded from auctions.

Auction mechanics

The auction runs as a first-price sealed-bid auction: each SSP submits its best bid independently without knowledge of competing bids. The highest bid above the placement's floor CPM wins, and the winning SSP is charged exactly its submitted price — there is no second-price adjustment.

Timeline per impression

  • 0 ms — serve endpoint receives the request from the embed script
  • 0–450 ms — all SSPs receive bid requests and have up to 450 ms to respond
  • 450–500 ms — bids collected; auction runs; winner selected
  • 500 ms (hard cap) — any SSP that has not responded is excluded from this auction
  • Post-auction — win notification (nurl) fired asynchronously; impression recorded; response returned

Win notification

When an SSP wins, Inlay fires its win notification URL (nurl) asynchronously after returning the impression response. This is an OpenRTB standard mechanism that confirms delivery to the SSP and triggers billing on their side.

Native creatives

SSPs supply native creatives structured per IAB Native Ad Specification 1.2. A winning bid includes:

AssetRequiredDescription
Title (headline)YesUp to 90 characters. The primary ad headline.
ImageYesMinimum 300×200 px. Main creative visual.
BodyYesUp to 120 characters. Supporting description text.
Sponsored labelYesDisclosure label required by IAB policy (e.g. "Sponsored").
IconNoSmall thumbnail, typically a brand logo.
CTANoCall-to-action label (e.g. "Learn more").

Inlay's serve endpoint renders creatives server-side by substituting these assets into your approved template. HTML entity escaping is applied to all creative content before insertion, regardless of what the SSP supplies.

Controlling demand with floor CPM

The primary lever publishers hold over which demand sources serve is the floor CPMon each placement. Any bid below the floor is excluded from that impression's auction. A higher floor improves revenue per impression but reduces fill rate — if no SSP clears the floor, a house ad is shown instead.

Publishers may also maintain a per-placement SSP blocklistto exclude specific demand sources from a given placement — useful if a particular SSP's creative quality is not a fit for your audience.

See Floor Price for recommended values by content type and ad format.

ads.txt

SSPs verify publisher authorisation through the IAB ads.txt standard before bidding on inventory. Your domain must host an ads.txtfile authorising Inlay as a seller, plus reseller declarations for each SSP in Inlay's network. Without it, most SSPs will decline to bid entirely.

Inlay generates a site-specific ads.txt file automatically. From your site detail page, click ads.txt to see the exact lines to add to your domain. Publishers on Next.js can configure a rewrite rule to serve the file dynamically — instructions are provided inline in the dashboard panel.

ads.txt is the most common cause of zero fill

A missing or incomplete ads.txt is the first thing to check if a newly onboarded placement is not generating any revenue. Verify the file is reachable at https://yourdomain.com/ads.txt before investigating other causes.

House ad fallback

When no SSP bid clears the placement's floor — whether because no SSPs are configured, all bids were below the floor, or all SSPs timed out — Inlay renders a house ad promoting the Inlay platform. The house ad is rendered into your approved template using the same injection mechanism as real creatives; from the browser's perspective it is indistinguishable.

House ad impressions do not generate revenue and are excluded from SSP impression breakdowns in the earnings dashboard. A consistently high house ad rate typically indicates one of three issues: ads.txt is missing or incomplete, the floor CPM is set above the market rate for your audience, or the relevant SSPs have not yet been onboarded.