Intent to Ship: Attribution Reporting Feature: Attribution Scopes

546 views
Skip to first unread message

Akash Nadan

unread,
Sep 10, 2024, 5:33:12 PMSep 10
to blink-dev
Contact emails

akash...@google.com, lin...@chromium.org, john...@chromium.org


Explainer

Attribution Reporting with event-level reports

Attribution Reporting API with Aggregatable Reports

Aggregation Service for the Attribution Reporting API


Specification

https://wicg.github.io/attribution-reporting-api/


Blink component

Internals > AttributionReporting


TAG review

Still under review under the original I2S for the Attribution Reporting API


TAG review status

Pending


Summary

We are landing the following changes to the Attribution Reporting API focused on:

  • providing more control over the attribution filtering


This change is based on ad-tech feedback and the need for more fine grained filtering controls before the attribution process takes place.


Currently the API performs filtering after a source is chosen based on matching <reporting origin, destination site> fields. This results in API callers either not receiving attribution reports or incorrect attribution in scenarios where there are multiple different advertisers/campaigns that all convert on the same destination site.


This change allows API callers to now specify a field called "attribution_scopes" which will be used for filtering before starting the regular attribution flow. This allows API callers more fine grained control over the attribution granularity and the ability to receive proper attribution reports in the scenario described above (i.e. where there are multiple different advertisers/campaigns that all convert on the same destination site).


This change directly addresses API caller feedback and allows them to have more control over their attribution filtering.


Explainer/Spec changes
  1. Explainer: https://github.com/WICG/attribution-reporting-api/blob/main/attribution_scopes.md

  2. Spec: https://github.com/WICG/attribution-reporting-api/pull/1215


Risks
Interoperability and Compatibility

This is an optional and fully backwards compatible change. This feature provides a new field for specifying filters that can be checked before the regular attribution process takes place and does not break any pre-existing API or web functionality.


Gecko: No signal (Original request: https://github.com/mozilla/standards-positions/issues/791)


WebKit: No signal (Original request: https://github.com/WebKit/standards-positions/issues/180)


Web developers: https://github.com/WICG/attribution-reporting-api/issues/1229



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No


              

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

The attribution reporting feature will be supported on all platforms with the exception of Android WebView


Is this feature fully tested by web-platform-tests?

No, currently the behavior around attribution scopes is not covered in WPT due to difficulty of adding significant coverage for the feature because of API-mandated delays and noise. However, the feature is covered by comprehensive integration tests (commonly referred to as “interop tests”) that are also reusable by other implementations. 


Estimated milestones

This feature is anticipated to ship as part of Chrome 130


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5096560068395008


Links to previous Intent discussions

Previous I2S: 

Intent to Ship: Attribution Reporting API

Intent to Ship: Attribution Reporting features M117

Intent to Ship: Attribution Reporting features M118

Intent to Ship: Attribution Reporting features M119

Intent to Ship: Attribution Reporting features M120

Intent to Ship: Attribution Reporting features M121

Intent to Ship: Attribution Reporting features M123

Intent to Ship: Attribution Reporting features M124

Intent to Ship: Attribution Reporting features M125

Intent to Ship: Attribution Reporting features M126

Intent to Ship: Attribution Reporting features M127

Intent to Ship: Attribution Reporting features M128 (1)

Intent to Ship: Attribution Reporting features M128 (2)


Thanks,
Akash

Chris Harrelson

unread,
Sep 25, 2024, 11:42:05 AMSep 25
to Akash Nadan, blink-dev
LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2589cceb-42a9-48cc-a196-fb83dfead8d9n%40chromium.org.

Alex Russell

unread,
Sep 25, 2024, 11:43:21 AMSep 25
to blink-dev, Akash Nadan
Hey Akash,

This looks pretty uncontroversial, but I'm not sure from the Explainer how this fits together in an end-to-end scenario. Is there a fuller chunk of example code you could point me at? Or update the explainer to show how this works in practice?

Best,

Alex

Akash Nadan

unread,
Sep 26, 2024, 2:07:55 PMSep 26
to blink-dev, Alex Russell, Akash Nadan
Hi Alex,

We have the following end-to-end example in the explainer that shows how this would work for a more real example: https://github.com/WICG/attribution-reporting-api/blob/main/attribution_scopes.md#attribution-scope-examples

Let me know if you have any questions on the example! We are also considering how to best add demo code for this feature although that may take a little longer to share.

Thanks!
Akash

Alex Russell

unread,
Sep 26, 2024, 4:56:03 PMSep 26
to Akash Nadan, blink-dev
Hey Akash,

That example was the one I was referring to when asking for more. This doesn't show a full in-situ example of how to use this or what code would have been necessary before (or what the "before" code's deficiencies were).

Best,

Alex

Akash Nadan

unread,
Sep 27, 2024, 2:00:09 PMSep 27
to blink-dev, Alex Russell, blink-dev, Akash Nadan
Hi Alex, 

We have updated the code in that example to now show a comparison of the behavior before vs. after using this feature: https://github.com/WICG/attribution-reporting-api/blob/main/attribution_scopes.md#example-1-distinct-attribution-scopes-comparison-with-attribution-filters

Let me know if you have any follow up questions on the example.

Thanks,
Akash

Akash Nadan

unread,
Oct 2, 2024, 1:09:44 PMOct 2
to blink-dev, Akash Nadan, Alex Russell, blink-dev
Hi All,

I just wanted to flag that we have also updated the example with diagrams that better show a comparison of the behavior before vs. after using this feature: https://github.com/WICG/attribution-reporting-api/blob/main/attribution_scopes.md#attribution-scope-examples

Thanks,
Akash

Mike Taylor

unread,
Oct 2, 2024, 1:28:42 PMOct 2
to Akash Nadan, blink-dev, Alex Russell

Thanks Akash - these changes help me better understand the features (especially the links to how registration / reporting works).

LGTM2

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Yoav Weiss (@Shopify)

unread,
Oct 3, 2024, 6:09:03 AMOct 3
to Mike Taylor, Akash Nadan, blink-dev, Alex Russell
Reply all
Reply to author
Forward
0 new messages