Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aggregatable Contribution Named Budget #1422

Merged
merged 4 commits into from
Nov 5, 2024
Merged

Conversation

feifeiji89
Copy link
Contributor

@feifeiji89 feifeiji89 commented Sep 10, 2024

Currently Adtechs can't control L1 budget allocation for different conversion types / SDKs through the current Aggregate API, such as:

  • Splitting the privacy budget between biddable and non-biddable conversions to optimize for more biddable ones. (Adtechs use filters to categorize conversions, such as biddable versus non-biddable.)
  • Splitting the privacy budget between multiple SDKs to avoid one SDK consuming all the privacy budget.

We can optionally support these use-cases by allowing callers of the API to specify max budget for predefined buckets that will be considered at aggregate report generation time.


Preview | Diff

@feifeiji89 feifeiji89 force-pushed the cap branch 6 times, most recently from b019735 to db61bf4 Compare September 16, 2024 17:21
@feifeiji89 feifeiji89 marked this pull request as ready for review September 16, 2024 17:22
@feifeiji89 feifeiji89 changed the title Aggregatable contribution budget capacity. Aggregatable contribution bucket budget Sep 16, 2024
@feifeiji89 feifeiji89 force-pushed the cap branch 2 times, most recently from 5e29ff6 to b0d9c76 Compare September 16, 2024 17:28
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
ts/src/header-validator/source.test.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
ts/src/header-validator/index.ts Outdated Show resolved Hide resolved
ts/src/header-validator/index.ts Outdated Show resolved Hide resolved
ts/src/header-validator/to-json.ts Outdated Show resolved Hide resolved
ts/src/header-validator/to-json.ts Outdated Show resolved Hide resolved
ts/src/header-validator/trigger.test.ts Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
ts/src/header-validator/trigger.test.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-json.ts Outdated Show resolved Hide resolved
verbose_debugging_reports.md Outdated Show resolved Hide resolved
@linnan-github
Copy link
Collaborator

Please resolve the merge conflicts as well, thanks.

AGGREGATE.md Outdated Show resolved Hide resolved
verbose_debugging_reports.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@akashnadan akashnadan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor text edits

AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
ts/src/header-validator/source.test.ts Outdated Show resolved Hide resolved
verbose_debugging_reports.md Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
ts/src/header-validator/to-json.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
@apasel422
Copy link
Collaborator

I'm not extremely familiar with the background of this change, so sorry if this is a silly question, but is there any use case for contributing to multiple buckets simultaneously?

AGGREGATE.md Outdated Show resolved Hide resolved
ts/src/header-validator/source.ts Outdated Show resolved Hide resolved
ts/src/header-validator/source.ts Outdated Show resolved Hide resolved
ts/src/header-validator/to-json.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
ts/src/header-validator/validate-source.ts Outdated Show resolved Hide resolved
@feifeiji89 feifeiji89 changed the title Aggregatable contribution bucket budget Aggregatable Contribution Named Budget Oct 15, 2024
AGGREGATE.md Outdated Show resolved Hide resolved
ts/src/constants.ts Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
ts/src/header-validator/source.test.ts Outdated Show resolved Hide resolved
ts/src/header-validator/source.test.ts Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
AGGREGATE.md Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
verbose_debugging_reports.md Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
Co-authored-by: Andrew Paseltiner <[email protected]>
@linnan-github linnan-github merged commit d34ecac into WICG:main Nov 5, 2024
3 checks passed
aarongable pushed a commit to chromium/chromium that referenced this pull request Nov 6, 2024
WICG/attribution-reporting-api#1422

This CL modifies source and trigger registration parsing to include
the aggregatable named budget field.

BYPASS_LARGE_CHANGE_WARNING

Bug: 369865063
Change-Id: I2fc4ea270babb6715dbb70a50c7c07833ff77c9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5893006
Reviewed-by: Nan Lin <[email protected]>
Commit-Queue: Thomas Quintanilla <[email protected]>
Reviewed-by: Dominic Farolino <[email protected]>
Reviewed-by: Andrew Paseltiner <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1378770}
aarongable pushed a commit to chromium/chromium that referenced this pull request Nov 6, 2024
WICG/attribution-reporting-api#1422

A debug report is sent when an aggregatable contribution exceeds the
associated named budget value. Utilizes out params to transfer needed
report data from storage to debug report creation. A potential refactor
can include change the return type of
`MaybeStoreAggregatableAttributionReportData` to a `CreateReportResult`
to avoid such out params.

Bug: 369865063
Change-Id: Ia1d01f75355f7b2faf3bc746ee1ca2d34fa02d55
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5957125
Reviewed-by: Dominic Farolino <[email protected]>
Reviewed-by: John Delaney <[email protected]>
Reviewed-by: Nan Lin <[email protected]>
Commit-Queue: Thomas Quintanilla <[email protected]>
Reviewed-by: Andrew Paseltiner <[email protected]>
Reviewed-by: Andrey Kosyakov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1379006}
aarongable pushed a commit to chromium/chromium that referenced this pull request Nov 6, 2024
WICG/attribution-reporting-api#1422

Tests more complex interactions involving multiple named budgets and
filters.

Bug: 369865063
Change-Id: I73cec5ed92bac54689c169577273785174cd0af2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5976521
Reviewed-by: Andrew Paseltiner <[email protected]>
Commit-Queue: Thomas Quintanilla <[email protected]>
Reviewed-by: Nan Lin <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1379019}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants