Skip to content
This repository has been archived by the owner on Oct 30, 2020. It is now read-only.

Interaction between outcome-based TURTLEDOVE and product-level TURTLEDOVE #1

Open
sbelov opened this issue Oct 8, 2020 · 1 comment

Comments

@sbelov
Copy link

sbelov commented Oct 8, 2020

If I understand correctly, outcome-based TURTLEDOVE attempts at achieving protections against micro-targeting by enforcing that the outcome of on-device bidding is common for at least N users (as opposed to enforcing the minimum interest group size in the original TURTLEDOVE proposal). In product-level TURTLEDOVE, you suggested that browsers could apply minimum audience size at the product level, and pick those products that cross the threshold to be displayed to users. Could the outcome-based approach be applied to the product selection – in other words, instead of picking a minimum audience threshold for each product and letting browsers pick which products to show, could the product recommendation selection be supported via on-device signals / logic and subjected to protections against micro-targeting based on the outcome of such logic?

@jonasz
Copy link
Owner

jonasz commented Oct 16, 2020

Hi @sbelov ,

I think the most natural way of employing OBTD together with PLTD would be, as you suggest, to apply the outcome-based validation algorithm to each product independently. The creative construction phase would work with products that have been validated by the browser.

As I understand, your suggestion is to add a step to this flow, where an ad-network-provided product_selection_logic would pick exactly which products to show. The simplest approach could work as follows:

  1. Product selection
// products ordered from the most useful for the user
let ranked_products = product_selection_logic(
    product_ids,  // specified during joinAdInterestGroup
    adSignals,  // vanilla TD
    contextualSignals, // vanilla TD
    browserSignals,  // see below
    userSignals,  // from OBTD
)

browserSignals.recentAdEvents, described in WICG/turtledovei/issues/44, would be very useful here if they contain product-level impression & click statistics.
2. The browser creates a validated_products list by filtering out from ranked_products the products that do not yet meet the outcome-based validation threshold. (The products that were filtered out count as "product-level ghost wins" for the purpose of the validation algorithm).
3. A prefix of validated_products is then used for ad rendering as described in PLTD#creative construction.

// Note that the actual logic could be more elaborate, for example to enable a more complex "product fallback" logic, let the three steps above serve as a discussion starter.

Such product_selection_logic indeed sounds very useful from the standpoint of more useful product recommendations. Thanks for submitting the issue!

Please let me know if this is indeed what you had in mind.

As both OBTD and PLTD have been merged into WICG/turtledove repository, I'm adding @michaelkleber for visibility.

Best regards,
Jonasz

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

No branches or pull requests

2 participants