Protected Audience API 입찰 지연 시간 개선

Protected Audience API가 효율적으로 작동하도록 하는 것이 모두에게 유익합니다.

  • 웹 사용자는 사이트가 빠르게 로드되기를 원합니다. 즉, 개발자는 사이트 및 삽입된 광고를 로드하는 데 필요한 컴퓨팅 또는 네트워크 리소스와 같은 제한된 기기 리소스를 과도하게 사용하지 않도록 Protected Audience API를 효율적으로 빌드해야 합니다.
  • 게시자는 사이트가 빠르게 로드되어 사용자에게 효율적이고 반응이 빠른 환경을 제공하고자 합니다. 게시자 역시 수익을 극대화하기 위한 효과적인 광고를 원합니다.
  • 광고주와 광고 기술은 최대한의 유용성을 제공하기 위해 광고를 빠르게 표시하기를 원합니다.

이 문서에서는 사이트가 최대한 효율적으로 운영될 수 있도록 Protected Audience API 구현과 관련된 몇 가지 권장사항을 설명합니다.

구매자 (입찰자) 권장사항

Protected Audience API 입찰 효율성을 최적화하려면 다음 권장사항을 따르세요.

관심분야 그룹 소유자 감소

브라우저가 사이트 격리를 사용하여 웹의 여러 출처를 보호하는 것과 동일한 방식으로 Protected Audience API 입찰자를 보호하기 위해 브라우저는 고가의 리소스 (예: 운영체제 프로세스)를 사용하여 개별 관심분야 그룹 소유자를 보호합니다.

이렇게 고가의 리소스 지출을 최소화하려면 이익 그룹 소유자의 수를 최소화하는 것이 중요합니다. 여러 하위 도메인에서 소유하는 관심분야 그룹이 다르지 않도록 하세요. 예를 들어 adtech.examplecats.adtech.exampledogs.adtech.example 소유의 관심분야 그룹이 있다면 브라우저에서는 별도의 프로세스 두 개를 사용하여 입찰 스크립트를 실행할 가능성이 있습니다.

관심분야 그룹 입찰 감소율

브라우저는 구매자의 generateBid() 스크립트를 호출하기 전에 깨끗한 JavaScript 실행 환경을 설정하고 generateBid() 코드를 파싱하여 로드하는 등 중요한 설정과 준비를 해야 합니다.

  • 활성 광고 캠페인의 현재 타겟이 아닌 사용자를 나타내는 관심분야 그룹에는 빈 광고 소재 목록이 있어야 합니다. 이렇게 하면 Protected Audience API가 관련 광고 없이 관심분야 그룹에 대해 generateBid()를 실행할 수 없습니다.
  • 유사한 관심분야 그룹을 결합하면 generateBid()를 실행해야 하는 횟수가 줄어듭니다. 관심분야 그룹의 userBiddingSignals 속성은 사용자에 대한 추가 메타데이터를 저장하는 데 사용할 수 있으므로 관심분야 그룹이 적다고 해서 타겟팅의 효율성이 떨어지는 것은 아닙니다.
  • Protected Audience API는 관심분야 그룹 수에 판매자가 지정한 제한과 구매자가 관심분야 그룹의 상대적 우선순위를 지정할 수 있는 API를 지원합니다. 이러한 한도를 사용하여 실행할 입찰 스크립트 수를 크게 줄일 수 있습니다.

키-값 서비스에서 관심분야 그룹을 필터링으로 제외합니다.

구매자가 신뢰할 수 있는 실시간 입찰 신호 서버에서 특정 관심분야 그룹이 입찰해서는 안 된다고 결정할 수 있는 경우 (예: 캠페인이 사용 중지, 일시중지, 예산이 소진되었거나 이 특정 게시자에 입찰해서는 안 됨) 신뢰할 수 있는 입찰 신호 가져오기에 대한 priorityVector 응답으로 브라우저에 이를 표시할 수 있습니다. priorityVectorprioritySignals의 결과 희소 내적이 음수이면 브라우저는 이 관심분야 그룹에 대해 generateBid() 호출을 건너뜁니다. 이 메커니즘에 대한 자세한 내용은 이 설명의 '관심분야 그룹 필터링 및 우선순위 지정' 섹션을 참조하세요.

JavaScript 실행 환경 재사용

브라우저가 generateBid()를 실행하려면 먼저 새 JavaScript 실행 환경을 초기화해야 합니다. 이 작업은 최소 generateBid() 자체를 실행하는 데 걸리는 시간과 마찬가지로 상당한 시간이 걸릴 수 있습니다. 이 시간은 그룹별 출처 또는 고정 컨텍스트 실행 모드를 사용하여 절약할 수 있습니다.

group-by-origin 모드는 관심분야 그룹이 동일한 출처에 조인된 경우 실행 환경을 재사용할 수 있으며 입찰 스크립트를 변경할 필요가 없을 가능성이 높습니다. 자세한 내용은 설명의 group-by-origin 설명을 참고하세요. 고정 컨텍스트 모드는 잠재적으로 모든 실행 환경을 재사용할 수 있지만 입찰 스크립트를 변경해야 할 수 있습니다. 자세한 내용은 설명의 frozen-context 설명을 참고하세요.

입찰 스크립트 재사용

가능한 경우 관심분야 그룹에 동일한 입찰 스크립트를 사용합니다. 이렇게 하면 브라우저가 여러 스크립트를 다운로드, 파싱 및 컴파일하지 않아도 됩니다. 이로 인해 추가 네트워크 요청이 발생합니다. 입찰자는 동일한 스크립트를 사용하면서 관심분야 그룹 정보 (예: name 또는 userBiddingSignals)를 기반으로 입찰을 구분할 수 있습니다.

trustedBiddingSignalsUrls 재사용

네트워크 지연 시간 및 리소스 사용량은 매우 심각할 수 있습니다. 신뢰할 수 있는 실시간 입찰 신호 가져오기를 줄이면 이러한 지연 시간을 줄일 수 있습니다.

trustedBiddingSignalsUrl가 여러 관심분야 그룹에서 재사용될 때 신뢰할 수 있는 입찰 신호 가져오기를 결합할 수 있습니다. 가능하면 모든 관심분야 그룹에 동일한 trustedBiddingSignalsUrl를 사용하세요.

신뢰할 수 있는 입찰 신호 가져오기가 특정 웹페이지의 광고 슬롯 전체에서 캐시되도록 적절한 HTTP 캐시 제어 헤더를 지정하세요. trustedBiddingSignalsSlotSizeModeslot-size로 설정하지 마세요. 요청된 URL이 다르기 때문에 슬롯의 크기가 다를 때 광고 슬롯에서 캐싱이 방지됩니다.

더 작은 실시간 신뢰할 수 있는 입찰 신호 가져오기

네트워크 지연 시간은 매우 중요할 수 있으며, 이는 신뢰할 수 있는 실시간 입찰 신호를 가져오는 동안 전송되는 데이터의 양에 직접적인 영향을 받습니다.

실시간 신뢰할 수 있는 입찰 신호 서비스보다는 관심분야 그룹에 광고별 또는 관심분야 그룹별 데이터를 저장하는 것이 좋습니다. 캠페인 예산 설정 또는 킬 스위치와 같은 진정한 실시간 신호에만 사용되는 신뢰할 수 있는 실시간 입찰 신호 데이터를 예약합니다.

매일 또는 그 이상 업데이트할 수 있는 모든 신호는 관심분야 그룹에 저장되고 일일 업데이트를 사용하여 업데이트해야 합니다.

'키-값 서비스에서 관심분야 그룹 필터링' 섹션에 설명된 대로 필터링된 관심분야 그룹에 대해서는 신뢰할 수 있는 입찰 신호를 반환하지 않습니다.

관심분야 그룹의 우선순위 지정

판매자는 시간 제한을 사용하여 게시자 페이지에서 브라우저 리소스가 사용되는 방식을 제한합니다. perBuyerCumulativeTimeouts를 사용하여 구매자가 신뢰할 수 있는 입찰 신호를 가져오고 입찰 스크립트를 실행해야 하는 시간을 제한하면 구매자는 관심분야 그룹의 우선순위를 지정하여 입찰에서 낙찰될 가능성이 가장 높은 사용자가 먼저 실행되도록 해야 합니다. 예를 들어 perBuyerCumulativeTimeouts가 100밀리초로 설정되어 있고 입찰자의 신뢰할 수 있는 입찰 신호 가져오기에 50밀리초가 소요되고, 각 generateBid() 호출이 10밀리초가 걸리고, 기기에 관심분야 그룹이 10개 있으면 관심분야 그룹의 절반만 입찰가를 계산할 수 있습니다. 이 예에서 구매자는 낙찰 가능성이 가장 높은 광고부터 낙찰 가능성이 가장 낮은 순으로 관심분야 그룹의 우선순위를 지정해야 합니다.

관심분야 그룹에는 priority 필드로 정의된 정적 우선순위를 포함할 수 있습니다. 관심분야 그룹은 신뢰할 수 있는 입찰 신호 서비스에서 계산하고 신뢰할 수 있는 입찰 신호 가져오기에 대한 priorityVector 응답과 함께 브라우저에 반환되는 동적 우선순위를 사용할 수도 있습니다.

브라우저에서 가장 높은 우선순위에서 가장 낮은 우선순위로 관심분야 그룹을 실행할 때 이로 인해 서로 다른 가입 출처의 관심분야 그룹이 흩어져 있어 group-by-origin 최적화를 무효화할 수 있습니다.

영업 담당자 권장사항

Protected Audience API 입찰 효율성을 모니터링하고 최적화하고 있는지 확인하세요.

입찰 동시 로드

최신 네트워크 연결과 멀티코어 프로세서는 여러 작업을 동시에 수행하는 데 매우 효과적입니다. 브라우저는 다른 활동과 동시에 Protected Audience 입찰을 실행할 수 있습니다. 이렇게 하려면 최대한 빨리 runAdAuction()를 호출하는 것이 가장 좋습니다. runAdAuction()에 대한 일부 입력(예: 컨텍스트 응답에서 브라우저로 다시 전송되는 입력)을 초기에 사용하지 못할 수 있음을 인식하면 브라우저에서는 사용 가능해지기 전에 runAdAution()를 호출하고 나중에 JavaScript 프로미스를 사용하여 이러한 입력을 제공할 수 있습니다. 입찰 지연 시간을 최소화하려면 interestGroupBuyers 입력이 알려진 경우 runAdAuction()를 호출해야 합니다. 이렇게 하면 입찰자의 실시간 입찰 신호를 가져오는 등 입찰의 많은 부분이 즉시 시작됩니다.

입찰 모니터링하기

입찰 측정항목을 수집합니다. 브라우저에서 판매자에게 per-buyer 지연 시간 측정항목을 보고하여 판매자의 입찰에 소요되는 시간에 관한 유용한 정보를 많이 제공할 수 있습니다. 판매자는 이러한 측정항목을 사용하여 가장 효과적으로 제한 시간을 설정하는 방법을 알려주는 등 입찰을 최적화할 방법을 찾을 수 있습니다. 판매자는 특정 구매자의 지연 시간 측정항목을 구매자와 공유하여 구매자가 더 최적화할 수 있도록 지원할 수 있습니다.

입찰자는 관심분야 그룹의 입찰 실적에 관한 유용한 정보를 얻을 수 있지만 이를 다른 입찰자와 비교하지 못할 수 있습니다. 여러 입찰자의 상대적 낙찰 비율과 입찰 거부율을 비교하면 관심분야 그룹이 실행 가능한 입찰을 생성하지 못하거나 승인되지 않은 광고 소재에 대한 과도한 입찰로 인해 입찰 컴퓨팅 리소스가 낭비된 사례를 파악할 수 있습니다.

느린 입찰 스크립트로부터 보호하기

입찰 스크립트에 과도한 시간이 소요되면 관련된 모든 사람의 Protected Audience API 입찰 속도가 느려질 수 있습니다. 시간 제한을 사용하면 입찰 속도가 느려지는 것을 방지하면서 입찰이 느릴 때 수익을 회복할 수 있습니다.

판매자는 perBuyerCumulativeTimeouts를 사용하여 느린 입찰을 방지하고 입찰이 느리고 시간 초과에 도달할 때 계속해서 입찰을 수락해야 합니다. perBuyerCumulativeTimeouts는 관심분야 그룹의 수나 generateBid() 속도에 대해 독단적이지 않기 때문에 perBuyerCumulativeTimeouts를 사용하는 것이 perBuyerTimeoutsperBuyerGroupLimits보다 더 좋습니다 (예: 빠르게 입찰하는 많은 관심분야 그룹과 느리게 입찰하는 관심분야 그룹은 거의 없는 경우 시간 초과 전에 모두 완료될 수 있음).

입찰 구성 signal 필드를 사용하여 전체 입찰 시간 제한을 구현하는 것도 신뢰할 수 있는 점수 신호를 가져오고 실행하는 데 시간이 너무 오래 걸리는 scoreAd() 입찰 시간이 지나치게 긴 것을 방지하는 데 도움이 됩니다.

다음 단계

Google은 누구나 사용할 수 있는 API를 빌드할 수 있도록 개발자 여러분과 대화를 나누고 싶습니다.

API에 관해 논의하기

다른 개인 정보 보호 샌드박스 API와 마찬가지로 이 API는 문서화되고 공개적으로 논의됩니다.

API 실험

Protected Audience API에 관한 대화에 실험하고 참여할 수 있습니다.