diff --git a/dev-docs/bidder-adaptor.md b/dev-docs/bidder-adaptor.md index e6f682b11f..8aafc724bf 100644 --- a/dev-docs/bidder-adaptor.md +++ b/dev-docs/bidder-adaptor.md @@ -380,7 +380,8 @@ Some of the data in `ortb2` is also made available through other `bidderRequest` {: .alert.alert-warning :} -Since version 8, `auctionId` and `transactionId` are being migrated to `ortb2.source.tid` and `ortb2Imp.ext.tid` respectively; and are disabled by default, requiring [publisher opt-in](https://docs.prebid.org/dev-docs/pb8-notes.html#transaction-identifiers-are-now-reliable-and-opt-in). +Since version 8, `auctionId` and `transactionId` are being migrated to `ortb2.source.tid` and `ortb2Imp.ext.tid` respectively. As of 10.9.0, these values are now generated to be unique for each bidder. They are also disabled by default, requiring [publisher opt-in](https://docs.prebid.org/dev-docs/pb8-notes.html#transaction-identifiers-are-now-reliable-and-opt-in). + When disabled, `auctionId`/`transactionId` are set to `null`; `ortb2.source.tid`/`ortb2Imp.ext.tid` are not populated. Your adapter should prefer the latter two, and be able to handle the case when they are undefined. diff --git a/dev-docs/publisher-api-reference/setConfig.md b/dev-docs/publisher-api-reference/setConfig.md index 3b8efb71d6..2a4eb21edb 100644 --- a/dev-docs/publisher-api-reference/setConfig.md +++ b/dev-docs/publisher-api-reference/setConfig.md @@ -78,13 +78,15 @@ For more information about the asynchronous event loop and `setTimeout`, see [Ho ### Enable sharing of transaction IDs - Prebid generates unique IDs for both auctions and ad units within auctions; these can be used by DSPs to correlate requests from different sources, which is useful for many applications but also a potential privacy concern. Since version 8 they are disabled by default (see [release notes](/dev-docs/pb8-notes.html)), and can be re-enabled with `enableTIDs`: ```javascript pbjs.setConfig({ enableTIDs: true }); ``` +{: .alert.alert-warning :} +Since version 10.9.0 transaction IDs are unique for each bidder and cannot be used to correlate requests from different sources, even when `enableTIDs` is set. + ### Max Requests Per Origin diff --git a/features/firstPartyData.md b/features/firstPartyData.md index c932919c14..e4eea093ee 100644 --- a/features/firstPartyData.md +++ b/features/firstPartyData.md @@ -272,24 +272,6 @@ pbjs.addAdUnits({ }); ``` -You may also specify adUnit-specific transaction IDs using `ortb2Imp.ext.tid`, and Prebid will use them instead of generating random new ones. This is useful if you are auctioning the same slots through multiple header bidding libraries. Note: you must take care to not re-use the same transaction IDs across different ad units or auctions. Here's a simplified example passing a tid through the [requestBids](/dev-docs/publisher-api-reference/requestBids.html) function: - -```javascript -const tid = crypto.randomUUID(); -pbjs.requestBids({ - adUnits: [{ - code: 'test-div', - // ... - ortb2Imp: { - ext: { - tid: tid - } - } - }] -}); -// reuse `tid` when auctioning `test-div` through some other header bidding wrapper -``` - {: .alert.alert-info :} Prebid does not support AdUnit-specific **user** data, nor does it support bidder-specific AdUnit First Party Data. You could implement either of