WICG/turtledove

Browser triggered reportEvent() call on creative load for reliable impression reporting

Opened this issue · 5 comments

Context

The current fenced frame reporting API allows the buyer's creative to decide which entities to send events to.
This denies publishers and sell-side entities a guaranteed mechanism to log the impressions rendered by a buyer. In situations today wherein the buyer creative has errors and cannot render, publishers depend on sell-side entities to accurately record impressions and bill buyers accordingly.

Proposal

Add a new reserved event(automatic beacon perhaps) fired by the browser once a frame with an ad creative is initialized.
suggested name: reserved.rendered

The browser will call the URL associated with the event registered by the component and top-level sellers when the iframe/fenced-frame initializes the supplied URN/config.

#826 is related

Thanks, @rdgordon-index. Was it brought up in a prior weekly sync call?

Yes, cf.

## Additional browser event beacons - https://github.com/WICG/turtledove/issues/826

Thank you.

So if I understand from the conversation, the sendReportTo() function inside reportResult() is called only when an ad renders, making it sufficient to know that an ad was rendered. I didn't see this documented, must have missed it.

Is there a similar mechanism then to detect instances only where a bid was submitted to the top-level auction from the component auction?

Note that sendReportTo() is actually called right after the auction, however, the report is only sent when navigation to the ad starts (Or when deprecatedUrnToURL is invoked with sendReports=true, though that method is, of course, slated for removal at some point). It's only requested at most once per action, even if the winning ad is used multiple times.