Contact emails shivani...@chromium.org, d...@chromium.org, jkar...@chromium.org, lbr...@google.com Explainer(s)
Send Automatic Beacons Once https://github.com/WICG/turtledove/pull/718 Serializable Fenced Frames Configs - Minor Change, No explainer available. Note: With this change, FencedFrameConfig objects will be serializable and can be sent through "postMessage()" and other similar calls. Creative Macros in Fenced Frames Ads Reporting (FFAR) https://github.com/WICG/turtledove/pull/763 Spec(s) Send Automatic Beacons Once https://github.com/WICG/fenced-frame/pull/109 Serializable Fenced Frames Configs https://github.com/WICG/fenced-frame/pull/111 Creative Macros in Fenced Frames Ads Reporting (FFAR) Protected Audience: https://github.com/WICG/turtledove/pull/762/files Fenced Frames: https://github.com/WICG/fenced-frame/pull/113 Summary We launched Fenced Frames as a part of Chrome 115. We would like to add the following three functionalities to Fenced Frames. 1. Send Automatic Beacons Once A common feature in ad frames is the "why this ad?" link. Since that link is separate from the ad itself, clicking "why this ad?", and its subsequent navigation, should be considered different from clicking directly on the advertisement itself. With our current automatic beacon design, however, once an automatic beacon is set (usually in the click handler for the ad link), that beacon will send out for any subsequent top-level navigations, including if "why this ad?" is clicked. This can result in erroneous impressions being sent out. As a solution, this feature introduces a new "once" member to the FenceEvent <https://wicg.github.io/fenced-frame/#dictdef-fenceevent> dictionary passed into "window.fence.setReportEventDataForAutomaticBeacons()". If set to true, the saved automatic beacon data will be cleared out after the next beacon is sent, ensuring that automatic beacons with that data are only sent once. This means that further clicks to non-ad parts of the frame that result in top-level navigations will not send out erroneous beacons. (This feature already shipped in M116. That was our mistake. At the time, we thought we would only need a PSA for it, and shipped it without it being behind a flag. We apologize for the mistake.) 2. Serializable FencedFramesConfigs With this change, FencedFrameConfig objects will be serializable and can be sent through "postMessage()" and other similar calls. Serialization allows for a case where the frame that runs an ad auction is not the same frame that ends up embedding the winning ad in a fenced frame. FencedFrameConfigs cannot be serialized to storage, nor can they be sent in a message that crosses a fenced frame boundary. A FencedFrameConfig object is only valid in the traversable navigable <https://wicg.github.io/fenced-frame/#traversable-navigables> it was originally created in, and, if sent outside to a different context, will not be able to navigate, since the new traversable navigable <https://wicg.github.io/fenced-frame/#traversable-navigables>'s fenced frame config mapping <https://wicg.github.io/fenced-frame/#traversable-navigable-fenced-frame-config-mapping> will not contain the internal config needed to do the navigation. 3. Creative macros in Fenced Frames Ads Reporting (FFAR) This feature extends the Fenced Frame Ads Reporting (FFAR) API to support macro substitution in reporting URLs and allows reports to be sent to up to ten other origins that have enrolled with the Privacy Sandbox and allow-listed by the DSP. Use case: In online ad auctions for ad space, advertisers buying through DSPs in several situations use other adtech providers to monitor performance and keep track of how their advertising dollars are spent. (issue link <https://github.com/WICG/turtledove/issues/477>) Blink component Blink>FencedFrames <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EFencedFrames> TAG reviews and status Fenced frames existing TAG review appended with these spec changes https://github.com/w3ctag/design-reviews/issues/838#issuecomment-1693631006 Link to Origin Trial feedback summary No Origin Trial performed Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Supported on all the above platforms except Android WebView. Debuggability Additional debugging capabilities are not necessary for these feature changes. Risks Compatibility There are no compatibility risks, as described below: 1. Send Automatic Beacons Once: This is backward compatible with the existing API since the default value of “once” is false which is the same behavior as the previous behavior. 2. Serializable FencedFramesConfigs: This is added functionality and backward compatible with the existing FencedFramesConfig. 3. Creative macros in Fenced Frames Ads Reporting (FFAR): This is adding a new API and a backward compatible change to reportEvent. Interoperability there are no interoperability risks as no other browsers have decided to implement these features yet. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>? Link to test suite results from wpt.fyi. Yes Tests: https://github.com/web-platform-tests/wpt/tree/master/fenced-frame Results: https://wpt.fyi/results/fenced-frame?label=experimental&label=master&aligned Specifically, these features correspond to the following tests: Send Automatic Beacons Once: - automatic-beacon-two-events-clear.https.html (test <https://github.com/web-platform-tests/wpt/blob/master/fenced-frame/automatic-beacon-two-events-clear.https.html>) (result <https://wpt.fyi/results/fenced-frame/automatic-beacon-two-events-clear.https.html?label=experimental&label=master&aligned> ) - automatic-beacon-two-events-persist.https.html (test <https://github.com/web-platform-tests/wpt/blob/master/fenced-frame/automatic-beacon-two-events-persist.https.html>) (result <https://wpt.fyi/results/fenced-frame/automatic-beacon-two-events-persist.https.html?label=experimental&label=master&aligned> ) Serializable FencedFrameConfigs: - deep-copy-config.https.html (test <https://github.com/web-platform-tests/wpt/blob/master/fenced-frame/deep-copy-config.https.html>) (result <https://wpt.fyi/results/fenced-frame/deep-copy-config.https.html?label=experimental&label=master&aligned> ) Creative macros in Fenced Frames Ads Reporting (FFAR): - fence-report-event-destination-url.https.html (test <https://github.com/web-platform-tests/wpt/blob/master/fenced-frame/fence-report-event-destination-url.https.html>) (result <https://wpt.fyi/results/fenced-frame/fence-report-event-destination-url.https.html?label=experimental&label=master&aligned> ) Anticipated spec changes None Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5103970808233984 Links to previous Intent discussions Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/Ko9UXQYPgUE/m/URRsB-qvAAAJ Intent to experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/y6G3cvKXjlg/m/Lcpmpi_LAgAJ Intent to extend origin trial: https://groups.google.com/a/chromium.org/g/blink-dev/c/SD8Ot2gpz4g/m/A9uA-_cGAwAJ https://groups.google.com/a/chromium.org/g/blink-dev/c/gpmaOi3of_w/m/SyMclFhMAAAJ https://groups.google.com/a/chromium.org/g/blink-dev/c/CBrV-2DrYFI/m/RTojC6kHAgAJ Intent to ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/tpw8wW0VenQ/m/mePLTiHlDQAJ -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/62771371-5dbb-4d02-a232-a99ded5b293fn%40chromium.org.