For a Protected Audience (PA) auction, we are passing an existing input signal Buyer signals to TEE based Key Value service (TKV) with Bidding and Auction (B&A) version 4.5.0. Starting with that version, Buyer signals
can be optionally propagated to the buyer’s TKV in the encrypted payload, i.e. never through cleartext.
The purpose of this document is to explain how this works and how to enable it.
During a PA auction performed using B&A servers, the Buyer Front End (BFE) calls out to the buyer’s TKV. Signals sent to TKV are limited because historically the TKV implementation matched Bring-Your-Own-Server (BYOS) functionality. The signals sent to BYOS are limited to reduce the impact if the service operator uses them to create a user’s cross-site profile.
Now that the TKV implementation can be trusted to protect the user’s data, we are considering what additional signals can be made available in TKV.
BFE has had access to buyer signals, but previously TKV did not. More context on what buyer signals are is available here. See this section for more context on where the buyer signals are coming from. See this section talking about motivation.
To select the best ad to show to a user, adtechs can utilize all available data. They also want to make their ad selection decision in the environment that not only has compute, e.g. B&A, but has access to data, i.e. TKV.
To that end we can consider sending more contextual data to the TKV, where adtechs can use that data in their user defined functions (UDFs) along with data from advertiser sites to make improved ad retrieval decisions in an environment that has access to the AdTech's loaded data.
The buyer signals
field is a free form string. That string has serialized contextual signals corresponding to each buyer in an auction that could help in generating bids. Each buyer is aware of the format in which that string is serialized and can take advantage of it in respective UDFs.
Buyer signals are set by an untrusted Seller Ad Service based on the contextual information available at the time of the B&A SelectAdReqest
request creation.
buyer signals
have a parameter name of perBuyerSignals
in generateBid.
As mentioned above, buyer signals are set by an untrusted Seller Ad Service based on the contextual information available at the time of the B&A SelectAdReqest
that is sent to SellerFrontEnd service (SFE).
That means that the perBuyerSignals (contextual signals) need to be available before SFE is called.
SFE then sends that info to BFE.
BFE sends that info in the metadata field buyer_signals
request. That field is later available in each UDF execution. See the UDF API section in this doc and this proto.
These signals won’t be propagated by default. By default there is no extra bandwidth or change in behavior.
An Adtech can choose to propagate by enabling a feature flag propagate_buyer_signals_to_tkv
in BFE.
Adding buyer signals to the payload is extra bandwidth.
We will add buyer signals propagation support for on device shortly after. We’re planning to update this document with additional details once they are finalized and are ready to be shared.
Feedback on this feature is welcome. Please provide it by opening an issue on github.