WICG / interventions

A place for browsers and web developers to collaborate on user agent interventions.
Other
177 stars 28 forks source link

Intervention: Hide ads that load too many bytes #65

Closed johnivdel closed 2 years ago

johnivdel commented 5 years ago

Users have little control over what types of ads get shown to them, there are existing specifications (IAB) meant to prevent ads from abusing system resources (network, cpu). The motivation is to punish ad content using too many resources and move the ad ecosystem to a better place for users.

If an advertisement uses too many bytes to load resources, add a non-observable overlay on top of the ad, which blocks the ad and displays a message noting the ad has been hidden. Non-observable is defined as the page/frame being unaware that it is there (e.g. IntersectionObserver would not be aware of the overlay). While the overlay is shown the ad cannot receive user input. If the user clicks on the overlay it would be removed. This would push advertising networks to serve creatives that avoid triggering the intervention and monetize properly.

A non-observable intervention is ideal because it does expose any privacy issues or security vulnerabilities, such as those seen with sizepolicy. This of course sacrifices transparency for developers and direct savings for users.

jkarlin commented 5 years ago

To be clear, "if the user clicks on the overlay it would be removed" means the overlay would be removed and the ad would appear again, right? I think this is an interesting approach as it avoids the privacy issue. The advertiser won't have a direct feedback loop so they'll be forced to be conservative in creating ad creatives. @igrigorik, @wseltzer, @domenic, and @annevk might be interested in this as it pertains to resource constraints, performance, and advertising.

johnivdel commented 5 years ago

To be clear, "if the user clicks on the overlay it would be removed" means the overlay would be removed and the ad would appear again, right?

Correct. Because we do not actually interact with the frame at all, the ad will be in whatever state it would have been if the intervention did not trigger.

igrigorik commented 5 years ago

Interesting!

The enforcement and policy settings would be determined by the UA? That is, who sets the criteria that would trigger this? The absence of any meaningful feedback to content owner is not great, but I guess the premise is that owner of the creative would see lower ROI and use that as an indirect signal?

johnivdel commented 5 years ago

The UA would set the criteria.

The absence of any meaningful feedback to content owner is not great, but I guess the premise is that owner of the creative would see lower ROI and use that as an indirect signal?

That is correct for CPC (Cost per click) ads. For CPM ads (Cost per impression), they will not see a decreased ROI but will see decreased click rates.

It could be possible to report under some circumstances, such as no 3rd party resources within the ad. There could also be an opt-in policy/header, along the lines of "allow-size-reporting", that allows reporting if all 3rd party resources loaded by the ad have the policy/header set.

johannhof commented 2 years ago

(As noted in https://github.com/WICG/interventions/pull/72, we intend to archive this repository and are thus triaging and resolving all open issues)

I think this can be folded into heavy ads intervention (see https://github.com/WICG/interventions/issues/68#issuecomment-1156328512) but correct me if I'm wrong.