Skip to content

Accessing Interest Groups from the Same Site in FLEDGE #162

Open
@xxia2021

Description

@xxia2021

Introduction

In the current FLEDGE proposal, the bidding function is triggered per interest group, and each interest group's bidding function does not have access to any other interest groups. This prevents targeting ads based on multi-site behavior.

However, from the privacy perspective, considering multiple interest groups joined while a person was visiting the same site should be allowed. An example use case of single-site tracking:
The user visits shoes.example/red_shoes.htm to look at red shoes, and is added to IG_visitors;
The user visits shoes.example/purchase.html to make an purchase, and is added to IG_purchasers;
The ad targets users in IG_visitors but not in IG_purchasers.

Proposal

We propose:

  • The browser records the current site when joining an interest group.
  • The bidding function be called per site+owner, with access to all interest groups belonging to the site+owner.

Benefits

  • Easier to handle the case where the remarketing ads target more than 1 interest group. For example, an advertiser could set up ads targeting users in interest group 1 while excluding users interest group 2.
  • Support the partial de-crowding so that ads from the same advertiser do not compete with each other.

Detailed Proposal

Joining Interest Group
On calling joinAdInterestGroup() API, we propose to pass an additional field in the interest group object, single_site, which indicates if the interest group should be grouped with other interest groups for this site. If the single_site field is set to true, the API will record the current site as an immutable interest group attribute. To understand what the term “site” means, please refer to this link.

Bidding Function
This would change the generate_bid() function prototype from:

generate_bid(interest_group, auction_signals, per_buyer_signals, trusted_bidding_signals, browser_signals) { }

to

generate_bid(interest_groups, auction_signals, per_buyer_signals)) { }

where interest_groups is a list of [interest_group, trusted_bidding_signals, browser_signals] tuples.

Any interest groups registered with the same_site parameter set to true will be presented to generate_bid() function together, while ones with it set to false will be presented in isolation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions