Skip to content
This repository was archived by the owner on Nov 7, 2025. It is now read-only.
This repository was archived by the owner on Nov 7, 2025. It is now read-only.

Loosening the requirement for a DSP to fire post-render tracking events on behalf of a creative ad server #1077

Closed

Description

@anthony-yam-mediaocean

In the current design, post-render tracking can only be initiated from the Interest Group (IG) owner's domain. These provide direct-from-browser reporting on any user-triggered events, such as views, viewability, or clicks.

To track such events, a creative ad server would need to coordinate closely with each DSP to pre-register beacons ahead of the auction or develop a postMessage communication mechanism with the DSP. Both would be cumbersome and require currently non-PA-supported bespoke integrations.

It would be preferable to loosen the restriction and allow the creative ad server to track its own events. Could a list of allowed tracking domains be configurable?

Activity

  1. shivanigithub commented on Mar 7, 2024

    @shivanigithub
    Contributor

    Thanks for the issue!

    In the current design, post-render tracking can only be initiated from the Interest Group (IG) owner's domain. These provide direct-from-browser reporting on any user-triggered events, such as views, viewability, or clicks.

    To clarify, with post-render tracking, we are assuming you mean the reportEvent(custom destination URL with substitution of preregistered macros) calls which are currently only allowed in the renderURL frame or any nested iframe which is same-origin to the renderURL frame. Is that correct?

    It would be preferable to loosen the restriction and allow the creative ad server to track its own events. Could a list of allowed tracking domains be configurable?

    And the feature request is to allow reportEvent(custom destination URL with substitution of preregistered macros) to be available in nested cross-origin iframes.
    Additionally, note that the destination url in this reportEvent() variant is already restricted to be from an allow list of origins declared in the IG which are required to be enrolled.

  2. nbwray-work commented on Mar 8, 2024

    @nbwray-work

    DV360 has use cases where reportEvent(custom destination URL with substitution of preregistered macros) is fired x-origin, so consider this a +1 to this feature request.

    DV360 has some creative types where the assets are rendered in an iframe that is x-origin to the render URL, but we'll still use registerAdBeacon/reportEvent to fire the impression ping from the inner frame.

    So we'd also like Chrome to remove the x-origin restriction for reportEvent using preregistered destination URL.

  3. anthony-yam-mediaocean commented on Mar 12, 2024

    @anthony-yam-mediaocean
    ContributorAuthor

    @shivanigithub Yes, we are referring to reportEvent and the ability to call it from a nested cross-origin iframe. Thanks for your consideration.

  4. blu25 commented on Mar 27, 2024

    @blu25
    Contributor

    We've discussed this internally and have a design that will work with your use case.

    We're proposing adding a new response header, Allow-Cross-Origin-Event-Reporting=true, for the root ad frame to allow reporting metadata to be used if a nested cross-origin subframe calls reportEvent(). This will only need to be added to the response header of the document loaded into the root ad frame (i.e. the frame that was created as the result of an ad auction).

    The cross-origin subframe will then call reportEvent() with a new optional boolean parameter: crossOriginExposed. Setting this parameter to true will opt the subframe's event into using cross-origin reporting metadata, and the beacon will be sent out.

    Let us know if this works for your use case.

  5. blu25 commented on Oct 14, 2024

    @blu25
    Contributor

    It looks like updating this issue slipped through the cracks (apologies for that), but the change is in place as of Chrome M126. See: chromestatus entry

    Let us know if you have any other questions.

  6. JensenPaul commented on Oct 21, 2024

    @JensenPaul
    Collaborator

    Closing as it sounds like the issue is addressed. If you continue to have concerns, feel free to reopen or file another issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions