-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Split use of auctionid and transactionid in bidders for source.tid #8573
Comments
How is this issue separate from #8543 - and why is it a bug? It doesn't look like we have established enough of a consensus on what source.tid should be to decide that some adapters are doing it wrong. |
In 3190 and in doc i believe it was established it should be transaction id #8543 is about implementing the new community extension, not source.tid |
Committee discussion outcome: set imp.ext.tid as the adunit transaction id --done |
According to #7585 ; prebid server adapter is now generating its own tid because the auction id is insufficient. The first transaction id in the array seems like the way to go |
@patmmccann From a bidder standpoint, what's the "right" way to implement that? source.tid = bidderRequest.auctionId; or source.tid = deepAccess(bidRequests[0], 'transactionId'), I understand the purpose of this value is to be consistent across all bidders, making |
@maphe my intention is that these shortly resolve to the same value. Planning to discuss in committee |
In short, this proposal is not popular. Instead; an alternate proposal adopted in committee, to be expanded upon [update, the description reflects the committee outcome], is that prebid will identify some value as source.tid and everyone that is reading some other value as the source.tid will be moved over to it. @maphe in the meantime, I recommend source.tid = bidderRequest.auctionId; |
Ok, perfect, thank you. |
Follow up question, related to what I've read in this community extension doc, does it have any value in your opinion to implement something like imp.ext.tid = deepAccess(bidRequest, 'ortb2Imp.ext.tid'); in addition to Adding more context to my questions, TheTradeDesk is reaching out to all their Prebid partners asking them to implement the transaction ID is their respective adapter/exchange, so our goal here is to implement it in a way where we're confident the other adapters will be consistent with. |
IMO every adapter should do the equivalent of |
`source.tid` is transaction id at the request level `bidReq.ortb2Imp` may carry a transaction id at the impression level (`imp.ext.tid`) Followed recommendations provided by contributors here: prebid#8573 PGE-178206904
My understanding from TTD is they plan to prefer imp.ext.tid to source.tid |
Ok, that's good to know, I was not able to get this information internally. Anyway I'm covering all the bases by implementing both |
one thing of note: source.tid || gpid will have the same cardinality as imp.ext.tid if and only if there are no repeated gpids per page. |
FYI - updated the issue description with the proposal we discussed in last week's meeting. |
@bretg that looks different from what was said earlier in this thread, can you confirm it is not advised anymore to set source.tid = bidderRequest.auctionId; but it is advised instead to do source.tid = bidderRequest.transactionId; Also is it safe to assume that we should stop using Finally I'm not quite clear on the timeline and what can be implemented in the adapter now vs later. I'm being asked to implement transaction id following TheTradeDesk demand, but it looks like it's not even possible quite yet. |
Here is what ttd did https://github.com/prebid/Prebid.js/pull/8679/files |
The intention of this issue is to have a community discussion. Some of us believe the current ID structure is sub-optimal, specifically:
If the community agrees on the approach above, we would need a coordinated effort to make the core and adapter changes. |
* [PGE-178206904] Send Transaction ID to STX `source.tid` is transaction id at the request level `bidReq.ortb2Imp` may carry a transaction id at the impression level (`imp.ext.tid`) Followed recommendations provided by contributors here: #8573 PGE-178206904 * Bump adapter version * Fix Transaction ID + Be more conscious about what we put in `imp.ext`
reconfiming this is resolved tpowards auctionid not imp[0].transactionid |
flagging as possible #8539 enforcement |
* [PGE-178206904] Send Transaction ID to STX `source.tid` is transaction id at the request level `bidReq.ortb2Imp` may carry a transaction id at the impression level (`imp.ext.tid`) Followed recommendations provided by contributors here: prebid#8573 PGE-178206904 * Bump adapter version * Fix Transaction ID + Be more conscious about what we put in `imp.ext`
#9862 should make this much easier for everyone in the 8.0 branch! instead of auction id, just point to bidderRequest.ortb2.source.tid |
* [PGE-178206904] Send Transaction ID to STX `source.tid` is transaction id at the request level `bidReq.ortb2Imp` may carry a transaction id at the impression level (`imp.ext.tid`) Followed recommendations provided by contributors here: prebid#8573 PGE-178206904 * Bump adapter version * Fix Transaction ID + Be more conscious about what we put in `imp.ext`
Ozone 2.9.0 updates - changes required for PB 8 prebid#8573 - removed transaction IDs - added our own id (as per ortb spec & required by ozone server) - added support for batching 10 impression objects with a config switch - adding newspass as an alias - update the spec tests for this
- changes required for PB 8 prebid#8573 - removed transaction IDs - added support for batching/limiting to 10 impression objects in a single request with a config switch - onpage and also in the adapter. Off by default. In the config use ozone.batchRequests: true - added our own id as required by ozone server & also openrtb spec - adding newspass as an alias - update the spec tests - adding support for gptPreAuction adapter (this is on by default when included in the build)
* Ozone: Adapter Updates - 2.9.0 - changes required for PB 8 #8573 - removed transaction IDs - added support for batching/limiting to 10 impression objects in a single request with a config switch - onpage and also in the adapter. Off by default. In the config use ozone.batchRequests: true - added our own id as required by ozone server & also openrtb spec - adding newspass as an alias - update the spec tests - adding support for gptPreAuction adapter (this is on by default when included in the build) * Update ozoneBidAdapter.js fixes per feedback * Add files via upload removing alias support (added in by accident) * Add files via upload updated tests following removal of aliases
* Ozone: Adapter Updates - 2.9.0 - changes required for PB 8 prebid#8573 - removed transaction IDs - added support for batching/limiting to 10 impression objects in a single request with a config switch - onpage and also in the adapter. Off by default. In the config use ozone.batchRequests: true - added our own id as required by ozone server & also openrtb spec - adding newspass as an alias - update the spec tests - adding support for gptPreAuction adapter (this is on by default when included in the build) * Update ozoneBidAdapter.js fixes per feedback * Add files via upload removing alias support (added in by accident) * Add files via upload updated tests following removal of aliases
Type of issue
Bug
Description
Some bidders set auctionId, others set transactionId. Source.tid should always be from the same field. Also, the PBS adapter is missing this field.
Discussed in the Prebid.js committee meeting. Here's the proposal:
1a) auctionId (ORTB $.id). This should be unique for each request, so an auction with 5 bidders should have 5
$.id
1b) global transactionId (ORTB $.source.tid). This should be set to the auctionId
1c) adunit-level transactionId (ORTB $.imp[n].ext.tid).
2a) auctionId - override already implemented as pbjs.requestBids as auctionId.
2b) global transactionId - override with setConfig({ortb});
2c) adunit-level transactionId - new override to be implemented as AdUnit.transactionId.
If the community agrees with this proposal:
Related
#8543
#3190
Some bidders that appear to remain unsolved:
Prebid.js/modules/bizzclickBidAdapter.js
Line 95 in 6e36e36
@BizzClick @devBizzclick
Prebid.js/modules/rubiconBidAdapter.js
Line 187 in f32e080
@musikele
Prebid.js/modules/gothamadsBidAdapter.js
Line 107 in 6e36e36
@supportGothamad
Prebid.js/modules/luponmediaBidAdapter.js
Line 293 in 6e36e36
@adxpremium
Prebid.js/modules/ozoneBidAdapter.js
Line 384 in 5ef54f7
@AskRupert-DM
Prebid.js/modules/adtrueBidAdapter.js
Line 510 in 6e36e36
@haibau
Prebid.js/modules/pubmaticBidAdapter.js
Line 1132 in 7d3ad07
Prebid.js/modules/improvedigitalBidAdapter.js
Line 154 in ba7d0d0
Prebid.js/modules/newspassidBidAdapter.js
Line 286 in 2ee4d3f
Prebid.js/modules/deltaprojectsBidAdapter.js
Line 93 in 6f4fb5b
The text was updated successfully, but these errors were encountered: