광고 슬롯을 구매하기 위한 입찰

광고 구매자 (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()는 다음 인수를 사용합니다.

인수 역할

interestGroup

광고 구매자가 전달하는 객체입니다. 관심분야 그룹은 dailyUpdateUrl(으)로 업데이트될 수 있습니다.

auctionSignals

판매자가 navigator.runAdAuction()에 전달한 입찰 구성 인수의 속성입니다. 페이지 문맥 (예: 광고 크기, 게시자 ID), 입찰 유형 (단일 가격 또는 2순위 가격), 기타 메타데이터에 대한 정보를 제공합니다.

perBuyerSignals

판매자가 전달한 입찰 구성 인수의 속성입니다. 판매자가 구매자 서버에 대해 실시간 입찰 호출을 수행하고 응답을 다시 파이핑하는 SSP이거나 게시자 페이지가 구매자의 서버에 직접 연결되는 경우, 이를 통해 구매자 서버에서 페이지에 관한 문맥 시그널을 제공할 수 있습니다. 이 경우 구매자는 조작 방지를 위해 generateBid() 내에서 이러한 신호의 암호화 서명을 확인하는 것이 좋습니다.

trustedBiddingSignals

키가 관심분야 그룹에 대한 trustedBiddingSignalsKeys이고 trustedBiddingSignals 요청에서 값이 반환되는 객체입니다.

browserSignals

브라우저에서 생성한 객체로, 페이지 컨텍스트 정보 (예: 판매자가 가짜일 수 있는 현재 페이지의 hostname) 및 관심분야 그룹 자체에 관한 데이터 (예: 기기 내 최대 게재빈도 설정을 허용하기 위해 그룹이 이전에 낙찰받은 시기의 기록)를 포함할 수 있습니다.

directFromSellerSignals

runAdAuction가 실행되는 컨텍스트에서 존재하는 모든 참여자의 auctionSignalssellerSignals와 달리 특정 판매자로부터 확실히 오는 신호입니다.

브라우저 신호

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
}
속성 설명

topWindowHostname

runAdAuction() 호출이 실행된 위치의 호스트 이름입니다.

seller

입찰이 제출된 판매자입니다. 구성요소 입찰에서는 이 값이 구성요소 판매자입니다.

topLevelSeller

구성요소 입찰의 최상위 판매자이며 구성요소 입찰에만 존재합니다.

requestedSize

requestedSize 속성은 입찰의 프레임 크기를 추천합니다. 판매자가 입찰 구성에서 요청된 크기를 설정하면 generateBid()의 입찰자에게 값이 제공됩니다. 입찰에 참여하는 입찰자는 광고의 다른 콘텐츠 크기를 선택할 수 있으며, 이렇게 생성된 크기는 요소의 컨테이너 크기에 맞게 시각적으로 조정됩니다.

joinCount

joinCount 필드는 관심분야 그룹이 지속적으로 저장된 동안 (즉, 탈퇴 또는 멤버십 만료로 인해 기기에서 관심분야 그룹 스토리지에 공백이 없는 경우) 지난 30일 동안 이 기기가 이 관심분야 그룹에 참여한 횟수입니다.

recency

recency 입력란은 이 기기가 이 관심분야 그룹에 참여한 시점부터 현재까지의 기간 (분)입니다.

bidCount

관심분야 그룹이 입찰가를 제출한 횟수입니다.

prevWinsMs

prevWinMs 필드에는 관심분야 그룹의 낙찰된 광고와 이전 낙찰 이후의 시간(밀리초)이 포함됩니다. 여기서 광고 객체에는 renderURL 및 메타데이터 필드만 포함됩니다.

wasmHelper

관심분야 그룹의 biddingWasmHelperURL에 기반한 WebAssembly.Module 객체.

dataVersion

구매자의 키/값 서비스 응답의 데이터 버전 값입니다.

adComponentsLimit

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">
    </ph>
  • url: 광고 소재의 URL입니다.
  • width: 광고 소재의 너비입니다. 이 크기는 관심분야 그룹의 선언과 비교되며 광고 소재 URL에 있는 모든 광고 크기 매크로로 대체됩니다. 광고가 분리 프레임에 로드되면 분리 프레임의 내부 프레임 (즉, 광고 소재에 표시되는 크기)이 이 크기로 고정되어 삽입된 프레임에 의한 프레임 크기 변경은 확인할 수 없습니다.
  • height: 광고 소재의 높이 자세한 내용은 width 페이지를 참고하세요.

modelingSignals

노이즈 및 버케팅 스키마에 설명된 대로 노이즈와 함께 reportWin()에 전달된 0~4095 정수 (12비트)입니다. 음수 값, 무한 값, NaN 값과 같은 잘못된 값은 무시되며 전달되지 않습니다. 최하위 12비트만 전달됩니다.


구매자는 userBiddingSignals의 관심분야 그룹 생성 시간에 캡처된 퍼스트 파티 구매자 데이터 등 generateBid() 함수 내에서 제공되는 신호를 사용하여 구매자의 낙찰 보고 함수에 전달되는 일부 값을 도출하고 ML 모델 학습을 사용 설정할 수 있습니다.