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.

Reply via email to