Price Floors
Price floors set the minimum CPM a bid must meet in the auction. Bidkernel generates a floors file in the Prebid.js price floors module schema 2 format and hosts it at the edge, where the price floors module fetches it and applies the floors to incoming bids.
Model Groups and Rules Link to section
Floors are organized into model groups. Each group has a model version label (reported in Prebid floors analytics), a weight from 1 to 100 (Prebid samples groups proportionally by weight, which enables A/B testing of floor models), an ordered list of dimension fields, and an optional default floor CPM used when no rule matches. Inactive groups are excluded from the generated file.
A group contains rules: each rule maps one value per dimension field to a floor CPM, with * as the wildcard in any position. Duplicate dimension combinations within a group are rejected.
Document-level settings apply across all groups: an optional skipRate (0–100), an optional ISO 4217 currency (omitted when empty, in which case Prebid defaults to USD), and the floorProvider string, which defaults to bidkernel. Groups can override the currency and skip rate individually.
Supported Dimensions Link to section
A group's schema can use any combination of these dimension fields:
gptSlotadUnitCodemediaType— one ofbanner,video,native, oraudiosize— a width-by-height pair like300x250country— an ISO 3166-1 alpha-3 code (e.g.USA), matched against the visitor's country as resolved by the edge
The Prebid domain field is deliberately excluded: each floors file is already scoped to a single property.
How Floors Deploy Link to section
Price floors deploy through their own pipeline, separate from configuration revisions. Every change to settings, groups, or rules regenerates the file and pushes it to the Cloudflare edge, where it is served at https://{edge-domain}/{property-id}/floors.json. Properties on the Bidkernel managed wrapper pick this endpoint up automatically; the wrapper configuration carries only the URL of the hosted file. Self-hosted Prebid.js setups can point floors.endpoint.url at the same URL. The current file can also be downloaded from the Price Floors page.
Revision History Link to section
Every content change creates an immutable floors revision; identical output is deduplicated by content hash, and the revision with the newest deploy time is what the edge serves. The floors Revisions page shows this history with the live revision marked. You can inspect each revision's raw file and redeploy any previous revision directly, which is how rollbacks work. Deploying an empty revision removes the floors file from the edge.
Enabling and Disabling Link to section
Price floors are toggled per property on the Features page. Disabling the feature publishes empty content, which removes the floors file from the edge so stale floors stop being served; the model groups and rules themselves are kept. Re-enabling regenerates the file from the current groups and rules.