-
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
Permutive RTD submodule: TrustX update #7001
Conversation
Can you start setting the global ortb2 object? All these custom sets are not ideal, as you point out There appears to be an agreement this is coming soon in the original review Fwiw we have held other rtd submodules until they meet this requirement, eg digital Garage and sirdata. |
Thanks for picking this up @patmmccann TrustX have asked us to provide the data in specifically this format - @PWyrembak please let me know if you'd like us to stick with the structure in this PR, or to change it to something like pbjs.setBidderConfig({
bidders: ['trustX'],
config: {
ortb2: {
user: {
data: [{
name: 'permutive.com',
segment: [
{ id: '1' }
]
}]
}
}
}
}) (or we could do both in parallel) |
I have no worries with you setting things in a specific way for any specific adapter as long as you also set global. We don't want RTD submodules becoming kingmakers of which bid adapters have access to seller defined audiences and which do not. |
@patmmccann - We want to give publishers the control of where to send specific segments to. For example, let's say a publisher creates a custom segment for a specific campaign and they're transacting with the buyer via a PMP in Xandr. If they only enable the Xandr activation for this segment in Permutive, we won't push the segment ID to any other SSP. This means (1) we define the It's similar for this PR: The publisher will need to explicitly instruct us to send a certain set of segments to TrustX. And these segment IDs wouldn't be of much value to other bidders, because they are created for specific use-cases and they're arbitrary IDs. I'm very supportive of using the |
The changes made in this PR looks good. But, I'd wait for @bretg to review as well. If I'm not wrong, I think he wrote a comment in one of your earlier PRs to set the data to both key/value pair and the |
It's ok if the bid adapter don't look at the standard location -- you can set it there anyhow. This solves the chicken/egg problem. Hopefully we can guilt them over time to getting it from the right place. Here's what we want to see:
Please work with Steve Francolla to determine the right syntax for the user.data[]. Permutive will need a segtax value -- Steve's the chair of the Prebid Taxonomy committee so should be able to make this happen. This all said, if you are on a tight timeline for TrustX, we could accept a promise to make this change in a near-future release. |
Hi @dreischer @bretg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
#7074 appears to be an example of the poor behavior permutive is encouraging. I would suggest we hold this pr, 7074, and any other customizations related to permutive until they are in compliance. We don't want every bidder having to make a pr to support permutuve and another to support ortb2 object. |
@PWyrembak that's great thanks. I've update the integration so we now use @bretg Does this update look good to you? I had two questions:
I'd be happy to set data for the other bidders the same way if that's preferred. As far as I'm aware the Magnite bidder will just filter it out and the Ozone and Xandr don't support it, but I guess it doesn't hurt if it's there. My only concern is how we can cover it with tests while it's not supported, but that is wider question anyway (question 2 above) Thanks for the reminder for the dev-docs page @bretg - I'll make sure we get a PR for that |
@patmmccann I wasn't familiar with the PR you linked. But after taking a quick look it seems as if the PR is adding support for pubmatic: function (bid, data, acEnabled) {
if (acEnabled && data.ac && data.ac.length) {
setBidderRtb('pubmatic', data.ac)
}
} |
Your last commit appears to only set the global if someone is using trustx.
You should set the global regardless; you don't get to pick and choose
which bidders have access to these data, publishers do.
…On Tue, Jun 22, 2021, 7:42 AM David Reischer ***@***.***> wrote:
@patmmccann <https://github.com/patmmccann> I wasn't familiar with the PR
you linked. But after taking a quick look it seems as if the PR is adding
support for ortb2.user.data. Today the Permutive submodule does not
connect to Pubmatic. But if their adapter now supports ortb2.user.data
and they're also adding Pubmatic to the Permutive submodule, then I agree
that we should use the same pattern as my last commit on this PR (pending
@bretg <https://github.com/bretg>'s feedback). So it would look something
like this:
pubmatic: function (bid, data, acEnabled) {
if (acEnabled && data.ac && data.ac.length) {
setBidderRtb('pubmatic', data.ac)
}}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#7001 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAM25Z2S5XB2WQOV723S3ETTUCHMPANCNFSM46OKT5OQ>
.
|
@dreischer - the requirements are:
That said, if you have to do special logic for certain bidders, not ideal, but it's ok as long as it's publisher-configurable and standard conventions are followed in addition to whatever special stuff is needed. In your case:
You have two choices for writing to user.data on a per-bidder basis:
Some questions that could be asked about your module:
|
@@ -93,25 +93,6 @@ describe('permutiveRtdProvider', function () { | |||
}) | |||
} | |||
}) | |||
it('sets segment targeting for TrustX', function () { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're just deleting tests, you need to replace them with new tests
modules/permutiveRtdProvider.js
Outdated
@@ -121,16 +125,34 @@ function getDefaultBidderFn (bidder) { | |||
}, | |||
trustx: function (bid, data, acEnabled) { | |||
if (acEnabled && data.ac && data.ac.length) { | |||
deepSetValue(bid, 'params.keywords.p_standard', data.ac) | |||
setBidderRtb('trustx', data.ac) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the exact logic to pass data to any generic bidder, instead of whitelabeling just trustx, please make bidder name configurable so publishers can call this function for any bidder.
This would make #7074 unnecessary
Spoke with @dreischer about this - the plan is to work in the getBidderConfig solution above. For the record the 2nd option doesn't work because this value is global, not per-adunit. |
Hey @bretg - the latest commit includes the changes we discussed: We now set |
This pull request introduces 1 alert when merging 1b1e0e8 into ad36dcd - view on LGTM.com new alerts:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks @dreischer - it would be help to note in the docs what data is set -- this module will be a template for others.
Thanks for reviewing @bretg - I now also updated the readme as of your suggestion |
* Update Premutive <> TrustX integration * remove old TrustX code * use ortb2 for trustx * enable ortb2 setBidderConfig * remove superfluous argument * Readme update
Update to how Permutive passes segments to the TrustX adapter
Type of change