Protected Audience API 입찰을 구성하는 방법을 알아봅니다.
판매자가 진행하는 기기 내 입찰
기기 내 Protected Audience 입찰은 광고 공간을 판매하는 사이트에서 실행되며, Google에서는 입찰을 실행하는 당사자를 판매자로 지칭합니다. 많은 당사자가 판매자 역할을 할 수 있습니다. 사이트에서 자체 광고 입찰을 실행하거나, 입찰을 실행하기 위해 서드 파티 스크립트를 포함하거나, 기기 내 입찰 실행과 다른 서버 측 광고 입찰 활동을 결합하는 SSP를 사용할 수 있습니다. 판매자는 기기 내 광고 입찰에서 다음과 같은 세 가지 기본 작업을 수행해야 합니다.
- 판매자는 (a) 참여할 수 있는 구매자 및 (b) 이러한 구매자의 관심분야 그룹에서 입찰에 참여할 수 있는 입찰가를 결정합니다. 이렇게 하면 판매자가 페이지에 표시할 수 있는 광고에 관한 사이트의 규칙을 적용할 수 있습니다.
- 판매자는 입찰의 비즈니스 로직, 즉 각 입찰의 가격과 메타데이터를 고려하고 '희망성' 점수를 계산하는 JavaScript 코드를 담당합니다. 호감도 점수가 가장 높은 입찰이 낙찰됩니다.
- 판매자는 가격 삭제 및 기타 지급 관련 정보를 포함하여 입찰 결과에 관한 보고를 실행합니다. 또한 낙찰자와 낙찰자가 자체적인 보고를 할 수 있습니다.
이 문서에서는 기기 내 입찰을 구성하고 시작하는 방법을 설명합니다.
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 값을 반환하여 광고가 선택되지 않았음을 나타낼 수 있습니다. 이 경우 판매자는 문맥 타겟팅 광고를 렌더링할 수 있습니다.