| layout | page_v2 |
|---|---|
| title | Prebid.js 8.0 Release Notes & Publisher API Changes |
| description | Description of the breaking changes included for Prebid.js 8.0 |
| sidebarType | 1 |
{:.no_toc}
This document describes the changes included for Prebid.js version 8.0.
- TOC {:toc}
- Be aware that a number of modules have been removed. See below for the list.
- Transaction identifiers are reliable but opt in.
- Size Mapping has been pulled into its own module
- Activity control interface defines behavior suppression, including RTD, Geo, and TIDs
Details on all of these below.
The following modules have been removed from Prebid.js as part of the 8.0 release. Publishers building with one of them will need to point to its replacement or remove the module from their build.
{: .table .table-bordered .table-striped }
| Module | Replacement |
|---|---|
| Google Analytics Adapter | Recommend publishers explore the Generic Analytics Adapter |
| Inmar Bid Adapter | |
| Inskin Bid Adapter | |
| MASS Deal Rendering Module | Replaced by (documentation) prebid#4535 |
| AOL Bid Adapter | Reach out to Yahoo |
| CPEX ID submodule | CzechAdId Module |
| PubcommonID module | SharedID Userid Submodule |
| OpenX Analytics module | |
| Zeus Prime Module | |
| Captify RTD module | pending integration updates |
| Realvu Analytics module | pending integration updates |
| TrustPID userid submodule | Utiq userid submodule |
| OpenX ORTB Bid Adapter | OpenX Bid Adapter |
| Synacor Bid Adapter | IMDS Bid Adapter |
| AdGeneration Bid Adapter | |
| EMX Bid Adapter | Cadent Aperture MX Bid Adapter |
| Rubicon Analytics Adapter | Magnite Analytics Adapter |
Following the OpenRTB 2.6 spec and the imp.ext.tid community extensions, several fields in Prebid have equivalents in OpenRTB.
- $.id, the top level id, is now unique to each bid request. It may come from a bidder
getUUIDcall or from thebidderRequestId. - $.imp.ext.tid is the same for each bidder and differs for each slot in the auction. It is the request object
transactionId. It can be set by the publisher to sync with other header bidding libraries on the page. - $.source.tid is the same for each bidder and differs for each auction. We understand from buyer platform members that it is losing utility in favor of
imp.ext.tid. It is the request objectauctionId. It can be set by the publisher to sync with other header bidding libraries on the page. - $.source.schain.nodes[0].rid is not generated by the Prebid.js core library nor the schain module and may vary unexpectedly.
These identifiers are extremely powerful for discrepancy reconciliation, ad quality investigations, consent audits, and a huge range of other applications. They also allow data appended to different requests (eg dealIds) to be commingled downstream. For this reason, our publisher committee and Prebid.org counsel have decided to require publisher opt-in to their inclusion in the bid stream. This means Prebid engineering changed every openrtb request in the project to potentially transmit a null in these fields. Comments were added to bid adapters not using OpenRTB that send them over the wire to confirm they can accept null values. Publishers can use pbjs.setConfig({enableTIDs: true}) to opt-in.
Activity controls were very recently released, and are even more powerful in Prebid.js 8. transmitTid is a new control added.
Also, in order to allow publishers to better comply with regulations around precise location, bid adapters must read location from the global, not from their own parameters.
RTD Modules were also updated to require that they do not have bidder specific handling, and that all their bid enrichment data is routed through the global. This will make those enrichments subject to the data controller module settings as well as activity controls.
Several activity control translation modules will be released in the near future, translating consent strings into suppressed behaviors and restricted information in the library. Your contributions on these modules and feedback are very welcome.
Additionally, bidder aliases should now have their own gvl id if a user has the consent management module.
Users of the label feature should be careful to examine the new size mapping module. We moved it out of core to improve the build size. See github.com/prebid/Prebid.js/issue/9597
auctionInitevent payload is now less bloated. See github.com/prebid/Prebid.js/pull/9897- Bidder
categoryTranslationis no longer in core. See github.com/prebid/Prebid.js/pull/9898 bidderCodecan no longer come from the bid response, as this was breaking aliasing. See github.com/prebid/Prebid.js/pull/9905onBidWonwas often listened to by client side bid adapters and would get fired when a server side bid was won. This has been cleaned up. See github.com/prebid/Prebid.js/pull/9919ext.prebid.floorMinhas been dropped in favor ofext.prebid.floors.floorMinas a parameter on the PBS Bid adapter call See github.com/prebid/Prebid.js/pull/9899bidResponseis emitted immediately after adding the bidResponse instead of immediately before. See github.com/prebid/Prebid.js/pull/9847- PBS bid adapter now supports native javascript trackers. See github.com/prebid/Prebid.js/pull/9900
NO_BIDevents no longer occur on bid rejections and zero-cpm bids. See github.com/prebid/Prebid.js/pull/9902