privacycg / private-click-measurement

Private Click Measurement
https://privacycg.github.io/private-click-measurement/
200 stars 8 forks source link

Clarity on multi-publisher scenario #52

Open jinghao opened 4 years ago

jinghao commented 4 years ago

Hi @johnwilander and @hober!

It's not clear to me from the current spec how PCM will handle the case where multiple ad click sources drive a user to an ad click destination.

When the user converts on the destination, will the ad click attribution request be sent to both ad click sources? (Assuming it's within the window and everything else matches) If not, what logic will it use to determine which ad click source to inform?

For context, Facebook's ads reporting products don't have visibility into ad clicks on other surfaces so it performs attribution independently. It's very important for us to know the exact definition of a conversion in order to ensure we can accurately represent the metric to businesses.

Thanks!

johnwilander commented 4 years ago

Hi and thanks for filing!

It's not clear to me from the current spec how PCM will handle the case where multiple ad click sources drive a user to an ad click destination.

When the user converts on the destination, will the ad click attribution request be sent to both ad click sources? (Assuming it's within the window and everything else matches) If not, what logic will it use to determine which ad click source to inform?

For every request made to the .well-known location, a check will be made to see off there is a pending ad click from that domain. If so, a report will be scheduled. There is no limit on how many domains can get such .well-known requests or how many of them can get reports.

Does that answer your question? If so, we should make sure to flesh one such scenario out in the spec.

jinghao commented 4 years ago

Thanks for the response! That makes sense. The attribution treats each click source independently and all of them can get the report.

Let's include a concrete scenario in the spec so we can make sure that as we evolve the API (i.e. the future Javascript reporting API), we maintain consistent semantics.