-
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
Criteo real time user sync #3930
Conversation
const onResponse = utils.delayExecution(afterAllResponses, bidders.length); | ||
|
||
bidders.forEach((bidder) => { | ||
let url = `https://gum.criteo.com/sync?c=${configParams.clientIdentifier[bidder]}&r=3`; |
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 isn't going to scale out so well. Is that the only way Criteo supports (1 ID at a time?)
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.
Yes, each bidder will have it's own client identifier. As per information we have now, this seems only option for now. There will be changes once we know more about this.
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.
Overall LGTM. Let's get @idettman to review as well
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.
Note, awaiting update to the Prebid.js submodule bundling system. A small change to this PR, specifically to the id system will be required once bundling change has been merged.
modules/userId.js
Outdated
@@ -298,6 +300,13 @@ function initSubmodules(submodules, consentData) { | |||
} else if (submodule.config.value) { | |||
// cache decoded value (this is copied to every adUnit bid) | |||
submodule.idObj = submodule.config.value; | |||
} else { | |||
let result = submodule.submodule.getId(submodule.config.params, consentData); |
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.
If result
is not reassigned, should be a const
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.
Done
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.
One small change, the rest looks good
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.
Small change for changing result
from let
to const
@idettman Updated to use submodules pattern and updated let to const |
Docs PR prebid/prebid.github.io#1381 |
* add criteo rtus submodule and user id changes * update appnexus adapter to include criteo user id * updated to submodules pattern
* add criteo rtus submodule and user id changes * update appnexus adapter to include criteo user id * updated to submodules pattern
@jaiminpanchal27 - noticed that several user ID modules aren't being supported by prebid server bid adapter, with criteortus being one of them. Who were you working with at criteo on this module? We need to confirm with them what source value they'd like for user.ext.eids.source. e.g.
|
* add criteo rtus submodule and user id changes * update appnexus adapter to include criteo user id * updated to submodules pattern
Type of change
Description of change
Bidders who work with Criteo can increase their demand by sending user id to Criteo. This PR adds criteo rtus id system. Bidders need to configure their own client identifier in order to get the user id. Use following snippet on page.
This PR also removes storage restrictions in user id module. #3883
User id returned by criteo has max age of 1 hour and user id module stores the id in cookie or local storage for days. Workaround to do this was module can handle its own storage without hurting the auction timing.
TODO: Docs PR coming soon