Fence: reportEvent() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The reportEvent() method of the Fence interface triggers the submission of report data via a beacon to one or more specific URLs registered via the registerAdBeacon() method of the Protected Audience API, for the purpose of collecting ad auction results.

Note: setReportEventDataForAutomaticBeacons() provides similar report data submission, except in that case the submission is triggered via a navigation rather than by an explicit method call.

Syntax

js
reportEvent(event)

Parameters

event

An object or string representing the data to send.

  • An object value defines a specific report event that you want to send. The required properties are as follows:
    eventType

    A string representing the type of event that is being reported — for example you might be interested in how many times an ad is clicked on. This string can be any relevant event name (for example click). This needs to match the event type specified in the associated registerAdBeacon() call in a Protected Audience API worklet.

    eventData

    A string representing the data to be sent.

    destination

    An array containing one or more enumerated values representing destination types. These are the involved parties that will receive the data to their registered URLs (i.e. via registerAdBeacon()). The possible values are:

    • "buyer": The bidder in the ad auction.
    • "seller": The top-level seller running the ad auction.
    • "component-seller": The seller for a component auction in a multi-level auction.
    • "direct-seller": The seller that directly ran the auction the buyer bid in. If the ad was a single-level auction, the value used will be "seller". If the ad was a multi-level auction, the value used will be "component-seller".
    • "shared-storage-select-url": A Shared Storage API storage location, as defined in a Window.sharedStorage.selectURL() method call.
  • A string value represents an eventType, for example "click" (see the earlier definition of eventType). When an eventType string is passed as the value of reportEvent(), it triggers all Private Aggregation contributions that were made conditional on that event type (for example via PrivateAggregation.contributeToHistogramOnEvent()) to be sent.

Return value

None (Undefined).

Examples

js
window.fence.reportEvent({
  eventType: "click",
  eventData: JSON.stringify({ clickX: "123", clickY: "456" }),
  destination: ["buyer", "seller"],
});

Specifications

Specification
Fenced Frame
# dom-fence-reportevent

Browser compatibility

BCD tables only load in the browser

See also