attribution-reporting-api icon indicating copy to clipboard operation
attribution-reporting-api copied to clipboard

Noise level for "funnel optimization"

Open ALamraniAlaouiScibids opened this issue 3 years ago • 1 comments

Hello,

An important part of campaign optimization is the ability to use the information of the whole funnel of conversion. A funnel of conversion could for instance be: Visit of page => Add to cart => Billing page => Purchase The number of “conversions” decreases as you go deeper into the funnel. And, the deeper you go into the funnel, the more valuable are the conversions (Purchase >>> Visit).

In order to limit the noise, an advertiser would like to keep for instance two conversions by step. Therefore, the reporting origin could set an L1 parameter of 2 (visits) + 2 (add to cart) + 2 (checkout page) + 2 (purchase) = 8 (max_value).

Unfortunately, this will not work as intended:

  • The most important conversions could be dropped: It is possible that a user will do 4 visits, 4 add to cart, 2 checkout pages and 2 purchases. In this case, we would have preferred to keep in the report 2 visits, 2 add to cart, 2 checkout pages and 2 purchases instead of 4 visits and 4 add to cart as the two ultimate conversion steps are much more valuable data. With the current behavior, the most important information will be dropped.
  • The level of noise introduced for very rare conversions (purchase) is huge as it is influenced by the other conversion steps: A workaround could be to try raising the L1 parameter to a larger number (several dozens). However this would mean that the noise level would be proportional to the L1 parameter whereas the number of conversions by user will be around 2 for the specific final conversion. It will be impossible to optimize towards the final conversion.

Would it be possible to “prioritize” the conversions to keep ? Is there a way to limit the noise level for final conversions ? Maybe by having more noise on first funnel events (visits) and less noise on final events ?

ALamraniAlaouiScibids avatar Jul 12 '21 14:07 ALamraniAlaouiScibids

Would it be possible to “prioritize” the conversions to keep ?

Hey @ALamraniAlaouiScibids , so sorry for the delay I missed this issue. We have implemented a means of prioritizing conversions for event-level reports (with a new priority parameter) which should help here. This is explained a bit in https://github.com/WICG/conversion-measurement-api/blob/main/event_attribution_reporting_clicks.md#trigger-attribution-algorithm and in the draft spec. However, this is limited by how long we delay reports so it may not be as suitable for aggregate reports. Still, it is something we should explore to solve this issue.

Is there a way to limit the noise level for final conversions ? Maybe by having more noise on first funnel events (visits) and less noise on final events ?

This is possible by developers intentionally using less L1 budget on first funnel events, but it is difficult for the browser to do this allocation for you unless we add more delays to the system (e.g. hold all the reports back until we can adjust budgets, or something along those lines).

For instance, you could say that page visits should get 1/10 of the L1 budget so that you would need 10 of them to steal budget from 1 final purchase. Happy to discuss this in more detail if it's useful.

csharrison avatar Dec 10 '21 15:12 csharrison