Intent to Ship: Protected Audience: Allow trusted bidding signals to trigger interest group updates

552 views
Skip to first unread message

Paul Jensen

unread,
May 31, 2024, 10:41:05 AMMay 31
to blink-dev

Contact emails

paulj...@chromium.org


Explainer

https://github.com/WICG/turtledove/pull/1095


Specification

https://github.com/WICG/turtledove/pull/1124


Summary

The Protected Audience API allows bidders to store information, called an interest group, from a single site in the browser that can only be read later in the context of an auction.  Today, interest groups can be updated by fetching new values from a server.  For all interest groups, the frequency of these updates is rate limited to at most once a day to conserve network traffic and avoid overwhelming servers.  However, we've heard from developers that certain ad campaigns need much more timely updates.  During Protected Audience auctions, the browser fetches real-time signals from bidders' key-value servers.  This proposal allows the response to these fetches to indicate a subset of interest groups they’d like updated more frequently than once a day.


Blink component

Blink>InterestGroups


TAG review

For Protected Audience: https://github.com/w3ctag/design-reviews/issues/723


TAG review status

Completed for Protected Audience, resolved unsatisfied.


Risks

Interoperability and Compatibility

Feature represents optional new behavior that shouldn’t break existing usage.


Gecko & WebKit: No signal on parent proposal, Protected Audience.  Asked in the Mozilla forum here, and in the Webkit forum here.


Edge: Edge has announced plans to support the Ad Selection API which shares much of its API surface with Protected Audience.


Web developers:

Feature requested by Microsoft in GitHub issue.


Debuggability

Protected Audience trusted bidding signals show up in the DevTools Network pane. Updates show up in the Application -> Storage -> Interest Groups DevTools pane.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

It will be supported on all platforms that support Protected Audience, so all but WebView.


Is this feature fully tested by web-platform-tests?

Yes.


Flag name on chrome://flags

None


Finch feature name

InterestGroupUpdateIfOlderThan


Requires code in //chrome?

False


Estimated milestones

Shipping on desktop and Android in M125.


Anticipated spec changes

None


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5162656775536640


This intent message was generated by Chrome Platform Status.

Mike Taylor

unread,
Jun 3, 2024, 10:16:06 PMJun 3
to Paul Jensen, blink-dev

On 5/31/24 11:40 PM, Paul Jensen wrote:

Contact emails

paulj...@chromium.org


Explainer

https://github.com/WICG/turtledove/pull/1095


Specification

https://github.com/WICG/turtledove/pull/1124


Summary

The Protected Audience API allows bidders to store information, called an interest group, from a single site in the browser that can only be read later in the context of an auction.  Today, interest groups can be updated by fetching new values from a server.  For all interest groups, the frequency of these updates is rate limited to at most once a day to conserve network traffic and avoid overwhelming servers.  However, we've heard from developers that certain ad campaigns need much more timely updates.  During Protected Audience auctions, the browser fetches real-time signals from bidders' key-value servers.  This proposal allows the response to these fetches to indicate a subset of interest groups they’d like updated more frequently than once a day.


Blink component

Blink>InterestGroups


TAG review

For Protected Audience: https://github.com/w3ctag/design-reviews/issues/723


TAG review status

Completed for Protected Audience, resolved unsatisfied.


Risks

Interoperability and Compatibility

Feature represents optional new behavior that shouldn’t break existing usage.


Gecko & WebKit: No signal on parent proposal, Protected Audience.  Asked in the Mozilla forum here, and in the Webkit forum here.


Edge: Edge has announced plans to support the Ad Selection API which shares much of its API surface with Protected Audience.


Web developers:

Feature requested by Microsoft in GitHub issue.

I don't see any feedback from Microsoft on this design in the issue (just from Criteo, which seems inconclusive). Have they given feedback elsewhere?


Debuggability

Protected Audience trusted bidding signals show up in the DevTools Network pane. Updates show up in the Application -> Storage -> Interest Groups DevTools pane.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

It will be supported on all platforms that support Protected Audience, so all but WebView.


Is this feature fully tested by web-platform-tests?

Yes.


Flag name on chrome://flags

None


Finch feature name

InterestGroupUpdateIfOlderThan


Requires code in //chrome?

False


Estimated milestones

Shipping on desktop and Android in M125.


Anticipated spec changes

None


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5162656775536640


This intent message was generated by Chrome Platform Status.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABQTWr%3DWxOenJmSZ5oW%3DVDdJ9q1nwovSJdgPw_91Fp3fkV01ew%40mail.gmail.com.

Caleb Raitto

unread,
Jun 4, 2024, 1:53:31 PMJun 4
to blink-dev, Mike Taylor, blink-dev, Paul Jensen
Response inline

On Monday, June 3, 2024 at 10:16:06 PM UTC-4 Mike Taylor wrote:

On 5/31/24 11:40 PM, Paul Jensen wrote:

Contact emails

paulj...@chromium.org


Explainer

https://github.com/WICG/turtledove/pull/1095


Specification

https://github.com/WICG/turtledove/pull/1124


Summary

The Protected Audience API allows bidders to store information, called an interest group, from a single site in the browser that can only be read later in the context of an auction.  Today, interest groups can be updated by fetching new values from a server.  For all interest groups, the frequency of these updates is rate limited to at most once a day to conserve network traffic and avoid overwhelming servers.  However, we've heard from developers that certain ad campaigns need much more timely updates.  During Protected Audience auctions, the browser fetches real-time signals from bidders' key-value servers.  This proposal allows the response to these fetches to indicate a subset of interest groups they’d like updated more frequently than once a day.


Blink component

Blink>InterestGroups


TAG review

For Protected Audience: https://github.com/w3ctag/design-reviews/issues/723


TAG review status

Completed for Protected Audience, resolved unsatisfied.


Risks Interoperability and Compatibility

Feature represents optional new behavior that shouldn’t break existing usage.


Gecko & WebKit: No signal on parent proposal, Protected Audience.  Asked in the Mozilla forum here, and in the Webkit forum here.


Edge: Edge has announced plans to support the Ad Selection API which shares much of its API surface with Protected Audience.


Web developers:

Feature requested by Microsoft in GitHub issue.

I don't see any feedback from Microsoft on this design in the issue (just from Criteo, which seems inconclusive). Have they given feedback elsewhere?


The response from Microsoft (ads) is here: https://github.com/WICG/turtledove/issues/729#issuecomment-1822190741 -- it's the opening paragraph that starts with "I do think having a 'please refresh when this auction is over' lever is a clear improvement over the current situation from a functionality perspective".
 


Debuggability

Protected Audience trusted bidding signals show up in the DevTools Network pane. Updates show up in the Application -> Storage -> Interest Groups DevTools pane.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

It will be supported on all platforms that support Protected Audience, so all but WebView.


Is this feature fully tested by web-platform-tests?

Yes.


Flag name on chrome://flags

None


Finch feature name

InterestGroupUpdateIfOlderThan


Requires code in //chrome?

False


Estimated milestones

Shipping on desktop and Android in M125.


Anticipated spec changes

None


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5162656775536640


This intent message was generated by Chrome Platform Status.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Mike Taylor

unread,
Jun 10, 2024, 2:41:20 PMJun 10
to Caleb Raitto, blink-dev, Paul Jensen

OK - thanks. I was hoping they might have responded elsewhere to your request for feedback from April or May, but I don't see a reason to block on that.

LGTM1

Yoav Weiss (@Shopify)

unread,
Jun 10, 2024, 11:47:20 PMJun 10
to Mike Taylor, Caleb Raitto, blink-dev, Paul Jensen
LGTM2

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a64b7e39-ef35-4b72-b064-d13c3fb8c821%40chromium.org.

Vladimir Levin

unread,
Jun 11, 2024, 11:46:09 AMJun 11
to Yoav Weiss (@Shopify), Mike Taylor, Caleb Raitto, blink-dev, Paul Jensen
I think this is an improvement to the platform. My only small (bikeshed) concern is the name of the variable: updateIfOlderThanMs. Instead of a day, it seems that we're going down to millisecond level. The spec also says 
> An `updateIfOlderThanMs` that's less than 10 minutes will be clamped to 10 minutes.

Was milliseconds chosen as consistency with time units in the platform or something else?

Thanks,
Vlad

Caleb Raitto

unread,
Jun 11, 2024, 12:28:29 PMJun 11
to blink-dev, Vladimir Levin, Mike Taylor, Caleb Raitto, blink-dev, Paul Jensen, Yoav Weiss
Yes, milliseconds was chosen for consistency with time units in the web platform, per guidance in [0].

-Caleb

[0] https://w3ctag.github.io/design-principles/#milliseconds

LGTM2

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Vladimir Levin

unread,
Jun 11, 2024, 1:06:23 PMJun 11
to Caleb Raitto, blink-dev, Mike Taylor, Paul Jensen, Yoav Weiss
LGTM3

Thanks!

LGTM2

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/225b47fa-4fd6-450b-bb04-18c944f1510dn%40chromium.org.
Reply all
Reply to author
Forward
0 new messages