Skip to content

Conversation

@aaronDev-ai
Copy link
Owner

Type of change

  • Bugfix

  • Feature

  • New bidder adapter

  • Updated bidder adapter

  • Code style update (formatting, local variables)

  • Build related changes

  • CI related changes

  • Does this change affect user-facing APIs or examples documented on http://prebid.org?

  • Other

Description of change

This PR introduces new logic for injecting IAS brand safety and fraud data into the Prebid.js bid request, ensuring both page-level and impression-level data are available to downstream adapters and analytics modules:

  • Injection of ortb2 and ortb2Imp Data:

    • Page-level data is injected into ortb2Fragments.global.site.ext.data and ortb2Fragments.global.site.keywords (the global OpenRTB site object). This ensures that all bidders and analytics modules have access to the same brand safety context for the entire page.
    • Impression/adunit-level data is injected into each ad unit’s ortb2Imp.ext.data object. This allows for slot-specific (impression-level) brand safety and fraud signals to be passed in the bid request, enabling more granular targeting and analytics.
  • Bidder-Specific Enhancements:

    • IAS brand safety data is injected into the PubMatic bidder’s dctr parameter, merging with any existing values and formatting as a pipe-separated key-value string.
    • dctr enrichment is only applied to PubMatic bids, while global brand safety data is still injected into the OpenRTB fragments for all ad units.
    • Updates both site.keywords (for AppNexus/Xandr) and params.dctr (for PubMatic) with the mapped IAS data.

These changes allow for more robust and accurate targeting by passing both page-level and impression-level brand safety data to the appropriate bidders and OpenRTB objects.

Other information

  • Related to improvements in first-party and brand safety data handling for PubMatic and IAS RTD integration.
  • No new bidder adapter is introduced; this is an enhancement to the existing IAS RTD provider and PubMatic integration.

If you are making changes that affect user-facing APIs or require documentation updates,
please also submit a corresponding PR to prebid/prebid.github.io describing the new or changed behavior for the IAS RTD Provider and PubMatic DCTR parameter, and clarifying the use of ortb2Imp vs ortb2.

khouajaSadok and others added 30 commits June 16, 2025 06:06
…with userIdAdEids for 10.0 Compliance (prebid#13397)

* fix(mobkoiId): correct consent object parameter in getId function

* deprecate bidrequest.{}.userId and replaced with eids

* follow ORTB2.6 standard for eids field

* fixed unit test
…ance (prebid#13395)

* access user ids using getuserIdsAsEids

* put a conditional protection in case the function does not exist

* underdog media adapter update: switch to userIdAsEids

---------

Co-authored-by: kevpark02 <kpark@underdogmedia.com>
* new taboola user-id module

* fix comments

* revert bid adapter change

* minor taboolaIdSystem.md text change

* added should skip sync configuration

* fix md file comment

* remove eslint comments

* fix wrong naming in md file

* remove unnecessary
…th each other's targeting (prebid#13394)

* realTimeData: fix bug where different RTD submodules can interfere with each other's targeting

* fix lint
Co-authored-by: ilya <ikazovsky@liveintent.com>
* Add fwsspBidAdapter

* Fix linting issues

* Test updates

* Review updates

---------

Co-authored-by: Patrick McCann <pmccann@cafemedia.com>
…rebid#13287)

* liveramp: handle url base64 decode

* Update identityLinkIdSystem.js

* Update identityLinkIdSystem.js
…nd gdpr.consentString (prebid#13409)

* fix for incorrect reference to gdpr.gdprApplies and gdpr.consentString

* removed console log statement
…gging behavior (prebid#13403)

* Medianet analytics adapter updates

* update: modify medianet email notification regex
* few more refactoring updates

* updated test
Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>
…rebid#13411)

* adding changes to accomodate banner and video

* adding checks for advertiserDomains in tests

* updating syntax for gulp lint
…BidAdapter and Fix the default value of the ib parameter (prebid#13108)

* modify adUnit infomation

* fix imuid module

* feat(GenieeBidAdapter): Add support for GPID and pbadslot

- Add support for GPID (Global Placement ID) from ortb2Imp.ext.gpid
- Add fallback support for ortb2Imp.ext.data.pbadslot
- Include gpid parameter in request when GPID exists
- Add test cases to verify GPID, pbadslot, and priority behavior

* Aladdin Bidder ID5 Compatible Adapter

* add comment

* modified test message

* the import of buildExtuidQuery was missing

* test: add test cases for id5id in extuid query

* delete duplicate test

* feat(GenieeBidAdapter): Add support for iframe-based cookie sync in BidAdapter

* [CARPET-5190] Bid Adapter: Fix the default value of the ib parameter

- change default value ib parameter

* remove ib param

---------

Co-authored-by: Murano Takamasa <takamasa-murano@j0098.geniee.jp>
Co-authored-by: daikichiteranishi <49385718+daikichiteranishi@users.noreply.github.com>
Co-authored-by: teranishi daikichi <daikichi.teranishi@geniee.co.jp>
Co-authored-by: gn-daikichi <49385718+gn-daikichi@users.noreply.github.com>
Co-authored-by: takumi-furukawa <takumi.furukawa@geniee.co.jp>
Co-authored-by: furukawaTakumi <45890154+furukawaTakumi@users.noreply.github.com>
Co-authored-by: furukawaTakumi <black3moon88@gmail.com>
Co-authored-by: haruki-yamaguchi <haruki.yamaguchi@geniee.co.jp>
Co-authored-by: Thanh Tran <thanhtv@geniee.co.jp>
Co-authored-by: thanhtran-geniee <135969265+thanhtran-geniee@users.noreply.github.com>
patmmccann and others added 25 commits July 8, 2025 12:23
* Expand AGENTS guidelines

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Create CLAUDE.md

* Update AGENTS.md

* adapter: reuse teqblaze utils for appush

---------

Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>
…ls (prebid#13540)

* KRKPD-1920: remove dupe fields + replace generateRandomUUI from method in utils (prebid#40)

* removed duplicate fields from prebid adapter

* replace with generateUUID method

* adds test

* removing some excess

* slight refactor

---------

Co-authored-by: skearney11 <s.kearney.94@gmail.com>

* removes extra line

---------

Co-authored-by: skearney11 <s.kearney.94@gmail.com>
* Expand AGENTS guidelines

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Update AGENTS.md

* Create CLAUDE.md

* Update AGENTS.md

* core: improve jwplayer utils coverage

* Update test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js

Co-authored-by: Karim Mourra <karim@jwplayer.com>

---------

Co-authored-by: Karim Mourra <karim@jwplayer.com>
* Core: remove circleci

* Core: add stub circleci config

* Update RELEASE_SCHEDULE.md

* Update PR_REVIEW.md

* Update README.md

* Update config.yml
* build system: better logging from update-metadata

* build system: keep track of when disclosures were fetched

* reuse previous disclosure if not too old

* Reuse disclosures up to 14 days old
…bid#13535)

* userId: alias userIdAsEids to fpd

* fix enforceStorageType tests

* Fix more tests

* fix euid tests

* simplify idx tests

* add FIXME comments

* make userIdAsEids configurable

* simplify lmpId tests

* Fix more tests

* lint
Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>
* bump coveralls

* remove exceptions

* results

* eslint fix

* Update package-lock.json

* Update package-lock.json

* Core: remove codex comments and unused lint rule (prebid#13520)

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
* Fix coveralls comparisons

* debug optios

* remove debug flag

* checkout depending on event type

* fix merge sha ref

* use pulls/merge ref

* use checkout outputs

* try refs/head

* use branch name for coveralls

* try checking owner

* add print statements

* revert to using commit

* undo test config
* Fix coveralls comparisons

* debug optios

* remove debug flag

* checkout depending on event type

* fix merge sha ref

* use pulls/merge ref

* use checkout outputs

* try refs/head

* use branch name for coveralls

* try checking owner

* add print statements

* revert to using commit

* undo test config

* debug logging

* more logging

* .before, not push.before

* more adjustments

* user owner.id and not name

* use .login for repo

* try to match gh ui

* refactor

* fix outputs

* print commit info

* Substitute comment

* fix typo

* fix condition

* adjust some more

* fix syntax

* quotes

* third time etc

* try other variations

* ridiculous

* more debug

* debug condition

* setup token

* pass repo

* remove comment logic

* undo debug changes

* remove duplicate outputs

* remove stray condition

* step outputs not job outputs
* Add files via upload

Adding new prebid adapter oprx for OptimizeRx

* Update oprxBidAdapter.js

* Update oprxBidAdapter.md

* Update oprxBidAdapter.js

* Update oprxBidAdapter.md

* Update oprxBidAdapter.js

* Update oprxBidAdapter.js

* Add files via upload
@github-actions
Copy link

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link

Tread carefully! This PR adds 6 linter errors (possibly disabled through directives):

  • modules/chromeAiRtdProvider.js (+2 errors)
  • modules/cleanioRtdProvider.js (+1 error)
  • modules/dfpAdServerVideo.js (+1 error)
  • modules/dfpAdpod.js (+1 error)
  • modules/pwbidBidAdapter.js (+1 error)

@github-actions
Copy link

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link

Tread carefully! This PR adds 6 linter errors (possibly disabled through directives):

  • modules/chromeAiRtdProvider.js (+2 errors)
  • modules/cleanioRtdProvider.js (+1 error)
  • modules/dfpAdServerVideo.js (+1 error)
  • modules/dfpAdpod.js (+1 error)
  • modules/pwbidBidAdapter.js (+1 error)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.