Intent to Implement: [Intervention] Heavy Ad Intervention

677 views
Skip to first unread message

John Delaney

unread,
Sep 25, 2019, 8:49:42 PM9/25/19
to blink-dev

Contact emails

john...@chromium.org, jka...@chromium.org, m...@chromium.org


Explainer

https://github.com/johnivdel/heavy-ad-intervention/blob/master/README.md


Design doc/Spec

No spec.


No TAG review requested as this does not add/alter any API surfaces.


Summary

Chrome will unload ad iframes that use an egregious amount of CPU or network bandwidth. Iframes are labeled as ads heuristically by AdTagging. Limits for this intervention are defined in the explainer


Motivation

A small fraction of ads on the web use an egregious amount of system resources. These poorly performant ads (whether intentional or not) harm the user’s browsing experience by making pages slow, draining device battery, and consuming mobile data (for those without unlimited plans).


Common examples of these ads include:

  • Cyptominers

  • Ads that load large uncompressed image files

  • Ads that use javascript to decode video files


Risks

Interoperability and Compatibility

There is some interop risk here. Currently there is no unified way for browsers to identify ads. 


Other browsers address some of the motivating use cases through other user protections. Edge addresses cryptominers through tracking protection. Firefox also offers a opt-in mechanism that stops known cryptomining scripts.


Edge: No signals

Firefox: No signals

Safari: No signals

Web / Framework developers: Unknown


Ergonomics

N/A


Activation

N/A


Debuggability

When an ad is unloaded, a devtools console message will be displayed with the reason for the unload. Other devtools features such as the network panel and performance timeline can be used to discern the root cause.


Intervention reports will be sent to iframes that are unloaded by the intervention, which will allow them to know when and why (at a high level) they were unloaded.


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

No. This will not be supported on Android Webview, as Chrome’s AdTagging feature does not work on WebView.


All other Blink platforms are supported.


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/4800491902992384


Requesting approval to ship?

No.


john...@google.com

unread,
Apr 17, 2020, 4:20:20 PM4/17/20
to blink-dev
Hi blink owners,

We have been running a field trial in Canary/Dev for the intervention since M79 to better understand the breakage of this intervention. We have found and addressed a number of false positives and unintended breakage. 

At this point, we are hoping to ship a reporting only version of this feature, which will not unload any site content, but send a warning intervention report noting that an ad may be unloaded in the future. This is to both help inform sites that they will be affected, as well as raise new issues regarding breakage. Does sending a warning message require a separate I2I and I2S? Or could this be done without going through the blink-process because it is not directly interacting with the web platform.

Any guidance or past experience will related issues is much appreciated!

Thanks,
John
Reply all
Reply to author
Forward
0 new messages