Description
Interest groups can be defined with priorities (fields priority
and priority vector
). This impacts the selection of interest groups when the seller specifies perBuyerGroupLimits
: interest groups that shall participate in the auction are selected by order of decreasing priority, up to the specified limit.
But it can also impact the order of generateBid
execution: https://github.com/WICG/turtledove/blob/main/PA_implementation_overview.md#phase-2-bidding-and-scoring-phase
Also, interest groups that share an executor are guaranteed to be run in the priority order they were sorted into (this may change if trusted signals fetches are split up, though). Interest groups that don’t share an executor are run on the basis of whichever has everything it needs to run first, runs first.
So for execution mode group-by-origin
interest groups are evaluated in increasing order of priority. We could observe it.
For execution mode compatibility
or frozen-context
interest groups are run on the basis of whichever has everything it needs to run first, runs first. So no imposed order. And again we can observe this quite easily.
We think that it would make sense to use the same order of priority in both IG selection and evaluation, and to use that order of priority in all evaluation modes.
For executionMode = group-by-origin
we would expect that interest groups are evaluated in decreasing priority order instead of increasing priority order, to be consistent with the way IG participation might be limited by perBuyerGroupLimits
.
Indeed, with that change:
Buyers would assign higher priority values to more "interesting" IGs.
-
The higher the priority value, the more likely an IG would pass perBuyerGroupLimits and be selected in for the auction.
-
The higher the priority value, the sooner the IG would be evaluated, and the less likely the IG evaluation would be canceled due to perBuyerCumulativeTimeout
For other execution modes, interest groups should also be evaluated in decreasing order of priority (if trusted signals fetches are not split up). Indeed for a trusted bidding signal response batch, the interest groups in that batch should all have everything needed at the same moment. And it would therefore make sense to run them in priority decreasing order.