교차 사이트 서드 파티 추적 없이 리마케팅 및 맞춤 잠재고객에게 광고를 게재하기 위한 기기 내 광고 입찰에 관한 개발자 가이드입니다.
Protected Audience API를 처음 사용하는 경우 Protected Audience API 개요에서 API에 관한 대략적인 설명을 읽어보세요.
이 게시물은 실험용 Protected Audience API의 최신 반복과 관련한 기술 참고 자료로 개발자를 위해 작성되었습니다. 기본 Protected Audience API 배포 데모와 광고 구매자 및 판매자를 위한 API 참조가 제공됩니다.
구현 상태
- Protected Audience API 제안서가 이제 정식 버전으로 전환됩니다. 질문을 제기하고 토론을 팔로우합니다.
- 대기 중인 기능의 Protected Audience API 상태에는 Protected Audience API 및 기능의 변경사항 및 개선사항에 대한 세부정보가 나와 있습니다.
- 깜빡임 상태
- Protected Audience API Chrome 플랫폼 상태: Chrome의 Protected Audience API에만 적용됩니다.
- Ads API Chrome 플랫폼 상태: 광고를 용이하게 하는 API 모음(Protected Audience API, Topics, Fenced Frames, Attribution Reporting)입니다.
API의 상태 변경 알림을 받으려면 개발자를 위한 메일링 리스트에 가입하세요.
Protected Audience API란 무엇인가요?
Protected Audience API는 리마케팅 및 맞춤 잠재고객 사용 사례를 제공하도록 설계된 개인 정보 보호 샌드박스 API로, 서드 파티는 사이트 전반에서 사용자 탐색 행동을 추적하는 데 사용할 수 없도록 설계되었습니다. API를 사용하면 브라우저의 기기 내 입찰에서 사용자가 이전에 방문한 웹사이트에 적합한 광고를 선택할 수 있습니다.
Protected Audience API는 TURTLEDOVE 제안서 제품군 내에서 Chromium에서 구현되는 첫 번째 실험입니다.
Protected Audience API 사용해 보기
사용 가능한 API 참조
이 문서는 Protected Audience API를 간략하게 설명합니다. 특정 API 메서드 및 매개변수를 찾는 경우:
joinAdInterestGroup()
및generateBid()
구매자 가이드입니다.- Protected Audience API 판매자 가이드
runAdAuction()
- 구매자 가이드(
reportWin()
) 및 판매자 가이드(reportResult()
) - Protected Audience API 문제 해결하기
Protected Audience API 광고 입찰 지연 시간 권장사항도 참고하세요.
Protected Audience API 데모
광고주 및 게시자 사이트 전반에 걸친 기본 Protected Audience API 배포는 protected-audience-demo.web.app/를 참조하세요.
chrome://flags
또는 기능 플래그로 테스트
데스크톱의 Chrome 베타 101.0.4951.26 이상에서 단일 사용자의 Protected Audience API를 테스트할 수 있습니다.
chrome://flags/#privacy-sandbox-ads-apis
를 사용 설정합니다.- 명령줄에서 플래그를 설정합니다. 사용 가능한 Protected Audience API 플래그의 전체 목록은 Chromium 코드 검색에서 확인할 수 있습니다.
iframe 또는 분리 프레임에서 광고 렌더링
광고는 설정된 플래그에 따라 <iframe>
또는 <fencedframe>
에서 렌더링될 수 있습니다.
<fencedframe>
를 사용하여 광고를 렌더링하는 방법:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
<iframe>
를 사용하여 광고를 렌더링하는 방법:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
일시적인 디버그 손실/승리 보고 메서드를 사용 설정하려면 BiddingAndScoringDebugReportingAPI
플래그를 포함합니다.
지원되는 기능
Chromium의 기능 플래그 뒤에 있는 Protected Audience API는 Protected Audience API의 다음 기능을 테스트하는 첫 번째 실험입니다.
- 관심분야 그룹: 브라우저에 의해 저장되며, 광고 입찰 및 렌더링을 구성하기 위한 관련 메타데이터와 함께 저장됩니다.
- 구매자 (DSP 또는 광고주)에 의한 기기 내 입찰: 저장된 관심분야 그룹과 판매자의 신호를 기반으로 합니다.
- 판매자 (SSP 또는 게시자)의 기기 내 광고 선택: 입찰 입찰 및 구매자의 메타데이터를 기반으로 합니다.
- 일시적으로 완화된 Fenced Frames 버전에서의 광고 렌더링: 광고 렌더링에 네트워크 액세스와 로깅을 허용합니다.
Protected Audience API 설명에서 기능 지원 및 제약 조건에 관해 자세히 알아보세요.
관심분야 그룹 권한
현재 Protected Audience API 구현의 기본값은 교차 도메인 iframe을 포함하여 페이지의 어느 곳에서나 joinAdInterestGroup()
호출을 허용하는 것입니다.
향후 사이트 소유자가 교차 도메인 iframe 권한 정책을 업데이트할 시간이 되면 교차 도메인 iframe에서 호출을 허용하지 않을 계획입니다.
키/값 서비스
Protected Audience API 광고 입찰을 지원하기 위해 브라우저에서 키-값 서비스에 액세스하여 Protected Audience API 광고 입찰을 지원하는 실시간 정보를 검색할 수 있습니다. 이 정보는 다양한 방식으로 사용될 수 있습니다.
- 구매자는 광고 캠페인의 남은 예산을 계산하는 것이 좋습니다.
- 판매자는 게시자 정책을 기준으로 광고 소재를 확인해야 할 수 있습니다.
이제 Protected Audience API 키/값 서비스 코드를 사용할 수 있습니다. 상태 업데이트는 공지사항 블로그 게시물을 확인하세요.
초기 테스트를 위해 'Bring Your Own Server(자체 서버 사용)' 모델이 도입되었습니다. 장기적으로 광고 기술은 신뢰할 수 있는 실행 환경에서 실행되는 오픈소스 Protected Audience API 키/값 서비스를 사용해야 합니다.
타임라인 업데이트는 Protected Audience API 서비스 블로그 게시물을 참고하세요. Google에서는 전환이 발생하기 전에 개발자가 테스트 및 채택을 시작할 수 있도록 상당한 알림을 제공할 예정입니다.
기능 지원 감지
API를 사용하기 전에 브라우저에서 지원되는지, 문서에서 사용할 수 있는지 확인합니다.
'joinAdInterestGroup' in navigator &&
document.featurePolicy.allowsFeature('join-ad-interest-group') &&
document.featurePolicy.allowsFeature('run-ad-auction') ?
console.log('navigator.joinAdInterestGroup() is supported on this page') :
console.log('navigator.joinAdInterestGroup() is not supported on this page');
Protected Audience API는 어떻게 작동하나요?
이 예에서는 사용자가 맞춤 자전거 제조업체의 웹사이트를 둘러본 후 뉴스 웹사이트를 방문하고 자전거 제조업체의 신제품 자전거 광고가 게재됩니다.
시간이 지남에 따라 구현이 진행됨에 따라 Protected Audience API의 기능이 추가될 예정입니다.
1. 사용자가 광고주 사이트를 방문합니다.
사용자가 맞춤 자전거 제조업체 (이 예에서는 광고주)의 웹사이트를 방문하고 수제 강철 자전거의 제품 페이지에서 시간을 보낸다고 가정해 보겠습니다. 이를 통해 자전거 제조업체는 리마케팅 기회를 얻을 수 있습니다.
2. 사용자의 브라우저에 관심분야 그룹을 추가하라는 메시지가 표시됨
광고주의 수요측 플랫폼 (DSP) (또는 광고주 자체)은 navigator.joinAdInterestGroup()
를 호출하여 브라우저가 속한 그룹 목록에 관심분야 그룹을 추가하도록 브라우저에 요청합니다.
이 예에서 그룹 이름은 custom-bikes
이고 소유자는 dsp.example
입니다. 관심분야 그룹 소유자 (이 경우 DSP)는 Protected Audience API 광고 입찰에서 구매자입니다. 관심분야 그룹 멤버십은 브라우저에 의해, 사용자의 기기에 저장되며, 브라우저 공급업체 또는 다른 누구와도 공유되지 않습니다.
- Protected Audience API 설명 읽기: 브라우저는 관심분야 그룹을 기록합니다.
- API 가이드 읽기: 구매자 및 DSP,
joinAdInterestGroup()
및 입찰 생성 방법을 알아보세요.
관심분야 그룹에 대한 광고 지정
ads
및 adComponents
객체에는 광고 소재의 URL과 선택적으로 입찰 시 사용할 수 있는 임의의 메타데이터가 포함됩니다. 예를 들면 다음과 같습니다.
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
구매자는 어떻게 입찰하나요?
관심분야 그룹의 소유자가 입찰에 참여하도록 초대받은 경우 브라우저가 속한 관심분야 그룹마다 generateBid()
가 호출됩니다.
generatedBid()
개발자 문서를 참고하세요.
3. 사용자가 광고 공간을 판매하는 사이트를 방문합니다.
나중에 사용자가 광고 공간을 판매하는 사이트(이 예에서는 뉴스 웹사이트)를 방문합니다. 사이트에는 광고 인벤토리가 있어서 실시간 입찰을 통해 프로그래매틱 방식으로 판매합니다.
4. 브라우저에서 광고 입찰이 실행됩니다.
광고 입찰은 게시자의 공급 측 제공업체(SSP) 또는 게시자 자체에서 실행할 가능성이 높습니다. 입찰의 목적은 현재 페이지에서 사용 가능한 단일 광고 슬롯에 가장 적합한 광고를 선택하는 것입니다. 입찰에서는 키/값 서비스의 광고 공간 구매자 및 판매자의 데이터와 함께 브라우저가 속한 관심분야 그룹을 고려합니다.
- Protected Audience API 설명 읽기: 판매자는 기기 내 입찰 실행
- API 가이드 읽기: 판매자는
runAdAuction()
및 광고 입찰 지연 시간 권장사항에 대해 자세히 알아볼 수 있습니다.
5. 판매자와 참여하는 구매자는 키/값 서비스에서 실시간 데이터를 요청합니다.
광고 입찰 중에 판매자는 키/값 서비스에 요청을 전송하여 특정 광고 소재에 대한 실시간 데이터를 요청할 수 있습니다.
판매자는 runAdAuction()
중에 trustedScoringSignalsUrl
속성에 의해 입찰된 모든 관심분야 그룹의 ads
및 adComponents
필드에 있는 모든 항목의 renderUrl
속성 키와 함께 이 정보를 요청할 수 있습니다.
구매자는 navigator.joinAdInterestGroup()
에 전달된 관심분야 그룹 인수의 trustedBiddingSignalsUrl
및 trustedBiddingSignalsKeys
속성을 사용하여 키-값 서비스에서 실시간 데이터를 요청할 수 있습니다.
runAdAuction()
가 호출되면 브라우저가 각 광고 구매자의 신뢰할 수 있는 서버에 요청합니다. 요청의 URL은 다음과 같습니다.
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- 기준 URL은
trustedBiddingSignalsUrl
에서 가져옵니다. hostname
는 브라우저에서 제공합니다.keys
값은trustedBiddingSignalsKeys
에서 가져옵니다.
이 요청에 대한 응답은 각 키의 값을 제공하는 JSON 객체입니다.
- Protected Audience API 설명 읽기: Protected Audience API 키/값 서비스에서 실시간 데이터 가져오기
- Protected Audience API 키/값 서비스의 오픈소스 제공을 읽어보세요.
6. 낙찰된 광고가 게재됩니다.
입찰 구성에서 resolveToConfig
플래그가 true
로 설정된 경우 runAdAuction()에서 반환된 프로미스가 분리 프레임 구성 객체 (FencedFrameConfig
)로 확인됩니다. 프레임 구성은 분리 프레임이 프레임을 낙찰된 광고로 이동하기 위해 사용되지만 프레임 삽입기에는 광고의 URL이 표시되지 않습니다.
분리 프레임 구성 객체는 M114부터 사용할 수 있습니다. FencedFrameConfig
객체에 관한 자세한 내용은 Chrome 블로그 게시물을 참고하세요.
- Protected Audience API 설명 읽기: 브라우저는 낙찰된 광고를 렌더링합니다
7. 입찰 결과가 보고되며
장기적인 계획은 브라우저에서 Private Aggregation API를 사용하여 판매자와 구매자의 입찰 결과를 보고할 수 있도록 하는 것입니다.
임시 이벤트 수준 보고 메커니즘으로 판매자를 위한 reportResult()
와 낙찰된 입찰자를 위한 reportWin()
를 구현하는 코드는 sendReportTo()
함수를 호출할 수 있습니다. 이는 단일 인수를 사용합니다. 이 인수는 입찰이 완료된 후 가져올 URL을 나타내는 문자열로, 보고할 이벤트 수준 정보를 인코딩합니다.
- API 가이드 읽기: 판매자 및 구매자 보고에 대해 알아보기
8. 광고 클릭이 보고됨
분리 프레임에서 렌더링된 광고에 대한 클릭이 보고됩니다. 자세한 내용은 Fenced Frames 광고 보고를 참고하세요.
Protected Audience API와 TURTLEDOVE의 차이점은 무엇인가요?
Protected Audience API는 TURTLEDOVE 제안서 제품군 내에서 Chromium에 구현되는 첫 번째 실험입니다.
Protected Audience API는 TURTLEDOVE의 높은 수준 원칙을 따릅니다. 일부 온라인 광고는 이전에 광고주 또는 광고 네트워크와 상호작용했던 잠재적 관심 사용자에게 광고를 게재하는 것을 기반으로 합니다. 지금까지는 광고주가 웹사이트를 탐색할 때 특정 사용자를 인식하여 오늘날 웹의 핵심적인 개인 정보 보호 문제를 해결하는 데 사용되었습니다.
TURTLEDOVE는 몇 가지 주요 개인 정보 보호 기능과 함께 이러한 사용 사례를 해결하는 새로운 API를 제공하는 것을 목표로 삼고 있습니다.
- 광고주가 개인이 관심 있다고 생각하는 것에 관한 정보는 광고주가 아니라 브라우저에 있습니다.
- 광고주는 관심분야를 기반으로 광고를 게재할 수 있지만 이러한 관심분야를 개인에 관한 다른 정보(특히 사용자가 누구인지, 현재 방문 중인 페이지)와 결합할 수는 없습니다.
Protected Audience API는 TURTLEDOVE와 API를 사용할 개발자에게 더 나은 서비스를 제공하기 위한 수정과 관련된 제안 모음에서 비롯되었습니다.
- SPARROW에서 Criteo는 신뢰할 수 있는 실행 환경(TEE)에서 실행되는 ('게이트키퍼') 서비스 모델을 추가할 것을 제안했습니다. Protected Audience API에는 실시간 데이터 조회 및 집계 보고를 위해 TEE를 더 제한적으로 사용할 수 있는 기능이 포함되어 있습니다.
- NextRoll의 TERN과 Magnite의 PARRROT 제안서에서는 기기 내 입찰에서 구매자와 판매자의 다양한 역할을 설명했습니다. Protected Audience API의 광고 입찰/점수 흐름은 이 작업을 기반으로 합니다.
- RTB House는 결과 기반 및 제품 수준 TURTLEDOVE를 수정하여 익명성 모델과 기기 내 입찰의 맞춤설정 기능을 개선했습니다.
- PARAKEET은 브라우저와 광고 기술 제공업체 간의 TEE에서 실행되는 프록시 서버를 사용하여 광고 요청을 익명처리하고 개인 정보 보호 속성을 적용하는 TURTLEDOVE와 유사한 광고 서비스에 관한 Microsoft의 제안입니다. Protected Audience API에서는 이 프록시 모델을 채택하지 않았습니다. Google에서는 향후 두 제안의 장점을 결합하기 위한 향후 작업을 지원하기 위해 PARAKEET용 JavaScript API와 Protected Audience API를 일치시킬 예정입니다.
Protected Audience API는 웹사이트의 광고 네트워크가 사용자에게 표시되는 광고를 학습하는 것을 아직 차단하지 않습니다. 앞으로 API를 수정하여 개인 정보 보호를 강화할 예정입니다.
Topics API를 Protected Audience API와 함께 사용할 수 있나요?
예. Topics API를 통해 제공되는 현재 사용자의 관찰된 주제는 판매자 또는 입찰자가 문맥 정보로 사용할 수 있습니다. 주제는 다음 속성에 포함될 수 있습니다.
auctionSignals
:navigator.runAdAuction()
에 전달되는 입찰 구성 객체의 속성userBiddingSignals
는navigator.joinAdInterestGroup()
에 전달되는 관심분야 그룹 구성 객체의 속성입니다.
사용 가능한 브라우저 구성
사용자는 chrome://settings/adPrivacy
에서 최상위 설정을 사용 설정하거나 사용 중지하여 Chrome의 개인 정보 보호 샌드박스 무료 체험 참여를 조정할 수 있습니다.
초기 테스트 중에 사용자는 이러한 상위 수준의 개인 정보 보호 샌드박스 설정을 사용하여 Protected Audience API를 선택 해제할 수 있습니다. Chrome은 사용자가 자신이 방문한 웹사이트 전반에서 자신이 추가된 관심분야 그룹 목록을 보고 관리할 수 있도록 지원할 계획입니다. 개인 정보 보호 샌드박스 기술 자체와 마찬가지로 사용자 설정도 사용자, 규제 기관 등의 의견에 따라 달라질 수 있습니다.
Google에서는 테스트 및 의견을 바탕으로 Chrome에서 사용 가능한 설정을 계속 업데이트할 예정입니다. 향후 Protected Audience API 및 관련 데이터를 관리할 수 있는 더 세분화된 설정을 제공할 계획입니다.
API 호출자는 사용자가 시크릿 모드로 탐색할 때 그룹 멤버십에 액세스할 수 없으며 사용자가 사이트 데이터를 지우면 멤버십이 삭제됩니다.
브라우저가 Protected Audience 워크릿을 캐시하나요?
Protected Audience 워크렛(구매자 입찰 생성 및 보고 워크렛, 판매자의 광고 점수 및 보고 워크렛)이 포함된 리소스는 브라우저에 의해 캐시됩니다. Cache-Control
헤더를 사용하여 캐싱 동작을 제어할 수 있습니다.
참여 및 의견 공유
지원 받기
구현, 데모 또는 문서에 대해 질문하고 지원을 받으려면 다음 안내를 따르세요.
- GitHub: 설명서를 읽고, 질문을 올리고, 토론을 팔로우합니다.
- 데모: 데모 코드 저장소에서 문제를 제기합니다.
- 개발자 지원: 개인 정보 보호 샌드박스 개발자 지원 저장소에서 질문하고 토론에 참여하세요. Protected Audience API 문제 템플릿을 선택합니다.
- Chrome 구현: Chrome의 Protected Audience API 구현에 버그나 문제가 있는 경우 기존 문제를 확인하거나 새 문제를 제출할 수 있습니다.
Protected Audience API를 사용한 요구사항 충족에 관한 보다 일반적인 질문은 API 저장소에서 문제를 제출하세요. W3C의 웹 광고 개선 비즈니스 그룹에서 업계 사용 사례를 논의할 수도 있습니다.
개인 정보 보호 샌드박스 의견 양식을 사용하여 공개 포럼 외부에서 Chrome팀에 비공개로 의견을 공유하세요.
선택 해제
Protected Audience API를 선택 해제하고 싶으신가요? 사이트 소유자나 개별 사용자로 Protected Audience API에 대한 액세스를 차단하는 방법을 알아보세요.
업데이트 소식 받기
- API 상태 변경 알림을 받으려면 개발자용 메일링 리스트에 가입하세요.
- API와 관련하여 진행 중인 모든 토론을 자세히 살펴보려면 GitHub의 API 페이지에서 Watch(보기) 버튼을 클릭합니다. 이를 위해서는 GitHub 계정을 만들거나 가지고 있어야 합니다.
- 개인 정보 보호 샌드박스에 관한 전반적인 업데이트를 확인하려면 RSS 피드[개인 정보 보호 샌드박스 진행 상황]를 구독하세요.
- Protected Audience API의 예약된 호출에 참여합니다(둘째 주마다). 누구나 참여할 수 있습니다. 참여하려면 우선 WICG에 가입해야 합니다. 적극적으로 참여하거나 청취만 할 수 있습니다.