Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Taboola Bid Adapter: Supporting First Party Data #4235

Merged
merged 6 commits into from
Feb 3, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 47 additions & 9 deletions dev-docs/bidders/taboola.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ gvl_id: 42
prebid_member: true
floors_supported: true
safeframes_ok: true
fpd_supported: false
fpd_supported: true
ortb_blocking_supported: partial
deals_supported: false
sidebarType: 1
Expand All @@ -28,19 +28,55 @@ sidebarType: 1

The Taboola Adapter requires setup before beginning. Please contact us at [email protected].

### First Party Data
Publishers can use the `ortb2` configuration parameter to provide First Party Data.

#### OpenRTB Parameters
The following table contains currently supported parameters we parse.

{: .table .table-bordered .table-striped }

| Name | Scope | Description | Example | Type |
|--------------------|----------|---------------------------------------------------------------|-------------------|----------------|
| `bcat` | optional | List of blocked advertiser categories (IAB) | `['IAB1-1']` | `string array` |
| `badv` | optional | Blocked Advertiser Domains | `['example.com']` | `string array` |
| `wlang` | optional | Allow List of languages for creatives using ISO-639-1-alpha-2 | `['fr', 'en']` | `string array` |

Notes:
- will extract the page,ref,domain if passed within `ortb2.site`
- will extract the pageType if passed within the preferred field `ortb2.ext.data.pageType` or `ortb2.ext.data.section`

Example configuration:
```
pbjs.setConfig({
ortb2: {
bcat: ['IAB1-1'],
badv: ['example.com'],
wlang: ['fr', 'en']
}
});
```


### Bid Params

{: .table .table-bordered .table-striped }

| Name | Scope | Description | Example | Type |
|-------------------|----------|---------------------------------------------------|-----------------------|--------------|
| `tagId` | required | Tag ID / Placement Name <br> | `'Below The Article'` | `String` |
| `publisherId` | required | Numeric Publisher ID <br>(as provided by Taboola) | `'1234567'` | `String` |
| `publisherDomain` | optional | Publisher Domain (server-side adapter only) | `'example.com'` | `String` |
| `bcat` | optional | List of blocked advertiser categories (IAB) | `['IAB1-1']` | `Array` |
| `badv` | optional | Blocked Advertiser Domains | `'example.com'` | `String Url` |
| `bidfloor` | optional | CPM bid floor | `0.25` | `Float` |
| Name | Scope | Description | Example | Type |
|-------------------|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|--------------|
| `tagId` | required | Tag ID / Unique Placement Name <br> | `'Below The Article'` | `String` |
| `publisherId` | required | Numeric Publisher ID <br>(as provided by Taboola) | `'1234567'` | `String` |
| `pageType` | optional, recommended | Kind of content present in the page | `'homepage'` | `String` |
| `position` | optional, recommended | Identify the placement position on screen. Possible values: 0 - 7 <br> <br> 0 Unknown <br> 1 Above The Fold <br> 2 Locked (i.e., fixed position) <br> 3 Below The Fold <br> 4 Header <br> 5 Footer <br> 6 Sidebar <br> 7 Fullscreen <br> | `2` | `Integer` |
| `publisherDomain` | optional | Publisher Domain (server-side adapter only) | `'example.com'` | `String` |
| `bidfloor` | optional | CPM bid floor | `0.25` | `Float` |
| `bcat` | optional | List of blocked advertiser categories (IAB) | `['IAB1-1']` | `Array` |
| `badv` | optional | Blocked Advertiser Domains | `'example.com'` | `String Url` |

Notes:
- Preferred to provide the `bcat` and `badv` within the first party data (above). When both methods are provided, first party data values will be prioritized.
- If `pageType` or `publisherDomain` provided within the first party data (as explained above), first party data properties will be prioritized.
- `tagId` is an identifier for specific ad placement, and should be the same unique `tagId` per placement/ad unit in all Bid Requests.

### Example Ad Unit
```javascript
Expand All @@ -57,6 +93,8 @@ The Taboola Adapter requires setup before beginning. Please contact us at prebid
tagId: 'Placement Name',
publisherId: 'your-publisher-id',
publisherDomain: 'example.com',// Optional (server-side adapter only)
pageType: 'news',// Optional
position: 6,// Optional
bidfloor: 0.25, // Optional - default is null
bcat: ['IAB1-1'], // Optional - default is []
badv: ['example.com'] // Optional - default is []
Expand Down