Skip to content

Commit bc79e8c

Browse files
authored
documenting static floors (#5946)
* documenting static floors * Update floors.md
1 parent 73d101d commit bc79e8c

File tree

3 files changed

+35
-4
lines changed

3 files changed

+35
-4
lines changed

dev-docs/adunit-reference.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -599,9 +599,9 @@ time to set targeting.
599599

600600
<a name="adUnit-fpd-example"></a>
601601

602-
### First Party Data
602+
### First Party Data and Floors
603603

604-
Example of an adunit-specific block of first party data:
604+
Example of an adunit-specific block of first party data and a static floor:
605605

606606
```javascript
607607
pbjs.addAdUnits({
@@ -612,6 +612,8 @@ pbjs.addAdUnits({
612612
}
613613
},
614614
ortb2Imp: {
615+
bidfloor: 1.00,
616+
bidfloorcur: "EUR",
615617
ext: {
616618
data: {
617619
pbadslot: "homepage-top-rect",

dev-docs/modules/floors.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,26 @@ Notes:
5858
* [Prebid Floor Service Providers](/dev-docs/modules/floors.html#floors-providers)
5959
* [Transcript of this video](/dev-docs/floors-video-overview.html)
6060

61+
### Simple Static Floors
62+
63+
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:
64+
65+
```javascript
66+
pbjs.addAdUnits({
67+
code: "test-div",
68+
mediaTypes: {
69+
banner: {
70+
sizes: [[300,250]]
71+
}
72+
},
73+
ortb2Imp: {
74+
bidfloor: 1.00,
75+
bidfloorcur: "EUR"
76+
},
77+
// ...
78+
});
79+
```
80+
6181
## How it Works
6282

6383
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
298318
Note: if you're a dynamic floor provider service, your response must be
299319
a subset that will be merged under the 'data' object.
300320

321+
{: .alert.alert-warning :}
322+
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.
323+
301324
{: .table .table-bordered .table-striped }
302325
| Param | Type | Description | Default |
303326
|---+---+---+---+---|
304-
| 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. | - |
327+
| 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). | - |
305328
| 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.| - |
306329
| enforcement | object | Controls the enforcement behavior within the Price Floors Module.| - |
307330
| 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
354377
Note: if you're a dynamic floor provider service, your response must be
355378
a subset that will be merged under the 'data' object.
356379

380+
{: .alert.alert-warning :}
381+
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.
382+
357383
{: .table .table-bordered .table-striped }
358384
| Param | Type | Description | Default |
359385
|---+---+---+---+---|
360-
| 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. | - |
386+
| 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). | - |
361387
| floorMinCur | float | Prebid Server only: the currency used for the floorMin value. | - |
362388
| 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.| - |
363389
| 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 |

prebid-server/features/pbs-floors.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ completely backwards-compatible -- PBS will accept and process any Prebid.js flo
153153

154154
### Defining Floor data
155155

156+
{: .alert.alert-warning :}
157+
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.
158+
156159
As described in the [Signaling](#floor-signaling) section above, floor data may be defined in several ways. Here's the order of priority:
157160

158161
1. Dynamic data - if PBS finds recent (non-expired) floors data from a dynamic floors vendor, that takes precedence.

0 commit comments

Comments
 (0)