Google has always been committed to promoting better advertising experience on the web. Back in 2016, Chrome banned Adobe Flash-based ads “to enhance the browsing experience for more people on more devices”, and pushed for the adoption of the newer HTML5 standard.
In February 2018, Chrome enabled ad filtering to block ‘intrusive ads’ (as defined by the Better Ads Standards) across North America and Europe. On July 9th of this year, the update was rolled out globally.
Under pressure from competing browsers such as Safari and Firefox, Google also started limiting cookies for ad tracking in Chrome—even though cookie-based tracking is the foundation for behavioural advertising.
Unlike Apple and Mozilla, Google makes a large chunk of its revenue from online advertising. This means that Google is always walking a thin line between keeping Chrome users happy and fostering the ad-supported web.
Heavy Ad Intervention
Based on a recent Chromium commit and an explainer on Heavy Ad Intervention, it looks like Google is doubling down on its initiative of cutting down bad advertising and delivering better experiences for users. The new update targets ‘heavy ads’—which Google defines as ad iframes that “use an egregious amount of system resources”.
Some ad behaviours that Chrome intends to discourage with this update include ads that mine cryptocurrency, ads that load poorly compressed files, ads that load large video files before a user interaction, and ads that perform extensive JS operations, such as decoding video files or CPU timing attacks.
The commit provides more information as to what constitutes a heavy ad:
This intervention unloads ads that are in the .1% of bandwidth usage, .1% of CPU usage per minute, and .1% of overall CPU time. The current numbers are 4MB network and 60 seconds CPU, but may be changed as more data is available.
While the existing ad filtering in Chrome blocks out ads on a page-level, the ‘heavy ads’ update will only target specific problem ads that are found to consume an excessive amount of system resources. Unloaded ads cannot be accessed by users, but are replaced on-page with a notice of removal and a “Details” button that users can click on to learn more.
Images courtesy of 9to5Google.com
According to the explainer, an ad is considered heavy if it:
- Uses the main thread for more than 60 seconds
- Uses the main thread for more than 15s in any 30-second window
- Uses more than 4MB of network bandwidth to load resources
These standards are inspired by IAB’s Lean Ad Standards but also chosen by looking at 99.99th percentile metrics for network and CPU usage in ads.
Since this is a development update, the public roll-out date for this update is not yet known. Based on data gathered during the testing phase and the real-world effectiveness of the update in weeding out problematic ads, Chrome may or may not release the update for the public.