Description
The current FLEDGE API only supports positive Interest Group targeting: allowing advertisers to show ads to users that have interacted with their site. Advertisers are not just interested in re-engaging existing customers; advertisers are also interested in attracting new customers. Within FLEDGE, targeting this group of users requires an API change to support negative IG targeting: showing ads only if a user does not belong to an IG. Here we are specifically proposing a mechanism for negative IG targeting for non-FLEDGE ads.
This can be made to work in a way that is compatible with the privacy sandbox principles. We propose something like the following extension of FLEDGE.
In the auctionConfig
, we add a new optional field negativeTargetingAds
:
const myAuctionConfig = {
// ...
'negativeTargetingAds': {
'buyer-1': [
{
'ig-name-1': externalAd1,
// For reportWin only
'reportingLogicUrl': 'https://www.someurl...'
'bid': bidValue
'desirability': desirabilityScore
'render': ...
},
...
],
'buyer-2': [{ 'ig-name-2': externalAd2, ... }, ...],
// ...
}
}
where each externalAd
is only eligible if the user does not have the corresponding IG. The externalAd
object has a desirability
field, a 'bid' field for reporting purposes, and a render
field. Note that server-side the SSP can vet the DSPs' ads, apply any sellside specific logic, and select the top one per negative IG. Then, the externally supplied ads that are eligible can compete with the positive IG ads' desirability
output from scoreAd
.
To maintain privacy, if one of the negative IG ads wins, then it goes through the FLEDGE rendering and reporting flow; that is, it will be rendered via the FLEDGE auctionResultPromise
being passed into a Fenced Frame. A null response from runAdAuction
will indicate neither a positive nor negative interest group ad won the browser auction. The seller reporting would be unchanged, except perhaps from some 'browserSignals' field indicating that it was negative targeting. The externalAd
provides a 'reportingLogicUrl', which provides the buyer reporting function reportWin
. The reportWin
function should follow the same spec as when a regular IG ad wins in FLEDGE.
Furthermore, the ad would be subject to the same k-anonymity requirements.