if (window.ReportingObserver) { let bid = {}; function sendReports(reports, enrichment) { for (let report of reports) { navigator.sendBeacon('https://tempest.services.disqus.com/report', JSON.stringify( { type: report.type, url: report.url, body: report.body, ...JSON.parse(enrichment) } )); } } const observer = new ReportingObserver( (reports, observer) => { sendReports(reports, JSON.stringify(bid)); }, { types: ["intervention"], buffered: true } ); observer.observe(); window.addEventListener('pagehide', (event) => { // pull all pending reports from the queue let reports = observer.takeRecords(); sendReports(reports, JSON.stringify(bid)); }); if (window.pbjs && window.pbjs.que) { pbjs.que.push(function () { pbjs.onEvent('auctionInit', () => {bid = {}}); pbjs.onEvent('bidWon', function(data) { bid.bidder = data.bidder; bid.cid = data.creativeId; bid.adomain = data.adserverTargeting.hb_adomain; }); }); } }