Skip to content
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

PTOW-2: Update the pubx analytics adapter. #5

Merged
merged 4 commits into from
Apr 30, 2024

Conversation

nathan-pubx
Copy link
Collaborator

@nathan-pubx nathan-pubx commented Mar 20, 2024

Ticket: PTOW-2

Task: update the pubx analytics adapter, to make use of more modern approaches and to consume more data.

Implements:

  • Using beacons to send data to pubx endpoints.
    • The beacon preserves the content type of the data.
  • Deep copy of the data is sent to pubx, and is not modified throughout the auction (done).
    • The data sent back is cloned before send.
    • Each of the properties present in the auction is either not taken from the auction itself, or taken as a deep copy
  • Sample the auction and winning bids together.
    • The sampling uses a hash of the auction id, so that wins and auctions are sampled together.
    • The sampling is not done on the page level, to avoid skewing sampling towards "repeat" auctions, which are less valuable.
  • verification of the rank of the auction on the page.
    • as auctions are held, their rank in time is preserved.
    • This auction rank is not specific to an adslot, but global to the page.
    • I have observed consistent behaviour that an auction can have multiple winning bids, each independently rendered. In this case the auction rank is not incremented/repeated, as no auction is held to promote a new winning bid to render.
  • Google object data (key value pairs)
    • The google ad server data is constructed before the bidwon event from prebid
    • i was unable to observe any occasion where GAM rendering did not trigger a prebid win event
    • the gam data is tied to an ad slot, and as mentioned above, single auctions were observed rendering many winning bids into the same slot, making tracking the specific GPT KVPs for a bid impossible. The KVPs associated to the winning bid are the KVPs available at the time of the winning bid event firing in prebid.
  • PMAC data
    • as requested via slack, the PMAC data is loaded from session storage, and expected to be partitioned by auction id.
    • no data manipulation was done on the pmac data from local storage
  • user ids
    • captured from the prebid globals. The types of user ids only are recorded, but the schema could be expanded to support more user information in future.
  • Floor price in case of no bids
    • there is a wonderful variable in the priceFloors.js module, _floorDataForAuction, which contains all information, derived or otherwise, regarding the price floor information of an auction, up to 3 seconds after the auction ends. Try as i might, i am unable to record the data from this meta variable.
    • i am pulling price data from the ad unit bids of the prebid auction. The "bid" property of an ad unit is declared by the publisher, and then augmented by the price floors module later in the auction lifecycle. In the event that no bids occur, the ad units will still exist, and the "bid" property of the ad unit, which defines the bidders that should provide responses, is also still defined.
  • concurrency support
    • I observed several cases of multiple auctions running concurrently across the ad units of a page. Typically it seems that rather than bundle multiple ad units into one auction, each ad unit has a separate auction. We used to aggregate all bids for "an auction" under one list, and then send the array of bids back as part of the same auction. This meant that regularly, the bids attributed to a single auction were actually part of many auctions, and so the floor data we sent back was messed up (being derived from the first bid)

Not implemented:

  • viewability
    • i attempted to use the gpt viewbility module, and because auctions can have multiple winning bids, but the gpt event can only track at the slot level, it was not possible to create a mapping between a bid and a "view event"
    • attempting to use the intersection observer didn't yield sensible results. I attempted to update the insersection observers data in realtime before the send to pubx, which didn't produce good/reliable/accurate viewability results, and attempting to leave the data to the initial data recorded by the observer was similarly inaccurate.
    • attempting to "construct" a viewable event (i.e 50% in view for 1 second) was also entirely inaccurate, since the slots typically render for about a second before the ad is shown.

pruthvimuga pushed a commit that referenced this pull request Mar 25, 2024
…populate imp-level `ext.tid` (prebid#9726)

* RTBHouse Bid Adapter: add global vendor list id

* structured user agent - browsers.brands

* fix lint errors

* Added sda into rtbhouse adapter

* spreading ortb2: user & site props

* examples reverted

* init version

* using mergedeep

* removed wrong imp array augm.; slot imp augm. with addtl check

* [SUA] merging ortb2.device into request

* fledge auctionConfig adapted to our bid response structure

* new bidder response structure for fledge

* make sure bidderRequest has proper flag turned on

* fledge endpoint hardcoded; code cleanups

* remove obsolete function

* obsolete function removed

* [RTB House] Process FLEDGE request/response (#4)

* [SDA & SUA] refactor using mergedeep

* [FLEDGE] fledge auctionConfig adapted to our bid response structure

* [FLEDGE] new bidder response structure for fledge

* [FLEDGE] make sure bidderRequest has proper flag turned on

* [FLEDGE] fledge endpoint hardcoded; code cleanups

* [FLEDGE] remove obsolete functions

* fixed lint errors

* fledge test suites; adapter: delete imp.ext.ae when no fledge (#5)

* RTBHouse Bid Adapter: use auctionId for source.tid

* RTBHouse bid adapter: fixed source.tid tests

* Imp level transaction id + mapSource fix

* lint: removed obsolete whitespaces

* RTBHouse Bid Adapter: change `source.tid` to contain `auctionId` and populate imp-level `ext.tid` (#8)

* RTBHouse Bid Adapter: use auctionId for source.tid

* Imp level transaction id + mapSource fix

* lint: removed obsolete whitespaces

---------

Co-authored-by: Leandro Otani <leandro.otani@rtbhouse.com>
Co-authored-by: rtbh-lotani <83652735+rtbh-lotani@users.noreply.github.com>
Co-authored-by: Tomasz Swirski <tomasz.swirski@rtbhouse.com>
pruthvimuga pushed a commit that referenced this pull request Mar 25, 2024
* Flipp Bid Adapter: initial release

* Added flippBidAdapter

* OFF-372 Support DTX/Hero in flippBidAdapter (#2)

* support creativeType

* OFF-422 flippBidAdapter handle AdTypes

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>

* OFF-465 Add getUserKey logic to prebid.js adapter (#3)

* Support cookie sync and uid

* address pr feedback

* remove redundant check

* OFF-500 Support "startCompact" param for Prebid.JS #4

* set startCompact default value (#5)

* fix docs

* use client bidding endpoint

* update unit testing endpoint

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>
pruthvimuga pushed a commit that referenced this pull request Mar 25, 2024
prebid#10628)

* Flipp Bid Adapter: initial release

* Added flippBidAdapter

* OFF-372 Support DTX/Hero in flippBidAdapter (#2)

* support creativeType

* OFF-422 flippBidAdapter handle AdTypes

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>

* OFF-465 Add getUserKey logic to prebid.js adapter (#3)

* Support cookie sync and uid

* address pr feedback

* remove redundant check

* OFF-500 Support "startCompact" param for Prebid.JS #4

* set startCompact default value (#5)

* fix docs

* use client bidding endpoint

* update unit testing endpoint

* OFF-876 [Prebid Adapter] Check userKey for empty string (#6)

* add more checks to userKey

* update document

* add uuid format statement

* modify docs

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>
pruthvimuga pushed a commit that referenced this pull request Mar 25, 2024
* Flipp Bid Adapter: initial release

* Added flippBidAdapter

* OFF-372 Support DTX/Hero in flippBidAdapter (#2)

* support creativeType

* OFF-422 flippBidAdapter handle AdTypes

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>

* OFF-465 Add getUserKey logic to prebid.js adapter (#3)

* Support cookie sync and uid

* address pr feedback

* remove redundant check

* OFF-500 Support "startCompact" param for Prebid.JS #4

* set startCompact default value (#5)

* fix docs

* use client bidding endpoint

* update unit testing endpoint

* OFF-876 [Prebid Adapter] Check userKey for empty string (#6)

* add more checks to userKey

* update document

* add uuid format statement

* modify docs

* fix network id

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>
// (and so no chance of a win) send the auction
case CONSTANTS.EVENTS.AUCTION_END:
Object.assign(
auctionCache[args.auctionId].floorDetail,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check for floorData exists from any of the bids

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done; we now check each ad unit for an appropriate bid payload and take the first configured floor data (so incorrect ad unit setups are avoided)

auctionCache[args.auctionId].floorDetail,
deepAccess(args, 'adUnits.0.bids.0.floorData')
);
auctionCache[args.auctionId].pageDetail.adUnits = args.adUnitCodes;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can remove this duplicate data and keep the adunits in auctionDetail

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done, the lambda endpoint that processes this data doesn't explicitly require it, and can construct it from elsewhere in the payload

// send the prebid winning bid back to pubx
case CONSTANTS.EVENTS.BID_WON:
const winningBid = extractBid(args);
const floorDetail = auctionCache[winningBid.auctionId].floorDetail;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can happen before auctionEnd as well, so better to get it the same way we get it in auctionEnd or save it during the auctionInit itself.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After double checking the code, it is technically possible for a publisher to operate such that they render the first bid that is returned by prebid, without waiting for any other bids to be returned, or for the end of the auction. This would be a publisher error, and would take quite a substantial amount of work for a publisher to do. (If you look at src/Prebid.js, src/auction.js and src/adRendering.js, you'll see that before prebid will render an ad, it expects to have accepted a suitable bid request for the ad slot, which in turn is managed by the auction_init event and registered as a callback in the running auction itself. As far as i can tell, there are no hooks available to "cancel" the running auction and interject a winning bid callback before the auction has ended, without implicitly ending the auction as a side effect of running the bidwon callback.)

Without operating in a malicious way, this case is "impossible", and so after discussion with PHN i've left this logic as-is.

const gptSlot = getGptSlotForAdUnitCode(bid);
if (gptSlot) {
return Object.fromEntires(
gptSlot.getTargetingKeys().map((key) => [key, gptSlot.getTargeting(key)])
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filter for relevant pubx and hb_pb keys only here

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done; we are now including only the "winning bid" hb_ keys, plus anything starting with "pubx-"

const payload = new Blob([JSON.stringify(data)], {
type: 'text/json',
});
navigator.sendBeacon(pubxaiAnalyticsRequestUrl, payload);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of sending the data for every auction, we can batch the data and call it once it exceeds certain size.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the lambda function which receives this data is not ready to handle batch data, and beacons are not designed for batching, rather they are designed for very small payloads as the browser session "unloads". Additionally, this method of sending data via beacon is consistent with other approaches in pubx:
https://github.com/Pubx-ai/stream/pull/6/files
So, i have made no changes

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nathan-pubx beacon supports payload upto 64KB. Even in the existing code base we batch and send logs when visibility change event is triggered(i.e when user leaves page) and not for every auction. lets add batching to this PR right away. In the mean time this PR gets approved in prebid, we will be updating the lambda's to support this.

if (hasBrowserSupport()) {
    document.addEventListener("visibilitychange", () => {
      if (document.visibilityState === "hidden") {
        pushLogs(aucErrorLogs, ERROR_LOG_API);
        pushLogs(pageErrorLogs, ERROR_LOG_API);
        pushLogs(aucEventLogs, EVENT_LOG_API);
      }
    });
  }

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tej656 (and @pnhegde , since you also asked a question about batching data)

I assume/hope this is in reference to this, more recent, pull request, for remote logging in the stream repo?

In which case, i've pushed review actions to implement similar behaviour, plus an additional test to check the batching logic. It's worth noting explicitly (although i'm sure you're aware) that the batch behaviour is not yet supported by the lambda function which is expected to process the payload. Additionally, I haven't changed the payload at all, so it can definitely be further optimised for smaller data transfer and marginally reduced cost. Let me know if you'd like me to make additional changes.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nathan-pubx Thanks. We have an update for the lambda to handle the batched data already.

@pnhegde
Copy link

pnhegde commented Apr 1, 2024

@nathan-pubx The above list of comments are from a PR review call we conducted last week and includes suggestion from all of us. Let me know if you want to connect over a call and discuss further.

Also, I would like to extend the requirements to include another field in the captured data which gives consent info. Probably we can make use of this - https://docs.prebid.org/dev-docs/publisher-api-reference/getConsentMetadata.html .

@nathan-pubx
Copy link
Collaborator Author

@nathan-pubx The above list of comments are from a PR review call we conducted last week and includes suggestion from all of us. Let me know if you want to connect over a call and discuss further.

Also, I would like to extend the requirements to include another field in the captured data which gives consent info. Probably we can make use of this - https://docs.prebid.org/dev-docs/publisher-api-reference/getConsentMetadata.html .

Done, but please check that you're happy with the payload. Additionally, i've added changes to address https://pubai.atlassian.net/browse/PUB-2160

@pnhegde pnhegde requested a review from pubXWill April 12, 2024 10:32
@pnhegde
Copy link

pnhegde commented Apr 29, 2024

@tej656 @nathan-pubx Is the beacon batching the data and making the request? Looks like it's not. Should we add visibilitychange event here?

@pnhegde pnhegde merged commit 9abb6ae into Pubx-ai:master Apr 30, 2024
2 checks passed
pnhegde pushed a commit that referenced this pull request Apr 30, 2024
* PE-87: Implement Prebid Adapter (#1)

* PE-87: implement BT Bid Adapter

* PE-87: rework adapter to use ortbConverter lib, make requested changes

* PE-87: update imports

* PE-110: Add user sync logic to the Prebid Adapter (#3)

* PE-110: add user sync logic

* PE-110: update userSync url

* PE-110: check if iframe is enabled before setting params

* PE-111: BT Prebid Adapter can request AA ads or regular ads (#2)

* PE-120: Send Prebid Bidder info to BT Server (#4)

* PE-120: add btBidderCode to the bid object

* PE-120: use single quotes for logs string

* PE-123: Add More Metadata in site.ext.blockthrough (#5)

* PE-123: send additional meta data

* PE-123: send auctionID under imp.ext.prebid.blockthrough

* PE-123: use ortb2 config to set site.ext params

* PE-123: sent auctionId in ext.prebid.blockthrough.auctionID

* PE-123: update logs for bidderConfig setup

* PE-000: check if blockthrough is defined (#6)

* PE-87: remove BT specific logic (#7)

* Implement Blockthrough Prebid Adapter

* PE-87: Implement Prebid Adapter - misc fixes (#9)

* PE-87: rename test file, add bidder config

* PE-87: increase ttl

* PE-000: fix test

* BP-74: Change the way we enable debug (#10)

* BP-79: Send GPID as a part of `imp[].ext` (#11)

* BP-79: send gpid in imp.ext

* BP-79: add optional operator

* BP-90: Update Cookie Sync Logic (#12)

* BP-90: pass bidder to cookie sync

* BP-90: update sync logic, fix typo

* BP-90: use const for syncs variable

* BP-55: Re-add endpoint URLs (#13)

* BP-91: Add prebid JS version to auction request (#14)
pnhegde pushed a commit that referenced this pull request Apr 30, 2024
* create setupadBidAdapter

* add setupadBidAdapter

* update setupadBidAdapter

* update metrics collection

* update analytics collection

* update getUserSyncs

* add setupadAnalyticsAdapter.js

* test setupadAnalyticsAdapter

* remove test: 1

* add GVLID && bug fixes && test updates

* remove setupadAnalyticsAdapter

* add userID module handling

* add GVLID && bug fixes && test updates

* remove setupadAnalyticsAdapter

* add userID module handling

* clean up && seat bugfix

* clean up logs

* add userID module handling

* update md && clean up

* Send setupad only on bidRequested

* Fix bidResponse and bidWon responses

* Improve bidResponse and bidWon logic

* Revert changes to specific files

* Remove test parameter

* Fix multiple bidResponse and bidTimeout calls to getPixelUrl

* eslint errors fixes(brackets added)

* Add extra checks for events

* Fix BIDDER_CODE const

* update reporting endpoint

* update setupadBidAdapter_spec.js REPORT_ENDPOINT

* update readme

* Revert "Merge branch 'prebid:master' into setupad-adapter"

This reverts commit 1c14dbe, reversing
changes made to 7fe9ea5.

* Revert "Revert "Merge branch 'prebid:master' into setupad-adapter""

This reverts commit a34e3e4.

* # This is a combination of 20 commits.
# This is the 1st commit message:

add setupadBidAdapter

# This is the commit message #2:

update setupadBidAdapter

# This is the commit message #3:

update metrics collection

# This is the commit message #4:

update analytics collection

# This is the commit message #5:

update getUserSyncs

# This is the commit message #6:

add setupadAnalyticsAdapter.js

# This is the commit message #7:

test setupadAnalyticsAdapter

# This is the commit message #8:

remove test: 1

# This is the commit message #9:

add GVLID && bug fixes && test updates

# This is the commit message #10:

remove setupadAnalyticsAdapter

# This is the commit message #11:

add userID module handling

# This is the commit message #12:

clean up && seat bugfix

# This is the commit message #13:

add userID module handling

# This is the commit message #14:

add GVLID && bug fixes && test updates

# This is the commit message #15:

remove setupadAnalyticsAdapter

# This is the commit message #16:

add userID module handling

# This is the commit message #17:

clean up logs

# This is the commit message #18:

update md && clean up

# This is the commit message #19:

Send setupad only on bidRequested

# This is the commit message #20:

Fix bidResponse and bidWon responses

* # This is a combination of 22 commits.tree 8abae7e6dffc9a21ad11770713ba485fc610028a
parent cecfce3
author pavel <pavel@setupad.com> 1706627437 +0200
committer pavel <pavel@setupad.com> 1706627437 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEqGYI3KX/FkbObQG8FABtd4pCs/AFAmW5EW0ACgkQFABtd4pC
 s/CK3w//WWJSFUlycnnNKTV2XfdcBjooOeZZvjpXVthwr09CCC4uO//kw4bPluhn
 f5fcVFdXzrY1AZ6ch8Wo3msX/Pkso014jIGd5aIWcHpNYFtffACwH/40Y8AcJNZd
 bsOZxVK0awPTz/RihC5eY+0J3cP+iFWP/FlYJoHEQIBXq/Eg6mWoAhxwpL/JvxbY
 QbLFWsRn2ckQ6ftOZgm3/jh8VLaG1zWbWImlWEs5Zel+CorJBTniTj58VbApelYD
 TFMgbSR2I4NGVaqNIrHePnSMsDATxalQ2nZPwY6raKCHWIbvoUPIn/OpDMMbKgC7
 nCwounNmObxFVoj3xusAZppzHpKPasY8xKWb2Kr7zfhZArsOMC6B7fYqQNK0cWG3
 8RR/10oheJD9M2kRlfLiqnRv7ExY08SQ/ZMo9LA8BeRUGBXhh6++8FKhKIHvX1gL
 k1R5W6c+NNWP+PDFsmrFpMn+LpYdl84I7yfYK5dHuw80od7f1wuAVYpswi6Cziy9
 /KY6/rfENvUrGTmWSh5GdDBel89ACCfFkasIKB92xhzKTfjzF/DXkc8XQZOMbt1j
 CsILgWMNfLPMo4Dlgdx/tYCSLLBNEtZ1/hhUcFQ3+0TzLf0GtMkvMnlBnDinqe1n
 1P30fQ2I5W5NJKDPrCOnRymI6QOAPFXtMF11R81mbB9H8asft/E=
 =oJtZ
 -----END PGP SIGNATURE-----

bugfixes

# This is the commit message #22:

Remove test parameter

* # This is a combination of 26 commits.
parent cecfce3
author pavel <pavel@setupad.com> 1706627437 +0200
committer pavel <pavel@setupad.com> 1706627437 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEqGYI3KX/FkbObQG8FABtd4pCs/AFAmW5EW0ACgkQFABtd4pC
 s/CK3w//WWJSFUlycnnNKTV2XfdcBjooOeZZvjpXVthwr09CCC4uO//kw4bPluhn
 f5fcVFdXzrY1AZ6ch8Wo3msX/Pkso014jIGd5aIWcHpNYFtffACwH/40Y8AcJNZd
 bsOZxVK0awPTz/RihC5eY+0J3cP+iFWP/FlYJoHEQIBXq/Eg6mWoAhxwpL/JvxbY
 QbLFWsRn2ckQ6ftOZgm3/jh8VLaG1zWbWImlWEs5Zel+CorJBTniTj58VbApelYD
 TFMgbSR2I4NGVaqNIrHePnSMsDATxalQ2nZPwY6raKCHWIbvoUPIn/OpDMMbKgC7
 nCwounNmObxFVoj3xusAZppzHpKPasY8xKWb2Kr7zfhZArsOMC6B7fYqQNK0cWG3
 8RR/10oheJD9M2kRlfLiqnRv7ExY08SQ/ZMo9LA8BeRUGBXhh6++8FKhKIHvX1gL
 k1R5W6c+NNWP+PDFsmrFpMn+LpYdl84I7yfYK5dHuw80od7f1wuAVYpswi6Cziy9
 /KY6/rfENvUrGTmWSh5GdDBel89ACCfFkasIKB92xhzKTfjzF/DXkc8XQZOMbt1j
 CsILgWMNfLPMo4Dlgdx/tYCSLLBNEtZ1/hhUcFQ3+0TzLf0GtMkvMnlBnDinqe1n
 1P30fQ2I5W5NJKDPrCOnRymI6QOAPFXtMF11R81mbB9H8asft/E=
 =oJtZ
 -----END PGP SIGNATURE-----

bugfixes

# This is the commit message #22:

Remove test parameter

# This is the commit message #23:

Fix multiple bidResponse and bidTimeout calls to getPixelUrl

# This is the commit message #25:

eslint errors fixes(brackets added)

# This is the commit message #26:

Add extra checks for events

* parent 75178b9
author pavel <pavel@setupad.com> 1706627694 +0200
committer pavel <pavel@setupad.com> 1706627694 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEqGYI3KX/FkbObQG8FABtd4pCs/AFAmW5Em4ACgkQFABtd4pC
 s/BBUQ/+NXyHoxPM185YJLG9M1ySC/5vTT9W5mfwQ93cVDLCeuGnpsnmi4S21NuQ
 b7gSeokFjwztvVOUmh/xqMp4lTsvL53TUd00b1k4KGVSqgcF00Foit5g8fOGLYsI
 DAoqphYV6MWjpAun+II+ELY8QUkHR1cjTc7PEGtmf+8RnptGVdyJ6C9Ab8u9TQTY
 Apj5Srhfo3Tl8S+WScOxwwB/uqEJR4fhIrJyzFzdLDEb2olSPyrQUs87vQXlhEnK
 buPEg2F5JsRH6sw11Xp3TFNSZGxNnBSlTh9dixou5md4yRCv5a2TMef667N0BVDp
 lGgc7mCrRKXyqzphmmeHudiscEGFjtUPObXoHutSVw22wdARFCTpNFKBLLFn4v8o
 Zv1OvFdNprvHsoeW0HVlZdU7OKnDTRrko6DHk2AahxojjvAFEWuDsGYZNjhdQwRR
 lK1zm+SFQnKI0Eojd+f84fvKod9geGs640jyH/x5R4eYm4yjZb8SkRtd3cca88wS
 OuGq9LIkbU428b46l7VnDwudldTXPUU8eKfUtFRjdGtIWH9I3tK6TsRoCfTcXkv0
 smxYiiU1XHjAkkPFWQWEeFdfZ071snFKVWouU0AoKiq+PdRoS8+3AJqIQUjlA2sH
 AybnSkv9KxY/Rs1bnvMubsQm1GF66qVrbxBU6FILBv1JZYwj4yA=
 =Gbog
 -----END PGP SIGNATURE-----

bugfixes

update setupadBidAdapter_spec.js REPORT_ENDPOINT

update readme

Revert "Merge branch 'prebid:master' into setupad-adapter"

This reverts commit 1c14dbe, reversing
changes made to 7fe9ea5.

Revert "Revert "Merge branch 'prebid:master' into setupad-adapter""

This reverts commit a34e3e4.

* change double quote to single quote

---------

Co-authored-by: pavel <pavel@setupad.com>
Co-authored-by: Elgars Grodnis <elgars@setupad.com>

* bugfix setupadBidAdapter

remove getAdEl, spelling correction

* add onBidWon event

onBidWon event handling moved from custom to native onBidWon method

* minor bugfixes && remove funk getSiteObj && getDeviceObj

---------

Co-authored-by: pavel <pavel@setupad.com>
Co-authored-by: Elgars Grodnis <elgars@setupad.com>
@pnhegde
Copy link

pnhegde commented Apr 30, 2024

@nathan-pubx Would you mind raising this PR again? I made some mistakes while merging and reverted. Now can't see the the updates anywhere.

pnhegde pushed a commit that referenced this pull request Jul 3, 2024
* Flipp Bid Adapter: initial release

* Added flippBidAdapter

* OFF-372 Support DTX/Hero in flippBidAdapter (#2)

* support creativeType

* OFF-422 flippBidAdapter handle AdTypes

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>

* OFF-465 Add getUserKey logic to prebid.js adapter (#3)

* Support cookie sync and uid

* address pr feedback

* remove redundant check

* OFF-500 Support "startCompact" param for Prebid.JS #4

* set startCompact default value (#5)

* fix docs

* use client bidding endpoint

* update unit testing endpoint

* OFF-876 [Prebid Adapter] Check userKey for empty string (#6)

* add more checks to userKey

* update document

* add uuid format statement

* modify docs

* fix network id

* use compactHeight and standardHeight in customData (#7)

* OFF-1455 [Prebid.js] height should use the compactHeight and standardHeight fields in decisions response (#8)

* Flipp Bid Adapter: initial release

* Added flippBidAdapter

* OFF-372 Support DTX/Hero in flippBidAdapter (#2)

* support creativeType

* OFF-422 flippBidAdapter handle AdTypes

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>

* OFF-465 Add getUserKey logic to prebid.js adapter (#3)

* Support cookie sync and uid

* address pr feedback

* remove redundant check

* OFF-500 Support "startCompact" param for Prebid.JS #4

* set startCompact default value (#5)

* fix docs

* use client bidding endpoint

* update unit testing endpoint

* OFF-876 [Prebid Adapter] Check userKey for empty string (#6)

* add more checks to userKey

* update document

* add uuid format statement

* modify docs

* fix network id

* use compactHeight and standardHeight in customData

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>

* Update flippBidAdapter.js

* use compactHeight and standardHeight in customData (#7)

* update docs

* fix unit test

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>
pnhegde pushed a commit that referenced this pull request Jul 23, 2024
* upgrade prebid js

* added conversantBidAdapter

* added criteoBidAdapter, tripleliftBidAdapter, pulsepointBidAdapter

* adtelligent bid adapter

* remove oneVideoBidAdapter from modules.json

* added yieldmo bid adapter

* build:connatix script

* removed flocIdSystem & TrustxBidAdapter from modules.json

* added aniview bid adapter

* moved line

* added nextMillennium adapter to modules.json

* newline at the end of the file

* added new adapters

* added minutemedia adapter

* added richaudience adapter

* Revert "added richaudience adapter"

This reverts commit d87cb0d.

* Revert "added minutemedia adapter"

This reverts commit ac53dff.

* Added Permutive RTD module

* comma

* [feat] add sharethroughBidAdapter

* Add consentManagementGpp module

* fix gpp signal (#5)

* remove gpp module because no need to support it yet

* LiveRamp submodule identityLink

* added sonobi bid adapter

* upgrade to prebid 8.17.0

* added pgamsspBidAdapter because its alias was removed from adtelligentBidAdapter in 8.x.0

* added ozone as Connatix bidder partner

* added showheroes adapter

* added seedtag bid adaptor

* added minutemedia

* removed duplicated minute media

* added sovrn bid adapter

* fix: add consentManagementGpp module

* added new build and gannet adapters

* renamed build command

* added specific modules for gannett

* added kueezRtb bid adaptor

* added video media type support for connatix bid adapter

* added all the recommended params to video media type mock

* improved validateVideo function

* impreoved validateVideo function once again:)

* removed redundant checks in bid request validation

* clarified test it statement

* improved unit tests

* updated validateVideo function

* removed modules.json

* removed connatix build script

---------

Co-authored-by: Rares Mihai Preda <rares.preda@connatix.com>
Co-authored-by: Darian <darian.avasan@connatix.com>
Co-authored-by: alexandru.calauz <alexandru.calauz@connatix.com>
Co-authored-by: cosminser <80513728+cosminser@users.noreply.github.com>
Co-authored-by: Gaina Dan <dan.gaina@connatix.com>
Co-authored-by: Cristi Silav <cristian.silav@connatix.com>
Co-authored-by: mariusszabo <33828291+mariusszabo@users.noreply.github.com>
Co-authored-by: Marius Szabo <marius.szabo@connatix.com>
Co-authored-by: Octavia Suceava <octavia.suceava@connatix.com>
Co-authored-by: Marius Potor <marius.potor@connatix.com>
pnhegde pushed a commit that referenced this pull request Sep 18, 2024
* fix(greenbids,analytics): send cpm on any valid bid (#5)

* fix(greenbids,analytics): cpm not passed

* bump version number

* fix unit tests
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.

3 participants