@financial-times/ads-heavy-ad-reporting
v6.2.0
Published
This package sets up an instance of the [`ReportingObserver`](https://developer.mozilla.org/en-US/docs/Web/API/ReportingObserver/ReportingObserver) class, which collects reports of type `intervention` generated by the browser.
Downloads
187
Maintainers
Keywords
Readme
ads-heavy-ad-reporting
This package sets up an instance of the ReportingObserver
class, which collects reports of type intervention
generated by the browser.
A callback
is executed every time a report is created, which subsequently sends a post message - with type oAds.heavyAdIntervention
- to the parent window.
Google Chrome's Heavy Ads Intervention
The Google Chrome browser generates a report whenever a heavy ad is detected, and immediately removes the third-party creative from the iframe. Unfortunately the intervention is not guaranteed.
However, because the intervention will literally remove the page from the iframe, a failsafe is added to ensure that the report is definitely captured before the page is gone completely, for example, an ad within an iframe. See also, Google's documentation What happens when an ad is removed?
Usage
/** @typedef {import("$typings/heavy-ad-reporting")} */
import { monitorHeavyAdsIntervention } from '@financial-times/ads-heavy-ad-reporting';
/**
* Process the reports
* @param {HeavyAdReportingT.Report[]} reports
*/
const onReportsReceived = reports => {
for (let report of reports) {
console.log('Report detected', report);
}
}
monitorHeavyAdsIntervention({
onReportsReceived
})