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

Improve personalization for users of large sites #8

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Prev Previous commit
Next Next commit
Resolve merge conflicts with upstream
  • Loading branch information
dmarti committed Jan 25, 2022
commit eef1c2467526b71db407e8d80b3099d5bcfcd7f3
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const topics = await document.browsingTopics({'section': 'pets'});
// The returned array looks like: [{'value': Number, 'taxonomyVersion': String, 'modelVersion': String}]

// Get data for an ad creative.
const creative = await fetch('https://ads.example/get-creative', {
const response = await fetch('https://ads.example/get-creative', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
Expand Down Expand Up @@ -62,7 +62,8 @@ The topics will be inferred by the browser. The browser will leverage a classifi
* The 5% noise is introduced to ensure that each topic has a minimum number of members (k-anonymity) as well as to provide some amount of plausible deniability.
* The reason that each site gets one of several topics is to ensure that different sites often get different topics, making it harder for sites to cross-correlate the same user.
* e.g., site A might see topic ‘cats’ for the user, but site B might see topic ‘automobiles’. It’s difficult for the two to determine that they’re looking at the same user.
* Not every API caller will receive a topic. Only callers that observed the user visit a site (and section, where a site provides more than one section name) about the topic in question within the past three weeks can receive the topic. If the caller (specifically the site of the calling context) did not call the API in the past for that user on a site/section about that topic, then the topic will not be included in the array returned by the API.
* The beginning of a week is user specific and may include some noise. That is, not everyone will calculate new topics at the same time on the same day.
* Not every API caller will receive a topic. Only callers that observed the user visit a site about the topic in question within the past three weeks can receive the topic. If the caller (specifically the site of the calling context) did not call the API in the past for that user on a site about that topic, then the topic will not be included in the array returned by the API.
* This is to prevent the direct dissemination of user information to more parties than the technology that the API is replacing (third-party cookies).
* Example:
* Week 1: The user visits a bunch of sites about fruits, and the Topics taxonomy includes each type of fruit.
Expand Down