광고 구매자 (DSP 및 광고주)는 게시자 사이트에서 Protected Audience 광고 입찰에 참여하여 광고주 사이트에서 정의한 관심분야 그룹에 광고를 타겟팅하는 데 관심이 있을 수 있습니다. Protected Audience 입찰에 참여하면 개인 정보를 보호하는 방식으로 다른 사이트에서 식별된 고객에게 도달할 수 있습니다.
Protected Audience 입찰에서는 입찰가를 생성하는 로직을 제공하고 브라우저가 해당 로직을 사용하여 입찰가를 계산합니다. 이는 로직을 제공하는 대신 입찰가를 직접 제출하는 다른 입찰 아키텍처와 대조됩니다.
generateBid()
JavaScript 함수에서 입찰가 생성 로직을 제공하고 파일은 서버에서 호스팅됩니다. 사용자를 관심분야 그룹에 추가하면 이 파일의 위치가 관심분야 그룹 구성에 biddingLogicUrl
로 전달됩니다.
입찰 중에 브라우저는 biddingLogicUrl
필드에 지정된 입찰 로직을 가져오고 외부 컨텍스트와의 통신이 제한된 보안 격리 환경에서 각 관심분야 그룹에 대해 generateBid()
함수를 실행합니다. generateBid()
가 실행되면 브라우저가 신호를 함수에 인수로 전달합니다. 이러한 신호에는 게시자의 퍼스트 파티 데이터, 판매자의 데이터, 실시간 데이터 등 다양한 소스의 정보가 포함됩니다. 이러한 신호를 사용하여 입찰가를 계산할 수 있으며 값은 generateBid()
호출에서 반환됩니다. 입찰이 제출되면 브라우저가 각 입찰에 대해 판매자의 점수 매기기 로직을 실행하여 판매자의 선호도 점수를 계산합니다.
generateBid()
다음은 generateBid()
함수의 인수와 함수에서 반환된 입찰가의 구조를 설명합니다.
generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals, directFromSellerSignals) {
return {
ad: adObject,
adCost: optionalAdCost,
bid: bidValue,
bidCurrency: 'USD',
render: {
url: renderURL,
width: renderWidth,
height: renderHeight
},
adComponents: [
{url: adComponent1, width: componentWidth1, height: componentHeight1},
{url: adComponent2, width: componentWidth2, height: componentHeight2},
// ...
],
allowComponentAuction: false,
modelingSignals: 123 // 0-4095 integer (12-bits)
};
}
인수
generateBid()
는 다음 인수를 사용합니다.
인수 | 역할 |
---|---|
|
광고 구매자가 전달하는 객체입니다. 관심분야 그룹은 dailyUpdateUrl 로 업데이트될 수 있습니다. |
|
판매자가 navigator.runAdAuction() 에 전달하는 입찰 구성 인수의 속성입니다. 여기에는 페이지 컨텍스트 (예: 광고 크기 및 게시자 ID), 입찰 유형 (단일 가격 또는 2순위), 기타 메타데이터에 관한 정보가 포함됩니다. |
|
판매자가 전달한 auction config 인수의 속성입니다. 판매자가 구매자 서버에 실시간 입찰 호출을 실행하고 응답을 다시 파이프하는 SSP인 경우 또는 게시자 페이지가 구매자 서버에 직접 연락하는 경우 페이지에 관한 구매자 서버의 문맥 신호를 제공할 수 있습니다. 이 경우 구매자는 변조 방지를 위해 generateBid() 내에서 이러한 신호의 암호화 서명을 확인할 수 있습니다. |
|
키가 관심분야 그룹의 trustedBiddingSignalsKeys 이고 값이 trustedBiddingSignals 요청에서 반환되는 객체입니다. |
|
브라우저에서 생성한 객체로, 페이지 컨텍스트에 관한 정보 (예: 판매자가 위조할 수 있는 현재 페이지의 hostname )와 관심분야 그룹 자체에 관한 데이터 (예: 그룹이 이전에 입찰에서 낙찰된 기록으로, 온디바이스 빈도 제한 허용)가 포함될 수 있습니다. |
|
runAdAuction 가 실행되는 컨텍스트에 있는 모든 참여자로부터 제공될 수 있는 auctionSignals 및 sellerSignals 와 달리 특정 판매자로부터 제공되는 신호입니다. |
브라우저 신호
browserSignals
객체에는 다음과 같은 속성이 있습니다.
{
topWindowHostname: 'publisher.example',
seller: 'https://ssp.example',
topLevelSeller: 'https://www.top-level-ssp.com',
requestedSize: {width: 100, height: 200}, /* if specified in auction config */
joinCount: 3,
recency: 3600000,
bidCount: 17,
prevWinsMs: [[timeDeltaMs1,ad1],[timeDeltaMs2,ad2],...],
wasmHelper: ...
dataVersion: 1,
adComponentsLimit: 40
}
속성 | 설명 |
---|---|
|
runAdAuction() 호출이 이루어진 위치의 호스트 이름입니다. |
|
입찰이 제출된 판매자입니다. 구성요소 입찰에서 이 값은 구성요소 판매자입니다. |
|
구성요소 입찰의 최상위 판매자이며 구성요소 입찰에만 표시됩니다. |
|
requestedSize 속성은 입찰에 권장되는 프레임 크기를 나타냅니다. 판매자가 입찰 구성에서 요청된 크기를 설정하면 generateBid() 에서 입찰자가 값을 사용할 수 있습니다. 입찰에 참여하는 입찰자는 광고의 콘텐츠 크기를 다르게 선택할 수 있으며, 그 결과 크기는 요소의 컨테이너 크기에 맞게 시각적으로 조정됩니다. |
|
joinCount 필드는 관심분류가 지속적으로 저장된 지난 30일 동안 이 기기가 이 관심분류에 참여한 횟수입니다 (즉, 관심분류가 기기에서 저장되는 데 참여 또는 멤버십 만료로 인한 간격이 없음). |
|
recency 필드는 이 기기가 이 관심분야 그룹에 가입한 시점부터 현재까지의 시간 (분)입니다. |
|
관심분류가 입찰을 제출한 횟수입니다. |
|
prevWinMs 필드에는 관심분야 그룹의 낙찰 광고와 이전 낙찰 이후 경과 시간이 밀리초 단위로 포함됩니다. 여기 광고 객체에는 renderURL 및 메타데이터 필드만 포함됩니다. |
|
관심분야 그룹의 biddingWasmHelperURL 를 기반으로 하는 WebAssembly.Module 객체 |
|
구매자의 키/값 서비스 응답의 Data-Version 값입니다. |
|
generateBid() 가 반환할 수 있는 최대 광고 구성요소 수 |
입찰가 계산
generateBid()
의 코드는 입찰가를 계산하기 위해 함수의 매개변수 속성을 사용할 수 있습니다.
예를 들면 다음과 같습니다.
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
return {
// ...
bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
// ...
}
}
입찰가 반환
generateBid()
는 다음 속성이 있는 객체를 반환합니다.
속성 | 역할 |
---|---|
ad |
광고에 관한 임의의 메타데이터입니다. 예를 들어 판매자가 이 입찰 또는 광고 소재에 대해 알고 싶어 하는 정보입니다. 판매자는 입찰 및 결정 로직에서 이 정보를 사용합니다. |
adCost |
generateBid에서 reportWin으로 보고 광고주 클릭 또는 전환 비용을 전달하는 데 사용되는 숫자 값입니다. 이 숫자의 정밀도는 8비트 가수와 8비트 지수로 제한되며, 반올림은 확률적으로 실행됩니다. |
adComponents |
navigator.joinAdInterestGroup() 에 전달된 관심분야 그룹 인수의 adComponents 속성에서 가져온 여러 부분으로 구성된 광고의 최대 20개 구성요소로 이루어진 선택적 목록입니다. |
allowComponentAuction |
이 입찰가를 구성요소 입찰에서 사용할 수 있는지 여부를 나타내는 불리언 값입니다. 지정하지 않으면 기본값은 'false'입니다. |
bid |
경매에 참여할 숫자 입찰가입니다. 판매자는 여러 구매자의 입찰가를 비교할 수 있어야 하므로 입찰가는 판매자가 선택한 단위 (예: '1, 000개당 미국 달러')로 표시되어야 합니다. 입찰가가 0 또는 음수이면 이 관심분야 그룹은 판매자의 입찰에 전혀 참여하지 않습니다. 이 메커니즘을 사용하면 구매자는 광고가 게재될 수 있는 위치 또는 게재될 수 없는 위치에 대한 광고주 규칙을 구현할 수 있습니다. |
bidCurrency |
통화 확인에 사용되는 입찰 통화입니다. |
render |
이 입찰이 입찰에서 낙찰될 경우 렌더링되어야 하는 광고 소재를 설명하는 사전입니다. 여기에는 다음이 포함됩니다.
|
|
노이즈 추가 및 버킷팅 방식에 설명된 대로 노이즈가 추가되어 reportWin() 에 전달되는 0~4095 정수 (12비트)입니다. 음수, 무한대, NaN 값과 같은 잘못된 값은 무시되고 전달되지 않습니다. 가장 낮은 12비트만 전달됩니다. 구매자는 userBiddingSignals 에서 관심분류 생성 시 캡처된 퍼스트 파티 구매자 데이터의 데이터를 비롯해 generateBid() 함수 내에서 사용할 수 있는 신호를 사용하여 ML 모델 학습을 지원하기 위해 구매자의 낙찰 보고 함수에 전달되는 값을 도출할 수 있습니다. |