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

Spec Multibid (reland) #1138

Merged
merged 5 commits into from May 6, 2024
Merged

Spec Multibid (reland) #1138

merged 5 commits into from May 6, 2024

Conversation

morlovich
Copy link
Collaborator

@morlovich morlovich commented Apr 16, 2024

This permits generateBid() to return (and setBid to take) a sequence of bids as an alternative to a single one. A k-anon rerun, still limited to producing a single bid, will now happen when none of the returned bids are k-anonymous (which is equivalent to current behavior when one bid is produced).

To make it easier to produce k-anonymous bids when component ads are involved without relying on a re-run, this also adds optional targetNumAdComponents and numMandatoryAdComponents fields to bid to request implementations to drop some component ads in order to make a bid k-anonymous.

See #595


Preview | Diff

This permits generateBid() to return (and setBid to take) a sequence of bids as an alternative to a single one.
A k-anon rerun, still limited to producing a single bid, will now happen when none of the returned bids are k-anonymous (which is equivalent to current behavior when one bid is produced).

To make it easier to produce k-anonymous bids when component ads are involved without relying on a re-run,
this also adds optional targetNumAdComponents and numMandatoryAdComponents fields to bid to request implementations to drop some component ads in order to make a bid k-anonymous.

See WICG#595
@morlovich morlovich changed the title Spec Multibid Spec Multibid (reland) Apr 16, 2024
@morlovich morlovich mentioned this pull request Apr 16, 2024
@qingxinwu qingxinwu added the spec Relates to the spec label Apr 17, 2024
@domfarolino
Copy link
Collaborator

Can you make a comment here linking to the old PR and pointing to each of the not-yet-resolved comments from the old reviews?

@morlovich
Copy link
Collaborator Author

How would I link to comments?

@domfarolino
Copy link
Collaborator

@morlovich
Copy link
Collaborator Author

nm, found it.
So original request is #1055

I think the only remaining comment is
#1055 (comment) and its parent; though my reply seems to have disappeared somewhere --- basically I answered that it's just a unique ID, and with no meaningful semantic beyond that.

@qingxinwu
Copy link
Collaborator

@domfarolino friendly ping.

spec.bs Outdated Show resolved Hide resolved
spec.bs Outdated Show resolved Hide resolved
spec.bs Outdated Show resolved Hide resolved
spec.bs Outdated Show resolved Hide resolved
spec.bs Outdated Show resolved Hide resolved
spec.bs Show resolved Hide resolved
spec.bs Outdated
|oneOrManyBids|, an integer |multiBidLimit|, an [=interest group=] |ig|, a [=currency tag=] |expectedCurrency|, a [=boolean=]
|isComponentAuction| and a [=boolean=] |groupHasAdComponents|:
1. Let |bidSequence| be [=sequence=]<{{GenerateBidOutput}}>.
1. If |oneOrManyBids| is a {{GenerateBidOutput}}, then set |bidSequence| to « |oneOrManyBids| ».
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you mean to take the type in as a union type, and get its "specific type"? (See my WebIDL link above)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a bit more than that, it's basically a union of one GenerateBidOutput or a sequence of GenerateBidOutput, and I want to handle the singleton the same way I would handle a sequence with one entry

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure that makes sense, I'm recommending that you link to specific type instead of say "is a". See https://urlpattern.spec.whatwg.org/#ref-for-dfn-specific-type for example.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, didn't realize it was a term (the quotes somehow didn't clue me in). Done, thanks.

spec.bs Outdated Show resolved Hide resolved
spec.bs Outdated Show resolved Hide resolved
@zhuoli-fledge
Copy link

Is there any ordering indication on the sequence returned by generateBid? (e.g. the first ad in the sequence has the highest priority)

Or is it just a set of ads that each has a equal weight?

@morlovich
Copy link
Collaborator Author

No semantic significance to order of sequence of bids [1], except the returned values are scored in order, which might matter for cumulative timeout, however.

[1] order of component ads matters if you use targetNumAdComponents

@morlovich
Copy link
Collaborator Author

Ping Dominic?

Copy link
Collaborator

@domfarolino domfarolino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM % minor nit: #1138 (comment).

@JensenPaul JensenPaul merged commit ebbee81 into WICG:main May 6, 2024
2 checks passed
github-actions bot added a commit that referenced this pull request May 6, 2024
SHA: ebbee81
Reason: push, by JensenPaul

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec Relates to the spec
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants