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

Remove "impression"/"conversion" from API surfaces #103

Merged
merged 15 commits into from
Feb 9, 2021

Conversation

johnivdel
Copy link
Collaborator

This updates the proposed API with the naming changes discussed on #57.

This includes updating the reporting format to a JSON body with the new names

This updates the proposed API with the naming changes discussed on #57.

This includes updating the reporting format to a JSON body with the new names
Copy link
Contributor

@maudnals maudnals left a comment

Choose a reason for hiding this comment

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

Thanks for the review request, appreciate taking a look at it!
LGTM, %:

  • Attribution data vs ID, which has been chosen?
  • Call attribution source more explicitly attribution source event at least when the concept is being introduced
  • Nits/small stuff

README.md Outdated

- **Conversion**: The completion of a meaningful (advertiser specified) user action on the advertiser's web site by a user who has previously interacted with an ad from that advertiser.

- **Event-level data**: Data that can be tied back to a specific low-level event; not aggregated

- **Click-through-conversion (CTC)**: A conversion credit attributed to an impression that was clicked
- **Click-through-conversion (CTC)**: A conversion attributed to an impression that was clicked
Copy link
Contributor

@maudnals maudnals Feb 2, 2021

Choose a reason for hiding this comment

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

Option 1: s/impression/attribution source
Option 2: s/impression/ad click or view (feels clearer)

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think it should be a goal to remove ads specific jargon in the explainer, except in a use-case section

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Went with "ad click" as this is specific for click-through

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
```

Privacy Considerations
======================
The main privacy goal of the API is to make _linking identity_ between two different top-level sites difficult. This happens when either a request or a Javascript environment has two user IDs from two different sites simultaneously.

In this API, the 64-bit impression ID can encode a user ID from the publisher’s top level site, but the low entropy, noisy conversion data could only encode a small part of a user ID from the advertiser’s top-level site. The impression ID and the conversion data are never exposed to a Javascript environment together, and the request that includes both of them is sent without credentials and at a different time from either event, so the request adds little new information linkable to these events.
In this API, the 64-bit source ID can encode a user ID from the publisher’s top level site, but the low entropy, noisy trigger data could only encode a small part of a user ID from the advertiser’s top-level site. The source ID and the trigger data are never exposed to a Javascript environment together, and the request that includes both of them is sent without credentials and at a different time from either event, so the request adds little new information linkable to these events.
Copy link
Contributor

@maudnals maudnals Feb 2, 2021

Choose a reason for hiding this comment

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

PCM issue: source ID
CM issue: source data

Which one has been chosen?

README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Co-authored-by: Maud <[email protected]>
README.md Outdated Show resolved Hide resolved
@@ -55,13 +51,13 @@ Glossary

Copy link
Collaborator

Choose a reason for hiding this comment

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

IMO we are close to being able to remove the full Glossary. In a follow-up I believe we can remove any mention of publishers, advertisers, etc. from the explainer and having different terms for them (e.g. the attribution destination)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Ack, that sounds like a good improvement will file an issue to clean this up

README.md Outdated Show resolved Hide resolved
README.md Outdated

- **Conversion**: The completion of a meaningful (advertiser specified) user action on the advertiser's web site by a user who has previously interacted with an ad from that advertiser.

- **Event-level data**: Data that can be tied back to a specific low-level event; not aggregated

- **Click-through-conversion (CTC)**: A conversion credit attributed to an impression that was clicked
- **Click-through-conversion (CTC)**: A conversion attributed to an impression that was clicked
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think it should be a goal to remove ads specific jargon in the explainer, except in a use-case section

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@maudnals maudnals left a comment

Choose a reason for hiding this comment

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

LGTM!

@johnivdel johnivdel merged commit 62b435d into master Feb 9, 2021
johnivdel added a commit that referenced this pull request Apr 14, 2021
This updates the draft spec to include all changes which were landed to the explainer since it was last updated.

This includes:
 - all naming changes on #103 and #121
 - removal of hexadecimal encoding for data fields

Algorithm definitions and variables are updated to reflect the new naming.
johnivdel added a commit that referenced this pull request Apr 30, 2021
* Update spec to current explainer

This updates the draft spec to include all changes which were landed to the explainer since it was last updated.

This includes:
 - all naming changes on #103 and #121
 - removal of hexadecimal encoding for data fields

Algorithm definitions and variables are updated to reflect the new naming.

* Update index.bs

* Update index.bs

* Update index.bs

* Update index.bs

* Update index.bs

* Respond to review feedback

* Apply suggestions from code review

Co-authored-by: Jeffrey Yasskin <[email protected]>

* Apply suggestions from code review

Co-authored-by: Jeffrey Yasskin <[email protected]>

* Update index.bs

* Update index.bs

Co-authored-by: Jeffrey Yasskin <[email protected]>
blueboxd pushed a commit to blueboxd/chromium-legacy that referenced this pull request May 14, 2021
What:
This change renames all web exposed surfaces to match the new
Conversion Measurement API names in accordance with
WICG/attribution-reporting-api#103

This does not change any internal names used for storing and propagating
API data.

Why:
Without pausing the Origin Trial, is makes sense to make all of surface
changes at once to minimize any risk of the API getting into
an unexpected state due to reverts etc.

The implementation names and structures will be updated in followups,
which should be easier to review given that they will be pure
structural changes.

E.g. https://chromium-review.googlesource.com/c/chromium/src/+/2702912

The internals page title/url will be updated in a followup tracked by
https://crbug.com/1165916

Bug: 1165916
Change-Id: Ie6d2a2d32324bdf90a74984d1fadc3f37b5a3301
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2706498
Commit-Queue: John Delaney <[email protected]>
Reviewed-by: Robert Sesek <[email protected]>
Reviewed-by: Charlie Harrison <[email protected]>
Reviewed-by: Nate Chapin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#882974}
@apasel422 apasel422 deleted the imp_conv_terminology branch May 24, 2022 14:12
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this pull request Oct 14, 2022
What:
This change renames all web exposed surfaces to match the new
Conversion Measurement API names in accordance with
WICG/attribution-reporting-api#103

This does not change any internal names used for storing and propagating
API data.

Why:
Without pausing the Origin Trial, is makes sense to make all of surface
changes at once to minimize any risk of the API getting into
an unexpected state due to reverts etc.

The implementation names and structures will be updated in followups,
which should be easier to review given that they will be pure
structural changes.

E.g. https://chromium-review.googlesource.com/c/chromium/src/+/2702912

The internals page title/url will be updated in a followup tracked by
https://crbug.com/1165916

Bug: 1165916
Change-Id: Ie6d2a2d32324bdf90a74984d1fadc3f37b5a3301
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2706498
Commit-Queue: John Delaney <[email protected]>
Reviewed-by: Robert Sesek <[email protected]>
Reviewed-by: Charlie Harrison <[email protected]>
Reviewed-by: Nate Chapin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#882974}
NOKEYCHECK=True
GitOrigin-RevId: 7a48dde0857eccf6f61397a962c8532869b861f2
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.

None yet

3 participants