광고 구매자 (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회당 USD'). 입찰가가 0이거나 음수이면 이 관심분야 그룹은 판매자의 입찰에 전혀 참여하지 않습니다. 구매자는 이 메커니즘을 통해 광고의 게재 여부에 대한 광고주 규칙을 구현할 수 있습니다. |
bidCurrency |
입찰의 통화로, currency-checking에 사용됩니다. |
render |
이 입찰이 낙찰될 경우 렌더링되어야 하는 광고 소재를 설명하는 사전입니다. 여기에는 다음과 같은 콘텐츠가 포함됩니다. <ph type="x-smartling-placeholder">
|
|
노이즈 및 버케팅 스키마에 설명된 대로 노이즈와 함께 reportWin() 에 전달된 0~4095 정수 (12비트)입니다. 음수 값, 무한 값, NaN 값과 같은 잘못된 값은 무시되며 전달되지 않습니다. 최하위 12비트만 전달됩니다. 구매자는 userBiddingSignals 의 관심분야 그룹 생성 시간에 캡처된 퍼스트 파티 구매자 데이터 등 generateBid() 함수 내에서 제공되는 신호를 사용하여 구매자의 낙찰 보고 함수에 전달되는 일부 값을 도출하고 ML 모델 학습을 사용 설정할 수 있습니다. |