LGTM3

On Friday, May 3, 2024 at 1:34:21 PM UTC-4 Chris Harrelson wrote:

> Thanks for these mini-explainers, they clarified what is changing for me!
>
> LGTM2
>
> On Fri, May 3, 2024 at 9:31 AM 'Akash Nadan' via blink-dev <
> blin...@chromium.org> wrote:
>
>> Hi Alex,
>>
>> Thanks for the feedback and sorry for the initial lack of detail! We hope 
>> the following explanations (below) make each of these proposed changes more 
>> clear.
>>
>> We will keep the feedback in mind and make sure to include the level of 
>> detail similar to the Explainer format going forward.
>>
>> 1. Spec verbose debug report for max channel capacity and max trigger 
>> states cardinality 
>> <https://github.com/WICG/attribution-reporting-api/pull/1223>
>>
>> Currently the API supports a feature called Flexible Event-Level 
>> reporting, which gives API callers additional customization capabilities by 
>> allowing them to change the number of conversion reports, number and length 
>> of reporting windows, and trigger data cardinality per source that they 
>> register.
>>
>> As part of Flexible Event-Level, the API only allows configurations that 
>> do not exceed our current privacy bar (i.e. max channel capacity) of 11.5 
>> bits of information gain for clicks and 6.5 bits of information gain for 
>> views. So currently if an ad-tech using Flexible Event-Level chooses a 
>> configuration that exceeds the current privacy bar their registration will 
>> fail silently. With the addition of the “max channel capacity limit” 
>> verbose signal, ad-techs will now be able to receive a verbose debug report 
>> telling them that they have exceeded the “max channel capacity” and will 
>> allow them to know that they need to use a different configuration and 
>> allow them to identify why their source registrations may be failing. This 
>> new verbose debug report will also help with future features that may be 
>> taken into account when calculating the information gain for a given 
>> configuration.
>>
>> Similarly, as part of ARA source registrations and Flexible Event-Level, 
>> an ad-tech can customize their trigger data cardinality up to a maximum of 
>> 32 trigger states. The “max trigger states cardinality limit” verbose 
>> signal, will allow ad-techs to know if they have set a source registration 
>> that exceeds this maximum threshold on the trigger data cardinality, making 
>> the API easier to debug for ad-techs.
>>
>>
>> 2. Report source reporting origins per site limit explicitly 
>> <https://github.com/WICG/attribution-reporting-api/pull/1225>
>>
>> Currently the API has a rate limit that only allows a maximum of 1 
>> reporting origin per {source site, reporting site, 1 day} per source 
>> registration. This limit is in place to help prevent ad-techs from cycling 
>> through multiple different reporting origins as a way to measure additional 
>> information on a user.
>>
>> Currently if an ad-tech exceeds this limit, their source registration 
>> will fail silently. In order to make the debugging process easier and help 
>> ad-techs identify a potential cause of data loss, the API will now provide 
>> a verbose signal for this error any time an ad-tech’s registration exceeds 
>> the limit.
>>
>>
>> 3. Gate all source verbose debug reports behind cookie access 
>> <https://github.com/WICG/attribution-reporting-api/pull/1204>
>>
>> Currently the API provides 9 different source verbose debug signals. All 
>> of these signals require that the ad-tech has set the ar_debug cookie on 
>> the source in order to receive the verbose debug signal, except for two 
>> errors: “source-destination-limit” and “source-destination-rate-limit”. 
>>
>> In order to reduce complexity for ad-techs so that there is no difference 
>> in when an ar_debug cookie needs to be set in order to receive a debug 
>> report across the different error signals, this change will now require the 
>> ar_debug cookie to be set for all source verbose debug signals.
>>
>> This change also has the added benefit of improving privacy by adding an 
>> additional check for the two rate limits listed above.
>>
>>
>> 4. Split attribution rate-limit into separate event & aggregate 
>> rate-limits <https://github.com/WICG/attribution-reporting-api/pull/1211>
>>
>> Currently the API has a single attribution rate limit of 100 attributions 
>> per {source site, destination site, reporting} per 30 days, and this limit 
>> is across both report types supported in the API (i.e. event-level reports 
>> and aggregate reports). For example, currently if 1 trigger registration 
>> generates both an event-level report and aggregate report this will count 
>> as 1 towards the attribution limit. And if the attribution limit is hit, 
>> neither event-level report nor aggregatable report is created.
>>
>> Now that the API supports a subset of Flexible event-level, there may be 
>> scenarios where 1 trigger registration can generate multiple event-level 
>> reports, but still only 1 aggregate report. Because of this new behavior it 
>> would not be accurate to count and may negatively impact ad-techs if the 
>> API tracks the rate limit across both report types.
>>
>> With this change, the API will now track the attribution rate limit 
>> separately for each report type. So in the example above, where a trigger 
>> registration generates multiple event-level attribution reports, these will 
>> only count for the event-level report limit, and not impact the aggregate 
>> attribution rate limit, which will allow ad-techs to continue generating 
>> aggregate reports.
>>
>> Additionally, this separation of rate limits will also provide better 
>> report deletion accounting in the API in scenarios where a pending 
>> event-level report is scheduled to be sent at a later time, but then gets 
>> replaced by a higher priority newly generated event-level report. In the 
>> current API this scenario counts as 2 attribution reports, when in reality 
>> the first report is never sent since it is replaced by the higher priority 
>> second report. With this change, the API will only count this as 1 report 
>> towards the attribution rate limit, and specifically the event-level report 
>> count, and not the aggregate report count.
>>
>>
>> Thanks,
>> Akash
>>
>> On Wednesday, May 1, 2024 at 8:59:24 AM UTC-7 Alex Russell wrote:
>>
>>> Hey folks,
>>>
>>> We've talked about this in API OWNERS again, and the presentation of 
>>> this set of features is...frustrating. 
>>>
>>> Several of these features lack any explanation, example code, or any 
>>> outline of alternative approaches that were considered and discarded. 
>>> Having multiple features presented in a low-quality way does not make it 
>>> easier to evaluate them, particularly when the relationship between them is 
>>> unclear and no example code has been produced to demonstrate how they work 
>>> together to solve an important problem, let alone why it solves those 
>>> problem(s) well.
>>>
>>> I've flipped the bit in chromestatus to "Needs Work" and will hold 
>>> shipping these features until such time as a full explanation is produced. 
>>> A good way to do that would be to produce an Explainer document (in the 
>>> usual format <https://w3ctag.org/explainers/>) for each change, 
>>> highlighting considered alternatives and foregrounding end-to-end example 
>>> code for both the selected solution and the alternatives.
>>>
>>> Looking forward to working with y'all to get this unblocked.
>>>
>>> Best,
>>>
>>> Alex
>>>
>>>
>>> On Monday, April 29, 2024 at 7:43:06 AM UTC-7 Mike Taylor wrote:
>>>
>>>> Thanks Akash.
>>>>
>>>> This is not quite the level of detail I was hoping for (I've more or 
>>>> less grokked that from the commits themselves), but I'm satisfied with the 
>>>> compat implications of always requiring the ar_debug cookie.
>>>>
>>>> LGTM1
>>>> On 4/26/24 5:10 PM, Akash Nadan wrote:
>>>>
>>>> Hi Mike,
>>>>
>>>> We have not fully considered adding this functionality to WPT and it 
>>>> may be challenging due to delays and noise added by the Attribution 
>>>> Reporting API, but we will evaluate what is possible here. 
>>>>
>>>> Thanks - even if challenging, this is super important for long-term 
>>>> interop. So whatever we can do to improve the status quo will be 
>>>> worthwhile, IMHO.
>>>>
>>>>
>>>> Thanks for the suggestions regarding the features. We will make sure to 
>>>> break apart the I2S based on features that can be grouped together in the 
>>>> future.
>>>>
>>>> Regarding the motivation for the features:
>>>>
>>>>
>>>> 1. Spec verbose debug report for max channel capacity and max trigger 
>>>> states cardinality 
>>>> <https://github.com/WICG/attribution-reporting-api/pull/1223>
>>>> For debugging completeness of potential errors that can occur. This is 
>>>> an important debug error signal for the flexible event level reporting 
>>>> feature. 
>>>>
>>>> 2. Report source reporting origins per site limit explicitly 
>>>> <https://github.com/WICG/attribution-reporting-api/pull/1225>
>>>> For debugging completeness of potential errors.
>>>>
>>>> 3. Gate all source verbose debug reports behind cookie access 
>>>> <https://github.com/WICG/attribution-reporting-api/pull/1204>
>>>> For reducing complexity across all source verbose debug reports by 
>>>> applying the same requirement across all of them.
>>>>
>>>> 4. Split attribution rate-limit into separate event & aggregate 
>>>> rate-limits 
>>>> <https://github.com/WICG/attribution-reporting-api/pull/1211>
>>>> For the ability to properly account for report deletions and support 
>>>> the flexible event level reporting feature (which may produce more than 1 
>>>> event report per trigger registration, whereas aggregate reports would 
>>>> not).
>>>>
>>>>
>>>> Regarding the interoperability and compatibility question, it is 
>>>> currently not possible to register for a specific error signal. The API 
>>>> caller would register to receive a debug report and the API then provides 
>>>> the error that occurs (assuming an error occurs). Additionally, it would 
>>>> be 
>>>> extremely unlikely for sites to only be interested in the 
>>>> source-destination-limit and source-destination-rate-limit errors, since 
>>>> they would most likely be interested in also understanding any error 
>>>> signals that may be impacting their conversions as well. 
>>>>
>>>> Thanks,
>>>>
>>>> Akash
>>>>
>>>>
>>>> On Thursday, April 25, 2024 at 11:17:05 AM UTC-7 Mike Taylor wrote:
>>>>
>>>>> Apologies for the delay here - it's a bit challenging to review 4 
>>>>> features at once. 
>>>>>
>>>>> (Aside: it seems like this particular intent could have been split 
>>>>> into 2... one for 2 debug report features, and another for rate limits?)
>>>>> On 4/19/24 12:51 PM, 'Akash Nadan' via blink-dev wrote:
>>>>>
>>>>> Contact emails 
>>>>>
>>>>> akash...@google.com, lin...@chromium.org, john...@chromium.org
>>>>>
>>>>> Explainer 
>>>>>
>>>>> Attribution Reporting with event-level reports 
>>>>> <https://github.com/WICG/attribution-reporting-api/blob/main/EVENT.md>
>>>>>
>>>>> Attribution Reporting API with Aggregatable Reports 
>>>>> <https://github.com/WICG/attribution-reporting-api/blob/main/AGGREGATE.md>
>>>>>
>>>>> Aggregation Service for the Attribution Reporting API 
>>>>> <https://github.com/WICG/attribution-reporting-api/blob/main/AGGREGATION_SERVICE_TEE.md>
>>>>>
>>>>> Specification 
>>>>>
>>>>> https://wicg.github.io/attribution-reporting-api/
>>>>>
>>>>> Blink component 
>>>>>
>>>>> Internals > AttributionReporting 
>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EAttributionReporting>
>>>>>
>>>>> Summary 
>>>>>
>>>>> We are landing the following changes to the Attribution Reporting API 
>>>>> focused on:
>>>>>
>>>>>    - 
>>>>>    
>>>>>    additional debugging support by supporting new verbose debug 
>>>>>    reports
>>>>>    - 
>>>>>    
>>>>>    improving privacy & security by adding additional gating to source 
>>>>>    verbose debug reports
>>>>>    - 
>>>>>    
>>>>>    improving rate limit accounting by separating the attribution 
>>>>>    count for the two ARA report types
>>>>>    
>>>>>
>>>>> Explainer/Spec changes 
>>>>>    
>>>>>    1. Spec verbose debug report for max channel capacity and max 
>>>>>    trigger states cardinality 
>>>>>    <https://github.com/WICG/attribution-reporting-api/pull/1223> 
>>>>>    2. 
>>>>>    
>>>>>    Report source reporting origins per site limit explicitly 
>>>>>    <https://github.com/WICG/attribution-reporting-api/pull/1225>
>>>>>    3. 
>>>>>    
>>>>>    Gate all source verbose debug reports behind cookie access 
>>>>>    <https://github.com/WICG/attribution-reporting-api/pull/1204>
>>>>>    4. 
>>>>>    
>>>>>    Split attribution rate-limit into separate event & aggregate 
>>>>>    rate-limits 
>>>>>    <https://github.com/WICG/attribution-reporting-api/pull/1211>
>>>>>    
>>>>> These are also challenging to review, as each PR doesn't have a 
>>>>> corresponding issue, or given a _why_, just the what (or maybe I'm 
>>>>> missing 
>>>>> something). The diffs for the explainers also aren't super enlightening. 
>>>>> Could you write a few sentences on the motivations for each of these 
>>>>> changes?
>>>>>
>>>>>
>>>>> Risks
>>>>> Interoperability and Compatibility 
>>>>>
>>>>> (1 <https://github.com/WICG/attribution-reporting-api/pull/1223>, 2 
>>>>> <https://github.com/WICG/attribution-reporting-api/pull/1225>) 
>>>>> Additional verbose debug reports and (4 
>>>>> <https://github.com/WICG/attribution-reporting-api/pull/1211>) 
>>>>> splitting the attribution rate limit into separate limits for event and 
>>>>> aggregate are fully backwards compatible changes. Feature (3 
>>>>> <https://github.com/WICG/attribution-reporting-api/pull/1204>) gating 
>>>>> all source verbose debug reports is a backwards incompatible change 
>>>>> because 
>>>>> now source-destination-limit and source-destination-rate-limit verbose 
>>>>> debug reports now require the ar_debug cookie to be set at source 
>>>>> registration time. This is not a major concern because all other current 
>>>>> source verbose debug signals already require the ar_debug cookie to be 
>>>>> set 
>>>>> and most ad-techs would already be setting this cookie at source 
>>>>> registration time.
>>>>>
>>>>> Is it reasonable to assume that there aren't sites only registering 
>>>>> for source-destination-limit and source-destination-rate-limit reports? 
>>>>> Do 
>>>>> we have usecounters or UKM to verify?
>>>>>
>>>>>               
>>>>> Will this feature be supported on all six Blink platforms (Windows, 
>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)? 
>>>>>
>>>>> The attribution reporting feature bundle will be supported on all 
>>>>> platforms with the exception of  Android WebView
>>>>>
>>>>> Is this feature fully tested by web-platform-tests 
>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>> ? 
>>>>>
>>>>> Yes
>>>>>
>>>>> Estimated milestones 
>>>>>
>>>>> This feature bundle is anticipated to ship as part of Chrome 125 
>>>>> <https://chromiumdash.appspot.com/schedule>. 
>>>>>
>>>>> Link to entry on the Chrome Platform Status 
>>>>>
>>>>> https://chromestatus.com/feature/5146883686400000
>>>>>
>>>>> Links to previous Intent discussions 
>>>>>
>>>>> Previous I2S: 
>>>>>
>>>>> Intent to Ship: Attribution Reporting API 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/2Rmj5V6FSaY>
>>>>>
>>>>> Intent to Ship: Attribution Reporting features M117 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/nWF61c8xu-M/m/uMmH1ewcAQAJ>
>>>>>
>>>>> Intent to Ship: Attribution Reporting features M118 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Mh-mJiyJZFk/m/HlgzpphYBQAJ>
>>>>>
>>>>> Intent to Ship: Attribution Reporting features M119 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/6e44SBtEtcQ>
>>>>>
>>>>> Intent to Ship: Attribution Reporting features M120 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/jSk3xpNPzGQ/m/VZPsdYgGCAAJ>
>>>>>
>>>>> Intent to Ship: Attribution Reporting features M121 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/g9KiC6Rg_mA/m/V679WcWuAQAJ>
>>>>>
>>>>> Intent to Ship: Attribution Reporting features M123 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/NE7VGke1Bjc/m/bIX00t4CAAAJ>
>>>>>
>>>>> Intent to Ship: Attribution Reporting features M124 
>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/aregp1li6xk/m/IhBB2z8tBQAJ>
>>>>>
>>>>> Thanks, 
>>>>> Akash
>>>>>
>>>>> -- 
>>>>> 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/194f8cc0-03b3-47e5-ad1c-0938c1a686ben%40chromium.org
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/194f8cc0-03b3-47e5-ad1c-0938c1a686ben%40chromium.org?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> -- 
>> 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/2fb1a68d-bdc7-4428-ab3f-858b7cabd91en%40chromium.org
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2fb1a68d-bdc7-4428-ab3f-858b7cabd91en%40chromium.org?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1167e174-9c55-40e3-b105-a07a70d18b4bn%40chromium.org.

Reply via email to