판매자 가이드: 광고 입찰 실행

Protected Audience API 광고 입찰을 위한 판매자 API 가이드 및 참조입니다.

이 도움말에서는 현재 실험 중인 Protected Audience API 버전에 사용되는 광고 입찰에 대한 기술 참조를 제공합니다.

전체 기간 동안 개발자 가이드를 참고하세요. 자세한 내용은 Protected Audience API 설명을 참고하세요. 판매자가 기기 내 입찰을 실행하는 방법

개발자가 아니신가요? Protected Audience API 개요를 참고하세요.

Protected Audience API 광고 입찰이란 무엇인가요?

Protected Audience API 광고 입찰은 Google 디스플레이 네트워크를 타겟팅하는 브라우저가 사용자 기기에서 실행되어 광고를 선택합니다. 개인 정보를 보호하기 위해 모든 광고는 판매자와 구매자의 입찰 코드가 격리된 JavaScript에서 실행됨 Worklet을 사용하여 하고 있습니다.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder">Protected Audience API 광고 입찰의 6단계</ph>
이 다이어그램은 Protected Audience API 광고 입찰의 각 단계를 간략히 설명합니다.
  1. 사용자가 광고가 게재되는 사이트를 방문합니다.
  2. 판매자 코드가 navigator.runAdAuction()를 실행합니다. 이것은 입찰할 수 있는 사용자를 나타냅니다. 영업 담당자는 스크립트도 포함해야 합니다. scoreAd()입니다.
  3. 초대된 구매자의 코드가 실행되어 입찰가, 관련 광고의 URL이 생성됩니다. 광고 소재 및 기타 데이터를 수집합니다. 입찰 스크립트는 실시간 데이터를 쿼리할 수 있습니다. 예를 들어 구매자의 예산에서 키/값 서비스.
  4. 판매자의 코드가 각 입찰에 점수를 매기고 낙찰자를 선택합니다. 이 로직은 입찰가 및 기타 데이터가 입찰가의 타당성을 반환합니다. 경쟁 우위를 점할 수 없는 광고 최우수 사용자가 거부됩니다. 판매자는 자체 실시간 데이터의 키-값 서비스
  5. 낙찰된 광고는 불투명 값으로 반환되며 분리된 프레임을 놓칩니다. 판매자와 게시자는 이 값을 볼 수 없습니다.
  6. 입찰이 판매자 및 낙찰자에게 보고됩니다.

경매는 언제 진행되나요?

Protected Audience API는 단독으로 또는 프로그래매틱 입찰을 통해 실행할 수 있습니다. 다중 판매자의 경우 입찰합니다.

  1. 사용자가 참여 사이트를 방문합니다.
  2. 프로그래매틱 입찰은 사용 가능한 광고 슬롯에 맞는 문맥 광고를 찾기 위해 다른 판매자가 실행합니다.
  3. Protected Audience API 입찰이 실행됩니다.
  4. scoreAd()구매자의 입찰가를 첫 번째 입찰의 결과와 비교합니다.

낙찰자를 이길 수 없는 입찰은 거부됩니다.

Protected Audience API 광고 입찰은 누가 실행하나요?

광고 공간을 판매하기 위해 입찰을 실행할 수 있는 여러 당사자가 있습니다.

예를 들면 다음과 같습니다.

  • 콘텐츠 게시자: 웹사이트에서 광고 콘텐츠를 직접 호스팅합니다.
  • 공급측 플랫폼 (SSP): 게시자와 협력하고 기타 서비스를 제공합니다.
  • 서드 파티 스크립트: 광고 입찰에 참여할 수 있도록 게시자를 대신하여 역할을 합니다.

Protected Audience API를 사용하면 판매자는 세 가지 작업을 할 수 있습니다.

  • 게시자 규칙 시행: 대상 구매자 및 입찰
  • 입찰 로직 실행: JavaScript 실행 Worklet으로 각 입찰가에 대한 호감도 점수
  • 입찰 결과를 보고합니다.

이러한 작업은 광고 입찰을 시작하려면 JavaScript 함수를 navigator.runAdAuction()

API 함수

runAdAuction()

판매자는 navigator.runAdAuction()를 호출하여 사용자의 브라우저에 광고 입찰을 시작하도록 요청합니다.

예를 들면 다음과 같습니다.

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

try {
  const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
  // Handle error.
}

runAdAuction()는 다음을 나타내는 URN (urn:uuid:<something>)으로 확인되는 프로미스를 반환합니다. 확인할 수 있습니다. 이는 분리 프레임으로 전달될 때만 브라우저에서 디코딩할 수 있습니다. 게시자 페이지에서 낙찰된 광고를 검사할 수 없습니다.

decisionLogicUrl 스크립트는 각 개별 광고를 입찰 및 메타데이터를 한 번에 하나씩 생성하며, 점수를 매깁니다.

숙박 시설 auctionConfig

seller
필수
예: 'https://ssp.example'
역할: 판매자의 출발지입니다.
decisionLogicUrl
필수
예: 'https://ssp.example/auction-decision-logic.js'
역할: 입찰 Worklet JavaScript의 URL입니다.
trustedScoringSignalsUrl
선택사항
예: 'https://ssp.example/scoring-signals'
역할: 판매자의 신뢰할 수 있는 서버 URL입니다.
interestGroupBuyers
필수
예: ['https://dsp.example', 'https://buyer2.example', ...]
역할: 입찰에 참여한 모든 관심분야 그룹 소유자의 출처입니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.
참고: 판매자는 모든 관심분야 그룹의 입찰을 허용하도록 interestGroupBuyers:을(를) 지정할 수 있습니다. 그런 다음 관심분야 그룹 소유자 포함 이외의 기준에 따라 광고가 승인되거나 거부됩니다. 예를 들어 판매자는 광고 소재를 검토하여 정책을 준수하는지 확인할 수 있습니다.
auctionSignals
선택사항
예: {...}
역할: 페이지 컨텍스트, 입찰 유형 등에 대한 판매자 정보
sellerSignals
선택사항
예: {...}
역할: 게시자 설정, 문맥 광고 요청 등에 기반한 정보
sellerTimeout
선택사항
예: 100
역할: 판매자 scoreAd() 스크립트의 최대 런타임 (밀리초)입니다.
perBuyerSignals
선택사항
예:
{'https://dsp.example': {...}, 'https://another-buyer.example': {...}, ... }
드림
역할: 서버에서 가져온 특정 구매자 관련 페이지의 문맥 시그널입니다.
perBuyerTimeouts
선택사항
예: 50
역할: 특정 구매자의 generateBid() 스크립트의 최대 런타임 (밀리초)입니다.
componentAuctions
선택사항
예:
[{'seller': 'https://www.some-other-ssp.com', 'decisionLogicUrl': ..., ...}, ...]
드림
역할: 구성요소 입찰의 추가 구성입니다.

decisionLogicUrl

decisionLogicUrl는 입찰 구성 객체의 속성입니다. runAdAuction()에 전달되었습니다. 이 URL에는 scoreAd() 함수 이 로직은 결정할 수 있습니다.

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

browserSignals

browserSignals는 브라우저에서 생성하는 객체로, 브라우저가 알고 있고 판매자의 입찰 스크립트가 확인:

{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* DValue from the seller's Key/Value service response. */
}

판매자는 입찰이 시작되기 전에 지정할 수 있습니다. scoreAd() 로직의 일부가 게재할 수 없는 모든 광고를 거부합니다. 이기게 됩니다.

scoreAd()

scoreAd()는 다음 인수를 사용합니다.

인수 역할
adMetadata 구매자가 제공한 임의의 메타데이터입니다.
auctionConfig navigator.runAdAuction()에 전달된 입찰 구성 객체입니다.
bid 숫자로 된 입찰가입니다.
trustedScoringSignals 광고에 대한 판매자의 의견을 나타내는, 입찰 시 판매자의 신뢰할 수 있는 서버에서 가져온 값입니다.

자주 묻는 질문(FAQ)

입찰 낙찰자는 어떻게 결정되며 누가 선정하나요?

판매자가 각 광고의 타당성 점수를 결정하는 점수 로직을 제공하고 브라우저에서 가장 높은 점수를 낙찰된 광고로 선택합니다.

판매자는 scoreAd() 함수에 로직을 포함하며 브라우저는 외부 코드와의 통신이 제한된 Worklet에서 함수를 실행합니다. 브라우저 자체에서는 광고의 점수를 매기지 않습니다. 브라우저는 전적으로 점수 로직을 실행하고 점수가 가장 높은 입찰가를 선택합니다.

모든 Protected Audience API 참조

다음과 같은 API 참조 가이드를 이용할 수 있습니다.

Protected Audience API 설명에서는 기능 지원 및 제약조건에 대한 세부정보도 제공합니다.