광고 구매자 (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순위), 기타 메타데이터에 대한 정보를 제공합니다. |
|
판매자가 전달한 입찰 구성 인수의 속성입니다. 이를 통해 구매자 서버에서 페이지에 관한 문맥 시그널을 제공할 수 있습니다. 판매자가 구매자 서버로 실시간 입찰 호출을 실행하고 응답을 다시 파이핑하는 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 객체입니다. |
|
구매자의 키-값 서비스 응답에서 가져온 데이터 버전 값입니다. |
|
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 모델 학습을 지원할 수 있습니다. |