Skip to content

Priorities between interest groups #1408

Open
@fabricegaignier

Description

@fabricegaignier

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions