diff --git a/dev-docs/adunit-reference.md b/dev-docs/adunit-reference.md index 1369862c23..5a6967b77a 100644 --- a/dev-docs/adunit-reference.md +++ b/dev-docs/adunit-reference.md @@ -599,9 +599,9 @@ time to set targeting. -### First Party Data +### First Party Data and Floors -Example of an adunit-specific block of first party data: +Example of an adunit-specific block of first party data and a static floor: ```javascript pbjs.addAdUnits({ @@ -612,6 +612,8 @@ pbjs.addAdUnits({ } }, ortb2Imp: { + bidfloor: 1.00, + bidfloorcur: "EUR", ext: { data: { pbadslot: "homepage-top-rect", diff --git a/dev-docs/modules/floors.md b/dev-docs/modules/floors.md index b639d54909..839bfdcd88 100644 --- a/dev-docs/modules/floors.md +++ b/dev-docs/modules/floors.md @@ -58,6 +58,26 @@ Notes: * [Prebid Floor Service Providers](/dev-docs/modules/floors.html#floors-providers) * [Transcript of this video](/dev-docs/floors-video-overview.html) +### Simple Static Floors + +Some publishers just want to set a simple static floor. Please don't use this module for that. This module should only be used when you need to vary the floor by mediatype, size, etc. Here's how you can set static floors on each Prebid adunit: + +```javascript +pbjs.addAdUnits({ + code: "test-div", + mediaTypes: { + banner: { + sizes: [[300,250]] + } + }, + ortb2Imp: { + bidfloor: 1.00, + bidfloorcur: "EUR" + }, + // ... +}); +``` + ## How it Works There are several places where the Floor module changes the behavior of the Prebid.js auction process. Below is a diagram describing the general flow of the client-side Price Floors Module: @@ -298,10 +318,13 @@ Schema 1 restricts floors providers or publishers to applying only one data grou Note: if you're a dynamic floor provider service, your response must be a subset that will be merged under the 'data' object. +{: .alert.alert-warning :} +You **cannot** set the `floorMin` parameter without specifying a `data` object. See the [simple static floor](/dev-docs/modules/floors.html#simple-static-floors) section above for more info. + {: .table .table-bordered .table-striped } | Param | Type | Description | Default | |---+---+---+---+---| -| floorMin | float | The mimimum CPM floor used by the Price Floors Module (as of 4.13). The Price Floors Module will take the greater of floorMin and the matched rule CPM when evaluating getFloor() and enforcing floors. | - | +| floorMin | float | The mimimum CPM floor used by the Price Floors Module (as of 4.13). The Price Floors Module will take the greater of floorMin and the matched rule CPM when evaluating getFloor() and enforcing floors. **Note**: this is not a method of setting a [static floor](/dev-docs/modules/floors.html#simple-static-floors). | - | | floorProvider | string | Optional atribute (as of prebid version 4.1) used to signal to the Floor Provider's Analytics adapter their floors are being applied. They can opt to log only floors that are applied when they are the provider. If floorProvider is supplied in both the top level of the floors object and within the data object, the data object's configuration shall prevail.| - | | enforcement | object | Controls the enforcement behavior within the Price Floors Module.| - | | skipRate | integer | skipRate is a random function whose input value is any integer 0 through 100 to determine when to skip all floor logic, where 0 is always use floor data and 100 is always skip floor data. The use case is for publishers or floor providers to learn bid behavior when floors are applied or skipped. Analytics adapters will have access to model version (if defined) when skipped is true to signal the Price Floors Module is in floors mode. If skipRate is supplied in both the root level of the floors object and within the data object, the skipRate configuration within the data object shall prevail. | 0 | @@ -354,10 +377,13 @@ While some attributes are common in both schema versions, for completeness, all Note: if you're a dynamic floor provider service, your response must be a subset that will be merged under the 'data' object. +{: .alert.alert-warning :} +You **cannot** set the `floorMin` parameter without specifying a `data` object. See the [simple static floor](/dev-docs/modules/floors.html#simple-static-floors) section above for more info. + {: .table .table-bordered .table-striped } | Param | Type | Description | Default | |---+---+---+---+---| -| floorMin | float | The mimimum CPM floor used by the module (as of 4.13). The module will take the greater of floorMin and the matched rule CPM when evaluating getFloor() and enforcing floors. | - | +| floorMin | float | The mimimum CPM floor used by the module (as of 4.13). The module will take the greater of floorMin and the matched rule CPM when evaluating getFloor() and enforcing floors. **Note**: this is not a method of setting a [static floor](/dev-docs/modules/floors.html#simple-static-floors). | - | | floorMinCur | float | Prebid Server only: the currency used for the floorMin value. | - | | floorProvider | string | Optional atribute (as of prebid version 4.1) used to signal to the Floor Provider's Analytics adapter their floors are being applied. They can opt to log only floors that are applied when they are the provider. If floorProvider is supplied in both the top level of the floors object and within the data object, the data object's configuration shall prevail.| - | | skipRate | integer | skipRate is a random function whose input value is any integer 0 through 100 to determine when to skip all floor logic, where 0 is always use floor data and 100 is always skip floor data. The use case is for publishers or floor providers to learn bid behavior when floors are applied or skipped. Analytics adapters will have access to model version (if defined) when skipped is true to signal the module is in floors mode. If skipRate is supplied in both the root level of the floors object and within the data object, the skipRate configuration within the data object shall prevail. | 0 | diff --git a/prebid-server/features/pbs-floors.md b/prebid-server/features/pbs-floors.md index 64a953f373..8cdbc9fc6b 100644 --- a/prebid-server/features/pbs-floors.md +++ b/prebid-server/features/pbs-floors.md @@ -153,6 +153,9 @@ completely backwards-compatible -- PBS will accept and process any Prebid.js flo ### Defining Floor data +{: .alert.alert-warning :} +You **cannot** set the `floorMin` parameter without specifying a `data` object. See the [simple static floor](/dev-docs/modules/floors.html#simple-static-floors) section for more info. + As described in the [Signaling](#floor-signaling) section above, floor data may be defined in several ways. Here's the order of priority: 1. Dynamic data - if PBS finds recent (non-expired) floors data from a dynamic floors vendor, that takes precedence.