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

ortbConverter: send max tmax #10964

Closed
bretg opened this issue Jan 18, 2024 · 13 comments
Closed

ortbConverter: send max tmax #10964

bretg opened this issue Jan 18, 2024 · 13 comments

Comments

@bretg
Copy link
Collaborator

bretg commented Jan 18, 2024

Type of issue

enhancement

Description

The ortbConverter lib sets the ORTB tmax value to s2sConfig.timeout. This is great, but we have a module that would like to know the actual client-side timeout -- the timeout passed to pbjs.requestBids.

Specifically the use case is timeout optimization. We're exploring a server-side module that would help the publisher optimize the timeout value, essentially ignoring tmax and experimenting with other, possibly more effective values. But we need to know the ceiling for how far these explorations should go.

We propose passing the client-side timeout value as ext.tmaxmax.

@patmmccann
Copy link
Collaborator

patmmccann commented Jan 19, 2024

The actual timeout is higher than the ceiling, why not just ask the publisher to set an actual ceiling they are comfortable with?

@bretg
Copy link
Collaborator Author

bretg commented Jan 19, 2024

Are you suggesting that pubs just set s2sConfig.timeout to be the same as what's sent in pbjs.requestBids() and use that as the ceiling?

I would solidly prefer not to have to (A) document that and (B) get existing pubs to change the page if/when they want to try this feature when it's easy and effective to get the client-side timeout.

@dgirardi
Copy link
Collaborator

from here:

If the s2sConfig timeout is greater than the Prebid.js timeout, the s2sConfig timeout will be automatically adjusted to 75% of the Prebid.js timeout in order to fit within the auction process.

AFAIK this has never been the case since at least my time with Prebid. Do we want to also implement something like it - maybe a fixed 500ms discount? (percentage doesn't make a lot of sense to me, if I increase client-side timeout it's not like the latency to server also increases).

@bretg
Copy link
Collaborator Author

bretg commented Jan 22, 2024

this has never been the case since at least my time with Prebid

Hmm. Good topic. I think 500ms would be an overly large buffer. The number depends a lot on the user's network proximity to the nearest Prebid Server. Discuss in a future meeting?

@bretg
Copy link
Collaborator Author

bretg commented Jan 25, 2024

Discussed. Agreed that a publisher should be able to define the tmaxmax like this:

pbjs.setConfig({
   ortb2: {
      ext: {
         tmaxmax: 888
      }
   }
});

The ortbConverter library should check for the existence of ext.tmaxmax and if not there, set it to the timeout value passed to requestBids()

@bmjoju
Copy link

bmjoju commented Feb 21, 2024

@bretg I can also add that the below does not seem to be the working

If the s2sConfig timeout is greater than the Prebid.js timeout, the s2sConfig timeout will be automatically adjusted to 75% of the Prebid.js timeout in order to fit within the auction process.

Tried setting timeout in s2s to 9000 and timeout in requestbids is 600, but tmax is still 9000 in the request.

bretg added a commit to prebid/prebid.github.io that referenced this issue Feb 21, 2024
bretg added a commit to prebid/prebid.github.io that referenced this issue Feb 21, 2024
@bretg
Copy link
Collaborator Author

bretg commented Feb 21, 2024

Thanks for confirming @bmjoju - fixed the docs page.

@patmmccann
Copy link
Collaborator

@bretg can you remind me, is Magnite picking this up?

@patmmccann
Copy link
Collaborator

Tried setting timeout in s2s to 9000 and timeout in requestbids is 600, but tmax is still 9000 in the request.

Should we track this as a different bug?

@bretg
Copy link
Collaborator Author

bretg commented Mar 11, 2024

is Magnite picking this up?

Code for PBS-Java looking at tmaxmax is in QA.

Tried setting timeout in s2s to 9000 and timeout in requestbids is 600, but tmax is still 9000 in the request.

Not sure how that could be. @bmjoju - what version of PBJS are you running. The latest code in the ortbconverter does this:

request.tmax = s2sBidRequest.s2sConfig.timeout;

@bmjoju
Copy link

bmjoju commented Mar 12, 2024

@bretg It is version v8.31.0. It was this in the documentation that didnt work and you also fixed the docs:

If the s2sConfig timeout is greater than the Prebid.js timeout, the s2sConfig timeout will be automatically adjusted to 75% of the Prebid.js timeout in order to fit within the auction process.

The tmax is working and set to what im setting timeout to in the s2sConfig. But the docs just said that the timeout in the s2sConfig config would be adjusted if set too high than the prebid.js timeout used in requestbids.

@jefftmahoney
Copy link
Contributor

jefftmahoney commented May 20, 2024

If a publisher did something like define tmaxmax and s2sConfig.timeout, would it be correct to assume that we'd want the ortbConverter library to go with tmaxmax?

Or would we want that seen as an invalid config setup?

@bretg
Copy link
Collaborator Author

bretg commented May 21, 2024

@jefftmahoney - the comment #10964 (comment) suggests

The ortbConverter library should check for the existence of ext.tmaxmax and if not there, set it to the timeout value passed to requestBids()

It's not an error condition.

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

No branches or pull requests

6 participants