Chrome Manifest V3: Google puts the pressure on ad-blockers



August 30, 2023

increase in ad revenue
monetized page views
Better Ads Standards compliant

Chrome Extension Manifest V3 (MV3) was first introduced by Google back in 2018. Since then, Google has repeatedly adjusted the deprecation schedule for Manifest V2 (MV2), opening a new wave of controversy with each announcement and update. (As of this writing, complete deprecation is slated for sometime in 2024).

Despite Google’s claim that the transition from MV2 to MV3 is to improve Chrome’s security, privacy, and overall performance, many theorize that a major hidden motive is limiting ad blockers. After all, it’s no secret that advertising is Google’s main bread and butter. Over the years, Google has launched multiple initiatives to sustain their advertising revenue, from incorporating the Better Ads Standards, to investing in a built-in Chrome ad blocker, and introducing ad block walls to YouTube. And, while it’s true that MV3 concerns all Chrome extension developers, it’s also true that ad blockers are especially impacted. Read on to learn more about the technology behind MV3, why it matters for ad blockers, and how ad blockers are responding.

What is Manifest V3 (MV3)?

In relation to ad blockers, the three most important changes are network request modification, remotely hosted code, and scripting API.

Source: Chrome Developer

1. Network request modification

What is network request modification?

Manifest V2 used the webRequest API to modify, intercept, and block requests. This is known as “network request modification”. V3 replaced the webRequest API with the declarativeNetRequest API, which requires declarative “rules” for network request modification. While webRequest API had no usage limitations, the declarativeNetRequest API is capped at 30,000 rules. In other words, all Chrome extensions can only modify/intercept/block 30,000 requests.

How does this impact ad blockers?

Ad blockers use filters to block ads, and filters require network request modification. With MV2, an ad blocker is limited to 30,000 filters. At least 300,000 network block requests - ten times the limitation - are required for ad blockers to function effectively, meaning they'll be much less effective in V3. Furthermore, the “rule” system seriously hinders ad blockers’ network filtering functionality, making it difficult to develop advanced rules capable of blocking traditional adblock circumvention.

2. Remotely hosted code

What is remotely hosted code?

In V2, extensions could load remote code, including remote logic and remote filters. Due to a “key security improvement”, extensions in V3 cannot load remote code, logic, and/or filters. All logic must be included from the get-go in the extension package.

How does this impact ad blockers?

Publishers like Facebook constantly update their ad circumvention methods to counter-block ad blockers. With V2, ad blockers relied on remote filters to maintain pace with the latest circumvention methods. Without remote filters, developers must update the extension package whenever a new filter is required. As a result, ad blockers’ ability to swiftly circumvent ad block circumvention has been rendered obsolete.

3. Scripting API

What is scripting API?

Scripts could be executed freely in V2 with the Tabs API. In V3, the new Scripting API limits an extension’s executions to script files and functions. Essentially, dynamic script executions are no longer possible in V3.

How does this impact ad blockers?

Similar to the issue with remotely hosted code, the dynamic execution of scripts is necessary for ad blockers to consistently block dynamic ads and ad block circumvention.

The ad blockers (kind of) strike back

Despite the constant delays, the transition from MV2 to MV3 is well underway, and ad blockers have already planned workarounds for the updates and restrictions. To tackle the rule limit, AdBlock is shifting from “one-size-fits-all” to a customized ad block experience. Instead of automatically running all filters (which would exceed the limit), users can prioritize and choose filters based on categories like country and language. With the loss of remote filter updates, blockers have resorted to frequently releasing new versions of the extension. And, across the board, ad blockers are investing in VPN/environment-based blocking methods to combat MV3’s changes. But these workarounds are exactly that: workarounds. Not improvements, and certainly not long-term solutions.

Although V2’s complete deprecation is postponed to 2024, the sustainability of these workarounds is already in question. Constantly developing new versions of extensions is time-consuming, and the mandatory Chrome Store review process will further delay releases. And, for all the difficulties that ad blockers face with traditional ad block circumvention, it’s become virtually impossible to block next-gen ad block solutions like Ad-Shield.

The war is far from over, but it seems like this latest round of Google vs. ad blockers goes to Google.

David Jeon
Lead Software Engineer