-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New Adapter: TRUSTX 2.0 #6017
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
base: master
Are you sure you want to change the base?
New Adapter: TRUSTX 2.0 #6017
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,212 @@ | ||||||
--- | ||||||
layout: bidder | ||||||
title: TRUSTX 2.0 | ||||||
description: Prebid TRUSTX 2.0 Bidder Adapter | ||||||
pbjs: true | ||||||
pbs: true | ||||||
biddercode: trustx2 | ||||||
media_types: banner, video | ||||||
multiformat_supported: will-bid-on-any | ||||||
tcfeu_supported: true | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
If you claim TCF support, you need a |
||||||
usp_supported: true | ||||||
gpp_supported: true | ||||||
schain_supported: true | ||||||
floors_supported: true | ||||||
userIds: all | ||||||
tcf2_supported: true | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
This meta data does not exist |
||||||
coppa_supported: true | ||||||
fpd_supported: true | ||||||
sidebarType: 1 | ||||||
|
||||||
--- | ||||||
|
||||||
### Integration | ||||||
|
||||||
Approval from the TRUSTX team is required for the TRUSTX 2.0 Header Bidding adapter. | ||||||
For additional information, please reach out to <[email protected]>. | ||||||
|
||||||
### Bid Params | ||||||
|
||||||
{: .table .table-bordered .table-striped } | ||||||
| Name | Scope | Description | Example | Type | | ||||||
|------|----------|--------------------|-------------|-----------| | ||||||
| `publisher_id` | required | Publisher ID | `'0000'` | `string` | | ||||||
| `placement_id` | required | Placement ID | `'11111'` | `string` | | ||||||
| `bidfloor` | optional | Bid Floor | `2.3` | `float` | | ||||||
| `bidfloorcur` | optional | Bid Floor Currency | `'USD'` | `string` | | ||||||
|
||||||
|
||||||
Check failure on line 38 in dev-docs/bidders/trustx2.md
|
||||||
<a name="trustx2-bidder-config"></a> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
These are not necessary. Every headline generates an anchor |
||||||
|
||||||
### Bidder Config | ||||||
|
||||||
You can allow writing in localStorage using `pbjs.setBidderConfig` for the bidder `trustx2` | ||||||
|
||||||
```javascript | ||||||
pbjs.setBidderConfig({ | ||||||
bidders: ["trustx2"], | ||||||
config: { | ||||||
localStorageWriteAllowed: true | ||||||
} | ||||||
}) | ||||||
``` | ||||||
|
||||||
This allows the TRUSTX 2.0 Bid Adapter to write userId in first party localStorage, which facilitates user identification and ensures data privacy management. | ||||||
|
||||||
<a name="trustx2-first-party"></a> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
### First Party Data | ||||||
|
||||||
Publishers should use the `ortb2` method of setting [First Party Data](https://docs.prebid.org/features/firstPartyData.html). | ||||||
|
||||||
Global site or user data using `setConfig()`, or Bidder-specific using `setBidderConfig()` is supported. | ||||||
|
||||||
<a name="trustx2-site-data"></a> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
#### Site Data Fields | ||||||
|
||||||
TRUSTX 2.0 adapter supports the following standard OpenRTB 2.5 site fields: | ||||||
|
||||||
{: .table .table-bordered .table-striped } | ||||||
| Field | Description | Example | Type | | ||||||
|-------------|--------------------------------------------------------------------------|---------------------------------------------|------------------| | ||||||
| `name` | Site name | `'Publisher Site'` | `string` | | ||||||
| `domain` | Domain of the site (e.g., "example.com") | `'example.com'` | `string` | | ||||||
| `page` | URL of the page where the impression will be shown | `'https://example.com/article'` | `string` | | ||||||
| `ref` | Referrer URL that caused navigation to the current page | `'https://google.com'` | `string` | | ||||||
| `search` | Search string that caused navigation to the current page | `'news article example'` | `string` | | ||||||
| `keywords` | Comma-separated list of keywords relevant to the current page | `'news,politics,current events'` | `string` | | ||||||
| `cat` | Array of IAB content categories for the current site | `['IAB1', 'IAB2-1']` | `string array` | | ||||||
| `pagecat` | Array of IAB content categories for the current page | `['IAB1-2', 'IAB3-1']` | `string array` | | ||||||
|
||||||
Example configuration: | ||||||
|
||||||
```javascript | ||||||
pbjs.setConfig({ | ||||||
ortb2: { | ||||||
site: { | ||||||
name: "Publisher Site", | ||||||
domain: "example.com", | ||||||
page: "https://example.com/article", | ||||||
cat: ["IAB1", "IAB2"], | ||||||
keywords: "news,politics,current events" | ||||||
} | ||||||
} | ||||||
}); | ||||||
``` | ||||||
|
||||||
<a name="x2-content-data"></a> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
#### Content Data Fields | ||||||
|
||||||
The adapter supports these content-specific fields: | ||||||
|
||||||
{: .table .table-bordered .table-striped } | ||||||
| Field | Description | Example | Type | | ||||||
|------------|---------------------------------------------------------------|-----------------------------|----------------| | ||||||
| `id` | Content identifier | `'article-12345'` | `string` | | ||||||
| `title` | Content title | `'Breaking News Article'` | `string` | | ||||||
| `series` | Content series | `'World News'` | `string` | | ||||||
| `season` | Content season | `'2023'` | `string` | | ||||||
| `episode` | Content episode | `'15'` | `string` | | ||||||
| `genre` | Genre of the content | `'news'` | `string` | | ||||||
| `data` | Array of content segment objects following the data object format | See example below | `object array` | | ||||||
|
||||||
Example configuration with content: | ||||||
|
||||||
```javascript | ||||||
pbjs.setConfig({ | ||||||
ortb2: { | ||||||
site: { | ||||||
content: { | ||||||
id: "article-12345", | ||||||
title: "Breaking News Article", | ||||||
series: "World News", | ||||||
season: "2023", | ||||||
episode: "15", | ||||||
genre: "news", | ||||||
data: [{ | ||||||
name: "content-classification", | ||||||
segment: [ | ||||||
{ id: "segment1", value: "news" }, | ||||||
{ id: "segment2", value: "politics" } | ||||||
] | ||||||
}] | ||||||
} | ||||||
} | ||||||
} | ||||||
}); | ||||||
``` | ||||||
|
||||||
<a name="x2-user-data"></a> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
#### User Data | ||||||
|
||||||
The adapter supports user data fields: | ||||||
|
||||||
{: .table .table-bordered .table-striped } | ||||||
| Field | Description | Example | Type | | ||||||
|------------|-------------------------------------------------------------------|-----------------------------------|----------------| | ||||||
| `data` | Array of user data segment objects with name and segment fields | See example below | `object array` | | ||||||
| `ext.eids` | External user identifiers (from Prebid.js User ID modules) | Automatically included when available | `object array` | | ||||||
| `ext.device` | Device-specific information | `{ type: "mobile", os: "iOS" }` | `object` | | ||||||
|
||||||
Example configuration with user data: | ||||||
|
||||||
```javascript | ||||||
pbjs.setConfig({ | ||||||
ortb2: { | ||||||
user: { | ||||||
data: [{ | ||||||
name: "demographic", | ||||||
segment: [ | ||||||
{ id: "segment1", value: "age_group_25-34" } | ||||||
] | ||||||
}], | ||||||
ext: { | ||||||
device: { | ||||||
type: "mobile", | ||||||
os: "iOS" | ||||||
} | ||||||
} | ||||||
} | ||||||
} | ||||||
}); | ||||||
``` | ||||||
|
||||||
<a name="x2-extensions"></a> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
#### Site and User Extensions | ||||||
|
||||||
The adapter also supports site.ext and user.ext for custom extensions: | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
```javascript | ||||||
pbjs.setConfig({ | ||||||
ortb2: { | ||||||
site: { | ||||||
ext: { | ||||||
custom_site_field: "custom_value", | ||||||
amp: 1, | ||||||
premium: true | ||||||
} | ||||||
}, | ||||||
user: { | ||||||
ext: { | ||||||
custom_user_field: "custom_value" | ||||||
} | ||||||
} | ||||||
} | ||||||
}); | ||||||
``` | ||||||
|
||||||
<a name="x2-gdpr-usp-gpp"></a> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
### GDPR, USP and GPP Support | ||||||
|
||||||
The TRUSTX 2.0 adapter supports GDPR, US Privacy (CCPA), and Global Privacy Platform (GPP) consent signals. | ||||||
|
||||||
The adapter will: | ||||||
- Pass GDPR consent information to bid requests when available | ||||||
Check failure on line 209 in dev-docs/bidders/trustx2.md
|
||||||
- Pass US Privacy/CCPA consent strings when available | ||||||
- Support GPP signals when provided | ||||||
- Handle user data deletion requests according to privacy regulations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
historically prebid-server can take longer to review and merge.
You can switch
pbs: false
to get this docs PR merged, once the pbjs adapter is released.