From 3d0c9d5eec81c5ce7da0251ea45a2e0d267f49fc Mon Sep 17 00:00:00 2001 From: Chris Huie Date: Wed, 27 Aug 2025 10:04:11 -0600 Subject: [PATCH 1/4] Update firstPartyData.md --- features/firstPartyData.md | 18 ------------------ 1 file changed, 18 deletions(-) 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 From 142aeaa67234f650c3a946599e66b31999407e18 Mon Sep 17 00:00:00 2001 From: Chris Huie Date: Wed, 27 Aug 2025 10:15:05 -0600 Subject: [PATCH 2/4] Update bidder-adaptor.md --- dev-docs/bidder-adaptor.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dev-docs/bidder-adaptor.md b/dev-docs/bidder-adaptor.md index e6f682b11f..ebca414f30 100644 --- a/dev-docs/bidder-adaptor.md +++ b/dev-docs/bidder-adaptor.md @@ -380,8 +380,7 @@ 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). -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. +Since version 8, `auctionId` and `transactionId` are being migrated to `ortb2.source.tid` and `ortb2Imp.ext.tid` respectively. As of a recent change, 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. From a7d33eedea06406dbab19046a543112236b1ef1e Mon Sep 17 00:00:00 2001 From: Chris Huie Date: Wed, 27 Aug 2025 10:18:09 -0600 Subject: [PATCH 3/4] Update bidder-adaptor.md --- dev-docs/bidder-adaptor.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dev-docs/bidder-adaptor.md b/dev-docs/bidder-adaptor.md index ebca414f30..ebe273755c 100644 --- a/dev-docs/bidder-adaptor.md +++ b/dev-docs/bidder-adaptor.md @@ -380,7 +380,9 @@ 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. As of a recent change, 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. +Since version 8, `auctionId` and `transactionId` are being migrated to `ortb2.source.tid` and `ortb2Imp.ext.tid` respectively. As of a recent change, 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. From 541725e526453c12e37400c1faaa27c6af3b65b7 Mon Sep 17 00:00:00 2001 From: Demetrio Girardi Date: Fri, 29 Aug 2025 06:24:19 -0700 Subject: [PATCH 4/4] Update setConfig#enableTIDs --- dev-docs/bidder-adaptor.md | 2 +- dev-docs/publisher-api-reference/setConfig.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dev-docs/bidder-adaptor.md b/dev-docs/bidder-adaptor.md index ebe273755c..8aafc724bf 100644 --- a/dev-docs/bidder-adaptor.md +++ b/dev-docs/bidder-adaptor.md @@ -380,7 +380,7 @@ 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. As of a recent change, 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). +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