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

PARAKEET & retargering #34

Open
jonasz opened this issue Sep 13, 2021 · 3 comments
Open

PARAKEET & retargering #34

jonasz opened this issue Sep 13, 2021 · 3 comments

Comments

@jonasz
Copy link

jonasz commented Sep 13, 2021

Hi,

I am trying to better understand how the PARAKEET proposal works with the retargering use case.

Let's say a user visits an electronics store and is interested in a product - a red Iphone 10. The electronics store would like to run a retargeting campaign, and advertise this exact product to the user.

Question1: how could a call to joinAdInterestGroup look like in this case? Perhaps something like this?

navigator.joinAdInterestGroup({
origin: 'electronicsstore.com',
interests: 'red-iphone-10',
(...)
} (...))

Later on the user visits two other advertisers and they add two more interests: 'yellow-nike-air-force-gym-trainers' and 'pirelli-all-year-250/80/16'.

Question2: I was wondering, how would these interests be passed to the buyers during an auction? Would they be passed as a tuple in the 'user-ad-interests' field?

'user-ad-interests': 'red-iphone-10,yellow-nike-air-force-gym-trainers,pirelli-all-year-250/80/16'

I have some follow up questions in my mind, but before I ask them, I'd be grateful if you could confirm if my understanding so far is correct.

Best regards,
Jonasz

@mehulparsana
Copy link
Contributor

yes @jonasz , your understanding seems almost accurate. user-ad-interest at buy time will be passed with namespace (advertiser domain) to preserve appropriate association. For this example,
'user-ad-interests': '**electronicsstrote.com**: red-iphone-10, **sports.com**: yellow-nike-air-force-gym-trainers, **tyres.com**: pirelli-all-year-250/80/16'

Please note that this vector will have noise added to to ensure approx. k users are in this combination (clustering step explained in differential privacy section) to preserve privacy. There could additional algorithms (part from clustering based setup) to ensure privacy. The proposal here is to enable such framework so various privacy ideas can be experimented.

@jonasz
Copy link
Author

jonasz commented Oct 1, 2021

I see, thanks.

A couple of thoughts that come to my head:
a) The use case above, to advertise to the user the exact product that they saw on the advertiser's page, is quite common. If the user is added to just a couple such user-ad-interests, the combination will very quickly become unique.
b) A single advertiser could try to create less granular user-ad-interests, but that will not help much, as the user-ad-interest vector is composed of interests from other advertisers as well. (Even if they all do that, we still run into a combinatorial explosion of combinations.)
c) The explainer also mentions that the user-ad-interests will have to pass a popularity threshold together with other, contextual signals:

If the full set of information that would be carried by the service ads is too unique (as determined by having a minimum number of users' browsers trying to request an ad with the same set of signals within some reasonable time period), the service will drop the user-ad-interests attribute entirely and pass along the request using the information provided directly by the page (i.e., all of the information in the URL could have been generated by the site and loaded via a normal iframe).

Given these considerations, I'm worried about how much of the initial retargeting signal will be available in the final request. I was wondering, do you have any thoughts or estimates on that?

@mehulparsana
Copy link
Contributor

Few clarifications before answering targeting specific question -

  1. user-ad-interests is checked for popularity in isolation to contextual signals.
  2. current explainer refers to user-ad-interests as one global interest-group vector. We are also considering reader specific view for DP tradeoff/anonymization (potentially non-adversarial, non-collusion).

Our proposal is to leverage interest group as hints to enable product retargeting. For example, instead of creating interest group for each tail products, create interest group for set of products OR create multiple interest groups representing different granularities, and use these hints for ad selection at runtime based on availability of these hints post privacy trade-off.
At end, DSP can respond with one ad OR multiple ads based on these hints, and leverage client side finalizeAd() or MPC steps to determine final bid(s) depending on tradeoff between value difference, complexity and cost.

One important point to call out is that privacy trade-off in reporting + bid model training will pause key restrictions to what can be achieved at serve time. For example private information retrieval can enable additional targeting capabilities but limitation on reporting will render it insufficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants