게시자 페이지에서 광고 입찰 설정

Protected Audience API 입찰을 구성하는 방법을 알아봅니다.

판매자가 진행하는 기기 내 입찰

기기 내 Protected Audience 입찰은 광고 공간을 판매하는 사이트에서 실행되며, Google에서는 입찰을 실행하는 당사자를 판매자로 지칭합니다. 많은 당사자가 판매자 역할을 할 수 있습니다. 사이트에서 자체 광고 입찰을 실행하거나, 입찰을 실행하기 위해 서드 파티 스크립트를 포함하거나, 기기 내 입찰 실행과 다른 서버 측 광고 입찰 활동을 결합하는 SSP를 사용할 수 있습니다. 판매자는 기기 내 광고 입찰에서 다음과 같은 세 가지 기본 작업을 수행해야 합니다.

  1. 판매자는 (a) 참여할 수 있는 구매자 및 (b) 이러한 구매자의 관심분야 그룹에서 입찰에 참여할 수 있는 입찰가를 결정합니다. 이렇게 하면 판매자가 페이지에 표시할 수 있는 광고에 관한 사이트의 규칙을 적용할 수 있습니다.
  2. 판매자는 입찰의 비즈니스 로직, 즉 각 입찰의 가격과 메타데이터를 고려하고 '희망성' 점수를 계산하는 JavaScript 코드를 담당합니다. 호감도 점수가 가장 높은 입찰이 낙찰됩니다.
  3. 판매자는 가격 삭제 및 기타 지급 관련 정보를 포함하여 입찰 결과에 관한 보고를 실행합니다. 또한 낙찰자와 낙찰자가 자체적인 보고를 할 수 있습니다.

이 문서에서는 기기 내 입찰을 구성하고 시작하는 방법을 설명합니다.

Protected Audience API 광고 입찰 구성

Protected Audience API 광고 입찰을 실행하려면 먼저 입찰을 구성해야 합니다. auctionConfig 객체를 만들면 됩니다. 다음은 이러한 구성 중 하나의 예입니다.

const auctionConfig = {
  seller: 'https://seller.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://buyer-1.example', 'https://buyer-2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://buyer-1.example': {...},
    'https://buyer-2.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://buyer-1.example': 50,
    'https://buyer-2.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://component-seller.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ],
  resolveToConfig: [true|false],
};

숙박 시설 AuctionConfig

필수 속성

auctionConfigs의 유일한 필수 속성은 seller, decisionLogicUrl, interestGroupBuyers입니다.

속성 역할
판매자 https://seller.example 판매자의 출처입니다.
decisionLogicUrl https://seller.example/decision-logic.js 입찰 JavaScript 결정 로직 Worklet의 URL입니다. 이 필드의 출처는 판매자 필드와 동일해야 합니다.
interestGroupBuyers [https://buyer-1.example,
https://buyer-2.example,
...]
입찰을 요청한 모든 관심분야 그룹 소유자의 출처

선택 속성

auctionConfigs의 나머지 속성은 선택사항입니다.

속성 역할
trustedScoringSignalsUrl https://seller.example/scoring-signals 판매자의 키/값 서버 URL입니다. 이는 광고 점수 프로세스 중에 광고 소재의 렌더링 URL을 키로 사용하여 쿼리됩니다. 이 필드의 출처는 판매자 필드와 동일해야 합니다.
auctionSignals {"category":"news"} 입찰에 참여하는 모든 구매자와 판매자가 사용할 수 있는 신호를 나타내는 직렬화 가능한 JSON 객체입니다.
sellerSignals {...} 판매자만 사용할 수 있는 신호를 나타내는 직렬화 가능한 JSON 객체입니다.
perBuyerSignals {https://dsp.example: {...},
https://another-buyer.example: {...},
... }
특정 구매자가 사용할 수 있는 신호입니다. 이러한 신호는 판매자로부터 발생할 수 있으며 구매자 자체에서도 발생할 수 있습니다.
perBuyerTimeouts {https://www.example-dsp.com: 50,
https://www.another-buyer.com: 200,
*: 150,
...},
특정 구매자의 generateBid() 스크립트의 최대 런타임(밀리초)입니다. 특정 제한 시간이 정의되지 않은 모든 구매자에게는 와일드카드 기호가 적용됩니다.
sellerTimeout 100 판매자의 scoreAd() 스크립트의 최대 런타임(밀리초)입니다.
componentAuctions [{seller: https://www.some-other-ssp.com, decisionLogicUrl: ..., ...}, ...] 구성요소 입찰의 추가 구성
resolveToConfig 참|거짓 runAdAuction()에서 반환된 프로미스를 전달하는 불리언입니다. true인 경우 FencedFrameConfig가 확인되고(<deepdframe>에서 사용), false인 경우 불투명한 urn:uuid URL(<iframe>에서 사용)으로 지정됩니다. 기본값은 false입니다.

비동기식으로 신호 제공

일부 신호의 값 (auctionSignals, sellerSignals, perBuyerSignals, perBuyerTimeouts 필드에 의해 구성됨)은 원하는 경우 구체적인 값이 아니라 프로미스로 제공될 수 있습니다. 이렇게 하면 스크립트 및 신뢰할 수 있는 신호 로드 및 격리된 워크렛 프로세스 실행과 같은 입찰의 일부가 이러한 값의 계산 (또는 네트워크 검색)과 겹칠 수 있습니다. Worklet 스크립트는 결정된 값만 볼 수 있습니다. 이러한 Promise가 거부되는 경우 이미 실패했거나 다른 방식으로 중단된 경우가 아니면 입찰이 취소됩니다.

여러 판매자와 함께 입찰 구성하기

경우에 따라 여러 판매자가 입찰에 참여하고자 할 수 있으며, 별도의 입찰의 낙찰자를 다른 판매자가 운영하는 다른 입찰로 넘깁니다. 이렇게 전달되는 별도의 입찰을 구성요소 입찰이라고 합니다. 이러한 구성요소 입찰을 용이하게 하기 위해 componentAuctions 객체에 각 판매자의 구성요소 입찰을 위한 추가 입찰 구성이 포함될 수 있습니다. 이러한 각 구성요소 입찰의 낙찰가가 입찰을 최종 결정하는 '최상위' 입찰로 전달됩니다. 구성요소 입찰의 auctionConfig에는 자체 componentAuctions가 없을 수도 있습니다. componentAuctions가 비어 있지 않으면 interestGroupBuyers는 비어 있어야 합니다. 즉, 특정 Protected Audience 입찰의 경우 판매자가 하나뿐이고 구성요소 입찰이 없거나 모든 입찰이 구성요소 입찰에서 이루어지며 최상위 수준 입찰에서는 구성요소 입찰의 낙찰자 중에서만 선택할 수 있습니다.

입찰 실행

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

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

runAdAuction() 호출은 광고로 확인되는 프로미스를 반환합니다. 게시자 페이지의 어떤 코드도 낙찰된 광고를 검사하거나 runAdAuction()의 결과에서 콘텐츠를 알아볼 수 없습니다. AuctionConfig에서 resolveToConfig 플래그를 true로 설정하면 분리 프레임에서만 렌더링될 수 있는 FencedFrameConfig 객체가 반환됩니다. 플래그가 false로 설정된 경우 iframe에서 렌더링할 수 있는 불투명 URN이 반환됩니다. runAdAuction이 null 값을 반환하여 광고가 선택되지 않았음을 나타낼 수 있습니다. 이 경우 판매자는 문맥 타겟팅 광고를 렌더링할 수 있습니다.