CINXE.COM

Bidding and Auction services integration and optimization  |  Privacy Sandbox  |  Google for Developers

<!doctype html> <html lang="en" dir="ltr"> <head> <base href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"> <meta name="theme-color" content="#fff"> <meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin> <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&amp;display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&amp;family=Material+Symbols+Outlined&amp;display=block"> <link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/developers/images/touchicon-180-new.png"> <link rel="canonical" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"> <link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"> <link rel="alternate" hreflang="x-default" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"> <link rel="alternate" hreflang="ar" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=ar"> <link rel="alternate" hreflang="bn" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=bn"> <link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=zh-cn"> <link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=zh-tw"> <link rel="alternate" hreflang="fa" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=fa"> <link rel="alternate" hreflang="fr" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=fr"> <link rel="alternate" hreflang="de" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=de"> <link rel="alternate" hreflang="he" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=he"> <link rel="alternate" hreflang="hi" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=hi"> <link rel="alternate" hreflang="id" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=id"> <link rel="alternate" hreflang="it" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=it"> <link rel="alternate" hreflang="ja" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=ja"> <link rel="alternate" hreflang="ko" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=ko"> <link rel="alternate" hreflang="pl" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=pl"> <link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=pt-br"> <link rel="alternate" hreflang="ru" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=ru"> <link rel="alternate" hreflang="es-419" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=es-419"> <link rel="alternate" hreflang="th" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=th"> <link rel="alternate" hreflang="tr" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=tr"> <link rel="alternate" hreflang="vi" href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?hl=vi"> <title>Bidding and Auction services integration and optimization &nbsp;|&nbsp; Privacy Sandbox &nbsp;|&nbsp; Google for Developers</title> <meta property="og:title" content="Bidding and Auction services integration and optimization &nbsp;|&nbsp; Privacy Sandbox &nbsp;|&nbsp; Google for Developers"> <meta property="og:url" content="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"> <meta property="og:image" content="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-for-developers.png"> <meta property="og:image:width" content="1600"> <meta property="og:image:height" content="900"> <meta property="og:locale" content="en"> <meta name="twitter:card" content="summary_large_image"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Bidding and Auction services integration and optimization" } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Privacy Sandbox", "item": "https://developers.google.com/privacy-sandbox" },{ "@type": "ListItem", "position": 2, "name": "Bidding and Auction services integration and optimization", "item": "https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration" }] } </script> <link rel="stylesheet" href="/extras.css"> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="en"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.SlmlLUpNCG8.O/am=gAE/d=1/rs=AN8SPfrVDwgQMj0EYXdUQwFqbkL3aXptKg/m=corsproxy" data-sourceurl="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.SlmlLUpNCG8.O/am=gAE/d=1/exm=corsproxy/ed=1/rs=AN8SPfrVDwgQMj0EYXdUQwFqbkL3aXptKg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"></script> <meta name="robots" content="none"> </head> <body class="" template="page" theme="white" type="article" layout="docs" display-toc pending> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.SlmlLUpNCG8.O/am=gAE/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfrVDwgQMj0EYXdUQwFqbkL3aXptKg/m=navigationui" data-environment="prod" data-proxy-url="https://developers-google-com.translate.goog" data-proxy-full-url="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" data-source-url="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration" data-source-language="auto" data-target-language="en" data-display-language="auto" data-detected-source-language="en" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://developers.google.com/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration&amp;anno=2" data-client="tr"></script><devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#main-content" class="skip-link button"> Skip to main content </a> <section class="devsite-wrapper"><devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"><button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"><a href="https://developers-google-com.translate.goog/privacy-sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto"> <div class="devsite-product-logo-container" size="medium"><picture> <img class="devsite-product-logo" alt="Privacy Sandbox" src="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo.png" srcset="https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_36.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 36w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_48.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 48w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_72.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 72w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_96.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 96w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_480.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 480w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_720.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 720w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_856.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 856w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_960.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 960w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1440.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 1440w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1920.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 1920w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_2880.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 2880w" sizes="64px" loading="lazy"> </picture> </div></a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "><a href="https://developers-google-com.translate.goog/privacy-sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Privacy Sandbox"> Privacy Sandbox </a></li> </ul></span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"><devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"><tab> <a href="https://developers-google-com.translate.goog/privacy-sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/privacy-sandbox" track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview"> Overview </a> </tab> <tab> <a href="https://developers-google-com.translate.goog/privacy-sandbox/cookies?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/cookies" track-type="nav" track-metadata-position="nav - cookies" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Cookies" track-name="cookies"> Cookies </a> </tab> <tab class="devsite-active"> <a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/private-advertising" track-type="nav" track-metadata-position="nav - private advertising" track-metadata-module="primary nav" aria-label="Private advertising, selected" data-category="Site-Wide Custom Events" data-label="Tab: Private advertising" track-name="private advertising"> Private advertising </a> </tab> <tab> <a href="https://developers-google-com.translate.goog/privacy-sandbox/protections?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/protections" track-type="nav" track-metadata-position="nav - privacy protections" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Privacy protections" track-name="privacy protections"> Privacy protections </a> </tab> <tab> <a href="https://developers-google-com.translate.goog/privacy-sandbox/learn?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/learn" track-type="nav" track-metadata-position="nav - learn" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn"> Learn </a> </tab> <tab> <a href="https://developers-google-com.translate.goog/privacy-sandbox/blog?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/blog" track-type="nav" track-metadata-position="nav - blog" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Blog" track-name="blog"> Blog </a> </tab> </nav> </devsite-tabs> </div><devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Privacy Sandbox" tenant-name="Google for Developers" project-scope="/privacy-sandbox" url-scoped="https://developers.google.com/s/results/privacy-sandbox"> <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"><button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"><input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value=""> <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"><kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div><devsite-language-selector> <ul role="presentation"> <li role="presentation"><a role="menuitem" lang="en">English</a></li> <li role="presentation"><a role="menuitem" lang="de">Deutsch</a></li> <li role="presentation"><a role="menuitem" lang="es">Español</a></li> <li role="presentation"><a role="menuitem" lang="es_419">Español – América Latina</a></li> <li role="presentation"><a role="menuitem" lang="fr">Français</a></li> <li role="presentation"><a role="menuitem" lang="id">Indonesia</a></li> <li role="presentation"><a role="menuitem" lang="it">Italiano</a></li> <li role="presentation"><a role="menuitem" lang="pl">Polski</a></li> <li role="presentation"><a role="menuitem" lang="pt_br">Português – Brasil</a></li> <li role="presentation"><a role="menuitem" lang="vi">Tiếng Việt</a></li> <li role="presentation"><a role="menuitem" lang="tr">Türkçe</a></li> <li role="presentation"><a role="menuitem" lang="ru">Русский</a></li> <li role="presentation"><a role="menuitem" lang="he">עברית</a></li> <li role="presentation"><a role="menuitem" lang="ar">العربيّة</a></li> <li role="presentation"><a role="menuitem" lang="fa">فارسی</a></li> <li role="presentation"><a role="menuitem" lang="hi">हिंदी</a></li> <li role="presentation"><a role="menuitem" lang="bn">বাংলা</a></li> <li role="presentation"><a role="menuitem" lang="th">ภาษาไทย</a></li> <li role="presentation"><a role="menuitem" lang="zh_cn">中文 – 简体</a></li> <li role="presentation"><a role="menuitem" lang="zh_tw">中文 – 繁體</a></li> <li role="presentation"><a role="menuitem" lang="ja">日本語</a></li> <li role="presentation"><a role="menuitem" lang="ko">한국어</a></li> </ul> </devsite-language-selector> <a class="devsite-header-link devsite-top-button button gc-analytics-event" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://privacysandbox.com/" data-category="Site-Wide Custom Events" data-label="Site header link"> Home </a> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section devsite-header-no-lower-tabs "> <div class="devsite-header-background"> <div class="devsite-product-id-row"> <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail=""> Private advertising </a></li> </ul> </div> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars> <div class="devsite-book-nav-filter"><span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"><button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"><a href="https://developers-google-com.translate.goog/privacy-sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto"> <div class="devsite-product-logo-container" size="medium"><picture> <img class="devsite-product-logo" alt="Privacy Sandbox" src="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo.png" srcset="https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_36.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 36w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_48.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 48w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_72.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 72w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_96.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 96w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_480.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 480w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_720.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 720w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_856.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 856w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_960.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 960w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1440.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 1440w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1920.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 1920w,https://developers-google-com.translate.goog/static/privacy-sandbox/assets/images/privacy-sandbox-logo_2880.png?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto 2880w" sizes="64px" loading="lazy"> </picture> </div></a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "><a href="https://developers-google-com.translate.goog/privacy-sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Privacy Sandbox"> Privacy Sandbox </a></li> </ul></span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Overview </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/cookies?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Cookies" track-name="cookies" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Cookies </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Private advertising" track-name="private advertising" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Private advertising </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/protections?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Privacy protections" track-name="privacy protections" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Privacy protections </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/learn?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Learn </span> </a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/blog?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Blog" track-name="blog" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Blog </span> </a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://privacysandbox.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Home" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Home </span> </a></li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising"><span class="devsite-nav-text" tooltip>About private advertising</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Start your integration</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/web?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/web" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/web"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/web/chrome-facilitated-testing?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/web/chrome-facilitated-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/web/chrome-facilitated-testing"><span class="devsite-nav-text" tooltip>Chrome-facilitated testing</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/web/relevance-testing?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/web/relevance-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/web/relevance-testing"><span class="devsite-nav-text" tooltip>Relevance APIs testing guidance</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Android</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/android?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/android"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/android/setup?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/android/setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/android/setup"><span class="devsite-nav-text" tooltip>Set up your development environment</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/android/setup-api-access?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/android/setup-api-access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/android/setup-api-access"><span class="devsite-nav-text" tooltip>Configure AdServices</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/android/download?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/android/download" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/android/download"><span class="devsite-nav-text" tooltip>Set up a device or emulator image</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/android/setup-device-access?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/android/setup-device-access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/android/setup-device-access"><span class="devsite-nav-text" tooltip>Configure devices to use Privacy Sandbox on Android</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/setup/android/troubleshooting?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/setup/android/troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/setup/android/troubleshooting"><span class="devsite-nav-text" tooltip>Troubleshoot your setup</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Enrollment</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/enrollment?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/enrollment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/enrollment"><span class="devsite-nav-text" tooltip>Enroll your platform with Privacy Sandbox</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/enrollment/faqs?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/enrollment/faqs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/enrollment/faqs"><span class="devsite-nav-text" tooltip>Frequently asked questions</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Ads lifecycle</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/manage-ad-audience?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/manage-ad-audience" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/manage-ad-audience"><span class="devsite-nav-text" tooltip>Audiences</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/manage-ad-auctions?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/manage-ad-auctions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/manage-ad-auctions"><span class="devsite-nav-text" tooltip>Auctions</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/measure-ad-performance?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/measure-ad-performance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/measure-ad-performance"><span class="devsite-nav-text" tooltip>Performance</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Topics</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/why-topics?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/why-topics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/why-topics"><span class="devsite-nav-text" tooltip>Why do we need Topics</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Topics API for Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/web?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/web" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/web"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/web/setup?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/web/setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/web/setup"><span class="devsite-nav-text" tooltip>Setup</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/web/implement?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/web/implement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/web/implement"><span class="devsite-nav-text" tooltip>Implement Topics</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/web/test-and-go-live?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/web/test-and-go-live" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/web/test-and-go-live"><span class="devsite-nav-text" tooltip>Test &amp; go live</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/web/tooling?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/web/tooling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/web/tooling"><span class="devsite-nav-text" tooltip>Tooling</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/web/controls?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/web/controls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/web/controls"><span class="devsite-nav-text" tooltip>Customization &amp; opt-out</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/web/support?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/web/support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/web/support"><span class="devsite-nav-text" tooltip>Support</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-experimental"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Topics API for Android</span><span class="devsite-nav-icon material-icons" data-icon="experimental" data-title="Experimental!" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/android?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/android"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/android/implement?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/android/implement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/android/implement"><span class="devsite-nav-text" tooltip>Implement Topics</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics/android/controls?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics/android/controls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics/android/controls"><span class="devsite-nav-text" tooltip>Customization &amp; opt-out</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Protected Audience</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/feature-status?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/feature-status" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/feature-status"><span class="devsite-nav-text" tooltip>Status of pending API capabilities</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Developer guide</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/protected-audience-experiment?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/protected-audience-experiment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/protected-audience-experiment"><span class="devsite-nav-text" tooltip>Experiment</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/ad-auction?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/ad-auction" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/ad-auction"><span class="devsite-nav-text" tooltip>Seller guide - Run ad auctions</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/reporting?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/reporting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/reporting"><span class="devsite-nav-text" tooltip>Auction reporting</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/guide/reporting-id?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/guide/reporting-id" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/guide/reporting-id"><span class="devsite-nav-text" tooltip>Reporting IDs</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/latency?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/latency" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/latency"><span class="devsite-nav-text" tooltip>Improve auction latency</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/reports?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/reports" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/reports"><span class="devsite-nav-text" tooltip>Report on auction results</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sequential-auction-setup?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sequential-auction-setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sequential-auction-setup"><span class="devsite-nav-text" tooltip>Sequential auction setup with header bidding and multi-seller Protected Audience auction</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/troubleshoot?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/troubleshoot" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/troubleshoot"><span class="devsite-nav-text" tooltip>Troubleshoot</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/opt-out?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/opt-out" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/opt-out"><span class="devsite-nav-text" tooltip>Opt out</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/k-anonymity?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/k-anonymity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/k-anonymity"><span class="devsite-nav-text" tooltip>K-anonymity</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/publisher-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/publisher-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/publisher-guide"><span class="devsite-nav-text" tooltip>Publisher guide</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/define-audience-data?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/define-audience-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/define-audience-data"><span class="devsite-nav-text" tooltip>Define audience data</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/update-audience-data?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/update-audience-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/update-audience-data"><span class="devsite-nav-text" tooltip>Update audience data and refresh ads</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/delegate-audience-management?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/delegate-audience-management" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/delegate-audience-management"><span class="devsite-nav-text" tooltip>Delegate audience management to a third-party</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/auction/configure-auction?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/auction/configure-auction" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/auction/configure-auction"><span class="devsite-nav-text" tooltip>Set up an ad auction on the publisher's page</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/auction/single-seller-auction?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/auction/single-seller-auction" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/auction/single-seller-auction"><span class="devsite-nav-text" tooltip>Run a browser based auction with a single seller</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/auction/multi-seller-auction?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/auction/multi-seller-auction" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/auction/multi-seller-auction"><span class="devsite-nav-text" tooltip>Run a browser based auction with multiple sellers</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/auction/sequential-auction?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/auction/sequential-auction" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/auction/sequential-auction"><span class="devsite-nav-text" tooltip>Sequential auction setup with contextual ad auction</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/auction/render-ad?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/auction/render-ad" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/auction/render-ad"><span class="devsite-nav-text" tooltip>Render an ad</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/auction/bid-in-auction-ad-slot?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/auction/bid-in-auction-ad-slot" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/auction/bid-in-auction-ad-slot"><span class="devsite-nav-text" tooltip>Bid in an auction to buy an ad slot</span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://docs.google.com/document/d/1b6YlL5CFVfCo6hHMqfOYp2WJNdsBTSvM4eayrmbm7e4/view" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://docs.google.com/document/d/1b6YlL5CFVfCo6hHMqfOYp2WJNdsBTSvM4eayrmbm7e4/view" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://docs.google.com/document/d/1b6YlL5CFVfCo6hHMqfOYp2WJNdsBTSvM4eayrmbm7e4/view"><span class="devsite-nav-text" tooltip>API walkthrough</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/topics-in-audiences?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/topics-in-audiences" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/topics-in-audiences"><span class="devsite-nav-text" tooltip>Use Topics to target an audience</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Use cases</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience-api/use-case/deals?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience-api/use-case/deals" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience-api/use-case/deals"><span class="devsite-nav-text" tooltip>Deals</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/auction/pace-ad-delivery?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/auction/pace-ad-delivery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/auction/pace-ad-delivery"><span class="devsite-nav-text" tooltip>Pace ad delivery by frequency</span></a></li> </ul> </div></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Android</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/mediation?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/mediation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/mediation"><span class="devsite-nav-text" tooltip>Mediation</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/frequency-capping?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/frequency-capping" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/frequency-capping"><span class="devsite-nav-text" tooltip>Frequency capping</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/appinstall-filtering?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/appinstall-filtering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/appinstall-filtering"><span class="devsite-nav-text" tooltip>App install ads filtering</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Developer guide</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/developer-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/developer-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide"><span class="devsite-nav-text" tooltip>Protected Audience developer guide</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/define-audience-data?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/developer-guide/define-audience-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/define-audience-data"><span class="devsite-nav-text" tooltip>Define audience data</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/update-audience-data?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/developer-guide/update-audience-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/update-audience-data"><span class="devsite-nav-text" tooltip>Update audience data and refresh ads</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/profiling?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/developer-guide/profiling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/profiling"><span class="devsite-nav-text" tooltip>Profile a Protected Audience auction</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/debug-reporting?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/developer-guide/debug-reporting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/debug-reporting"><span class="devsite-nav-text" tooltip>Debug reporting</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/inspect_audiences_cli?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/developer-guide/inspect_audiences_cli" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/inspect_audiences_cli"><span class="devsite-nav-text" tooltip>Inspect custom audiences on the command line</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/testing-setup?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/developer-guide/testing-setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/testing-setup"><span class="devsite-nav-text" tooltip>Testing setup</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/integration-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/integration-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/integration-guide"><span class="devsite-nav-text" tooltip>Integration guide</span></a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://developer.android.com/design-for-safety/privacy-sandbox/reference/packages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://developer.android.com/design-for-safety/privacy-sandbox/reference/packages" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://developer.android.com/design-for-safety/privacy-sandbox/reference/packages"><span class="devsite-nav-text" tooltip>API reference</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Protected App Signals</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals"><span class="devsite-nav-text" tooltip>Overview for Android</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals-developer-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals-developer-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals-developer-guide"><span class="devsite-nav-text" tooltip>Developer guide</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Bidding and Auction Services</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/bidding-and-auction-services/web/architecture?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/bidding-and-auction-services/web/architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/bidding-and-auction-services/web/architecture"><span class="devsite-nav-text" tooltip>Architecture</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/bidding-and-auction-services/web/buyer-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/bidding-and-auction-services/web/buyer-integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/bidding-and-auction-services/web/buyer-integration"><span class="devsite-nav-text" tooltip>Integrate with B&amp;A as a buyer</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/bidding-and-auction-services/web/seller-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/bidding-and-auction-services/web/seller-integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/bidding-and-auction-services/web/seller-integration"><span class="devsite-nav-text" tooltip>Integrate with B&amp;A as a seller</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/codelab/ba-services-local-testing?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/codelab/ba-services-local-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/codelab/ba-services-local-testing"><span class="devsite-nav-text" tooltip>Test B&amp;A for Web end-to-end locally</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Android</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-services?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-services"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration"><span class="devsite-nav-text" tooltip>Integration and optimization</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Fenced frames</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/fenced-frame?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/fenced-frame" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/fenced-frame"><span class="devsite-nav-text" tooltip>Overview for Web</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Attribution Reporting</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-updates?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-updates" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-updates"><span class="devsite-nav-text" tooltip>API updates</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/chrome-shipping?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/chrome-shipping" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/chrome-shipping"><span class="devsite-nav-text" tooltip>Why Chrome shipped the Attribution Reporting API</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/system-overview?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/system-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/system-overview"><span class="devsite-nav-text" tooltip>System overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/summary-reports?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/summary-reports" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/summary-reports"><span class="devsite-nav-text" tooltip>Generate summary reports</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/report-schedules?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/report-schedules" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/report-schedules"><span class="devsite-nav-text" tooltip>Report schedules</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/constraints?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/constraints" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/constraints"><span class="devsite-nav-text" tooltip>Constraints</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Developer guide</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/dev-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/dev-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/dev-guide"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/getting-started?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/getting-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/getting-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/register-attribution-source?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/register-attribution-source" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/register-attribution-source"><span class="devsite-nav-text" tooltip>Register an attribution source</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/register-attribution-trigger?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/register-attribution-trigger" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/register-attribution-trigger"><span class="devsite-nav-text" tooltip>Register triggers</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/enable-conversion-measurement?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/enable-conversion-measurement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/enable-conversion-measurement"><span class="devsite-nav-text" tooltip>Enable conversion measurement</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/change-attribution-logic?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/change-attribution-logic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/change-attribution-logic"><span class="devsite-nav-text" tooltip>Change attribution logic</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/define-filters?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/define-filters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/define-filters"><span class="devsite-nav-text" tooltip>Define filters</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/prevent-duplication?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/prevent-duplication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/prevent-duplication"><span class="devsite-nav-text" tooltip>Prevent duplication</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/custom-report-windows?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/custom-report-windows" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/custom-report-windows"><span class="devsite-nav-text" tooltip>Custom report windows</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging"><span class="devsite-nav-text" tooltip>Introduction to debug reports</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-2?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-2" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-2"><span class="devsite-nav-text" tooltip>Set up debug reports</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-3?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-3"><span class="devsite-nav-text" tooltip>Debugging cookbook</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/summary-reports-intro?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/summary-reports-intro" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/summary-reports-intro"><span class="devsite-nav-text" tooltip>Introduction to summary reports</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/contribution-budget?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/contribution-budget" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/contribution-budget"><span class="devsite-nav-text" tooltip>Contribution budget</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/aggregation-keys?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/aggregation-keys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/aggregation-keys"><span class="devsite-nav-text" tooltip>Aggregation keys</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/understanding-noise?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/understanding-noise" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/understanding-noise"><span class="devsite-nav-text" tooltip>Understand noise</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/working-with-noise?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/working-with-noise" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/working-with-noise"><span class="devsite-nav-text" tooltip>Work with noise</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/design-decisions?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/design-decisions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/design-decisions"><span class="devsite-nav-text" tooltip>Noiselab</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/measurement-implementation-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/measurement-implementation-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/measurement-implementation-guide"><span class="devsite-nav-text" tooltip>Measurement implementation guide</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/measurement-testing-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/measurement-testing-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/measurement-testing-guide"><span class="devsite-nav-text" tooltip>Measurement testing guide</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-data-clearing?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-data-clearing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-data-clearing"><span class="devsite-nav-text" tooltip>Data clearing</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/cross-web-app?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/cross-web-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/cross-web-app"><span class="devsite-nav-text" tooltip>Cross app and web measurement</span></a></li> </ul> </div></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Android</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/android?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/android"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/android/attribution-app-to-web?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/android/attribution-app-to-web" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/android/attribution-app-to-web"><span class="devsite-nav-text" tooltip>Cross app and web measurement</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/android/simulation-library?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/android/simulation-library" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/android/simulation-library"><span class="devsite-nav-text" tooltip>Measurement Simulation Library</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Developer guide</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/android/developer-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/android/developer-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/android/developer-guide"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/cross-web-app?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/cross-web-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/cross-web-app"><span class="devsite-nav-text" tooltip>Cross app and web measurement</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/android/xna-examples?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/android/xna-examples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/android/xna-examples"><span class="devsite-nav-text" tooltip>Cross-network attribution examples</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/attribution-reporting/android/integration-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/attribution-reporting/android/integration-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/attribution-reporting/android/integration-guide"><span class="devsite-nav-text" tooltip>Integration guide</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://developer.android.com/design-for-safety/privacy-sandbox/reference/packages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://developer.android.com/design-for-safety/privacy-sandbox/reference/packages" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://developer.android.com/design-for-safety/privacy-sandbox/reference/packages"><span class="devsite-nav-text" tooltip>API reference</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Private Aggregation</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation/overview?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation/overview"><span class="devsite-nav-text" tooltip>API introduction</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation/fundamentals?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation/fundamentals" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation/fundamentals"><span class="devsite-nav-text" tooltip>Fundamentals</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation/private-aggregation-experiment?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation/private-aggregation-experiment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation/private-aggregation-experiment"><span class="devsite-nav-text" tooltip>Experiment</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Use cases</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation/unique-reach?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation/unique-reach" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation/unique-reach"><span class="devsite-nav-text" tooltip>Measure unique reach</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation/k-freq-reach?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation/k-freq-reach" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation/k-freq-reach"><span class="devsite-nav-text" tooltip>Measure K+ frequency reach</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation/user-demographics?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation/user-demographics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation/user-demographics"><span class="devsite-nav-text" tooltip>Measure user demographic</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/private-aggregation/multi-touch-attribution?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/private-aggregation/multi-touch-attribution" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/private-aggregation/multi-touch-attribution"><span class="devsite-nav-text" tooltip>Multi-touch attribution</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Aggregation Service</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/get-started?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/coordinators-ags-purpose?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/coordinators-ags-purpose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/coordinators-ags-purpose"><span class="devsite-nav-text" tooltip>Data sharing with coordinators</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/privacy-protection-report-strategy?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/privacy-protection-report-strategy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/privacy-protection-report-strategy"><span class="devsite-nav-text" tooltip>Privacy protections for report data</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/receive-store-aggregatable-reports?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/receive-store-aggregatable-reports" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/receive-store-aggregatable-reports"><span class="devsite-nav-text" tooltip>Receive &amp; store aggregatable reports</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/understand-ags-api?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/understand-ags-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/understand-ags-api"><span class="devsite-nav-text" tooltip>Deploy and manage requests</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/batch-strategies?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/batch-strategies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/batch-strategies"><span class="devsite-nav-text" tooltip>Batch strategies</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Developer guides</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/developer-guides/filtering-ids?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/developer-guides/filtering-ids" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/developer-guides/filtering-ids"><span class="devsite-nav-text" tooltip>Filtering IDs</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/load-testing-framework?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/load-testing-framework" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/load-testing-framework"><span class="devsite-nav-text" tooltip>Load testing framework</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/operate-ags?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/operate-ags" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/operate-ags"><span class="devsite-nav-text" tooltip>Additional resources</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/aggregation-service/tos?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/aggregation-service/tos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/aggregation-service/tos"><span class="devsite-nav-text" tooltip>Terms of service</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Select URL</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/select-url?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/select-url" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/select-url"><span class="devsite-nav-text" tooltip>Overview for Web</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/select-url/creative-rotation?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/select-url/creative-rotation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/select-url/creative-rotation"><span class="devsite-nav-text" tooltip>Rotate ad creatives</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/select-url/creative-selection-by-frequency?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/select-url/creative-selection-by-frequency" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/select-url/creative-selection-by-frequency"><span class="devsite-nav-text" tooltip>Select ad creative by frequency</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/select-url/ab-testing?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/select-url/ab-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/select-url/ab-testing"><span class="devsite-nav-text" tooltip>Run A/B testing</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/select-url/known-customer?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/select-url/known-customer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/select-url/known-customer"><span class="devsite-nav-text" tooltip>Customize experience for known customers</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Shared Storage</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/shared-storage?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/shared-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage"><span class="devsite-nav-text" tooltip>Overview for Web</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/shared-storage/api-walkthrough?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/shared-storage/api-walkthrough" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/api-walkthrough"><span class="devsite-nav-text" tooltip>API walkthrough</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/shared-storage/try-the-demo?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/shared-storage/try-the-demo" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/try-the-demo"><span class="devsite-nav-text" tooltip>Try the demo</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/shared-storage/debugging?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/shared-storage/debugging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/debugging"><span class="devsite-nav-text" tooltip>Debugging</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>SDK Runtime</span> </div></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/architecture?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/architecture"><span class="devsite-nav-text" tooltip>Architecture</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/ui-presentation?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/ui-presentation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/ui-presentation"><span class="devsite-nav-text" tooltip>UI presentation APIs</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/viewability?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/viewability" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/viewability"><span class="devsite-nav-text" tooltip>Viewability</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/backward-compatibility?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/backward-compatibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/backward-compatibility"><span class="devsite-nav-text" tooltip>Backward compatibility</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/full-screen-ads?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/full-screen-ads" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/full-screen-ads"><span class="devsite-nav-text" tooltip>Full-screen ads</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/native-ads?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/native-ads" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/native-ads"><span class="devsite-nav-text" tooltip>Native ads</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/mediation?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/mediation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/mediation"><span class="devsite-nav-text" tooltip>Mediation</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Developer guide</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/developer-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/developer-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/key-concepts?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/developer-guide/key-concepts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/key-concepts"><span class="devsite-nav-text" tooltip>Key concepts</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/dev-environment?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/developer-guide/dev-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/dev-environment"><span class="devsite-nav-text" tooltip>Set up your developer environment</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-re-sdk?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-re-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-re-sdk"><span class="devsite-nav-text" tooltip>Build a Runtime-Enabled SDK</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/consume-re-sdk?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/developer-guide/consume-re-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/consume-re-sdk"><span class="devsite-nav-text" tooltip>Consume the Runtime-Enabled SDK</span></a></li> <li class="devsite-nav-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-test?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-test"><span class="devsite-nav-text" tooltip>Build and test</span></a></li> </ul> </div></li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" id="main-content" class="devsite-main-content" has-book-nav has-sidebar> <div class="devsite-sidebar"> <div class="devsite-sidebar-content"><devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div><devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "><a href="https://developers-google-com.translate.goog/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail=""> Home </a></li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div><a href="https://developers-google-com.translate.goog/privacy-sandbox?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="Privacy Sandbox"> Privacy Sandbox </a></li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div><a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail=""> Private advertising </a></li> </ul><devsite-thumb-rating position="header"> </devsite-thumb-rating> </div><devsite-feedback position="header" project-name="Privacy Sandbox" product-id="5335444" bucket="" context="" version="t-devsite-webserver-20250220-r00-rc00.467186154483790716" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" disable-product-feedback project-icon="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo.png"> <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1">Bidding and Auction services integration and optimization</h1><devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"> <devsite-view-release-notes></devsite-view-release-notes> </div><devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded> </devsite-toc> <devsite-recommendations-dropdown class="nocontent"></devsite-recommendations-dropdown> <div class="devsite-article-body clearfix "> <p>The <a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android/bidding-and-auction-services?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto">Bidding and Auction Services for Android</a> design proposal details the execution and data flow of running auctions on Android using the Trusted Bidding and Auction server. To ensure data in transit is handled only by privacy-preserving APIs and trusted servers, data is encrypted between the client and server using <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://www.rfc-editor.org/rfc/rfc9180.html%23name-bidirectional-encryption" class="external">bidirectional Hybrid Public Key Encryption</a>.</p> <figure id="auction-flow"><img src="/static/privacy-sandbox/assets/images/android/pa-auction-flow.svg" width="100%" alt="Illustration of the protected audience flow. Three columns represent how data moves between devices, untrusted seller services, and a trusted execution environment."> <figcaption> The Protected Audience auction flow. </figcaption> </figure> <p>To run the auction as detailed earlier, the seller ad tech on the device must perform the following steps:</p> <ol> <li>Gather and encrypt data for server auction</li> <li>Send a request to an Untrusted Seller Service</li> <li>Receive a response from an Untrusted Seller Service</li> <li>Decrypt the Protected Audience auction response and get the auction result</li> </ol> <p>Protected Audience is introducing two new APIs in order to support running server auctions:</p> <ol> <li>The <code translate="no" dir="ltr">getAdSelectionData</code> API gathers data for the server auction and generates an encrypted payload containing auction data. The Bidding and Auction server uses this payload to run an auction, generate the auction result, and return the auction result.</li> <li>On-device ad tech clients can call the <code translate="no" dir="ltr">persistAdSelectionResult</code> API to decrypt the result generated by the server auction and get the winning ad render URL.</li> </ol> <p>The seller ad tech on the device needs to integrate and build the following to run an auction:</p> <ol> <li><strong>Gather and encrypt data for server auction Seller</strong>: The ad tech should call <code translate="no" dir="ltr">getAdSelectionData</code> API to get the encrypted payload.</li> <li><strong>Send request to Untrusted Seller Service Send</strong>: An <code translate="no" dir="ltr">HTTP POST</code> or <code translate="no" dir="ltr">PUT</code> request containing the encrypted payload generated by <code translate="no" dir="ltr">getAdSelectionData</code> API to their untrusted seller service and data required by the untrusted seller service to generate contextual results.</li> <li><strong>Receive response from Untrusted Seller Service</strong>: Response from untrusted seller service would contain the encrypted protected audience auction result and the contextual auction result.</li> <li><strong>Decrypt protected audience auction response and get the auction result:</strong> To decrypt the protected audience auction result, seller ad tech should call the <code translate="no" dir="ltr">persistAdSelectionResult</code> API. The outcome generated by <code translate="no" dir="ltr">persistAdSelectionResult</code> will help ad techs to determine whether contextual ad or protected audience ad won the auction and the URI of the winning protected audience ad if applicable.</li> </ol> <h2 id="features_supported_for_server_auction" data-text="Features supported for server auction" tabindex="-1">Features supported for server auction</h2> <p>We aim to support all features currently available for on-device auction. The timeline for supporting these features in server auction is as follows:</p> <table> <tbody> <tr> <td></td> <td><p>On-device Auction</p></td> <td></td> <td><p>Server Auction</p></td> <td></td> </tr> <tr> <td></td> <td><p>Developer Preview</p></td> <td><p>Beta</p></td> <td><p>Developer Preview</p></td> <td><p>Beta</p></td> </tr> <tr> <td><p>Event-level win reporting</p></td> <td><p>Q1 '23</p></td> <td><p>Q3 '23</p></td> <td><p>N/A</p></td> <td><p>Q4 '23</p></td> </tr> <tr> <td><p><a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android/mediation?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#waterfall-mediation">Waterfall mediation</a></p></td> <td><p>Q1 '23</p></td> <td><p>Q4 '23</p></td> <td><p>N/A</p></td> <td><p>Q1 24</p></td> </tr> <tr> <td><p><a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android/frequency-capping?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto">Frequency cap filtering</a></p></td> <td><p>Q2 '23</p></td> <td><p>Q3 '23</p></td> <td><p>N/A</p></td> <td><p>Q4 '23</p></td> </tr> <tr> <td><p><a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#ad-selection">Pass contextual ads to ad selection workflow for filtering</a></p></td> <td><p>Q2 '23</p></td> <td><p>Q1 '24</p></td> <td><p>N/A</p></td> <td><p>N/A</p></td> </tr> <tr> <td><p><a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#ad-selection-impressions-reporting">Interaction reporting</a></p></td> <td><p>Q2 '23</p></td> <td><p>Q3 '23</p></td> <td><p>N/A</p></td> <td><p>Q4 '23</p></td> </tr> <tr> <td><p><a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#custom-audience-delegation">Join custom audience delegation</a></p></td> <td><p>Q3 '23</p></td> <td><p>Q4 '23</p></td> <td><p>N/A</p></td> <td><p>Q4 '23</p></td> </tr> <tr> <td><p>non-CPM billing</p></td> <td><p>Q3 '23</p></td> <td><p>Q4 '23</p></td> <td></td> <td></td> </tr> <tr> <td><p>Debug<br> reporting</p></td> <td><p>Q3 '23</p></td> <td><p>Q4 '23</p></td> <td><p>Q3 '23</p></td> <td><p>Q4 '23</p></td> </tr> <tr> <td><p>Open Bidding Mediation</p></td> <td><p>N/A</p></td> <td><p>N/A</p></td> <td><p>N/A</p></td> <td><p>Q1 '24</p></td> </tr> <tr> <td><p><a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android/appinstall-filtering?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto">App install ads filtering</a></p></td> <td><p>Q2 '23</p></td> <td><p>Q1 '24</p></td> <td><p>N/A</p></td> <td><p>Q1 '24</p></td> </tr> <tr> <td><p>Currency management</p></td> <td><p>N/A</p></td> <td><p>N/A</p></td> <td><p>N/A</p></td> <td><p>Q1 '24</p></td> </tr> <tr> <td><p>K-anon integration</p></td> <td><p>N/A</p></td> <td><p>Q1 '24</p></td> <td><p>N/A</p></td> <td><p>Q1 '24</p></td> </tr> <tr> <td><p>Private Aggregation integration</p></td> <td><p>N/A</p></td> <td><p>N/A</p></td> <td><p>N/A</p></td> <td><p>Q3 '24</p></td> </tr> </tbody> </table> <h2 id="run_server_auctions_using_protected_audience_apis" data-text="Run Server Auctions using Protected Audience APIs" tabindex="-1">Run Server Auctions using Protected Audience APIs</h2> <p>In the Developer Preview track, <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/adselection/AdSelectionManager">AdSelectionManager</a> exposes two new APIs: <code translate="no" dir="ltr">getAdSelectionData</code> and <code translate="no" dir="ltr">persistAdSelectionResult</code>. These APIs allow ad tech SDKs to integrate with Bidding and Auction servers.</p> <h3 id="gather_and_encrypt_data_for_a_server_auction" data-text="Gather and encrypt data for a server auction" tabindex="-1">Gather and encrypt data for a server auction</h3> <p>The <code translate="no" dir="ltr">getAdSelectionData</code> API generates the required input for Bidding and Auction components such as <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://github.com/privacysandbox/fledge-docs/blob/main/bidding_auction_services_api.md%23buyerinput" class="external"><code translate="no" dir="ltr">BuyerInput</code></a> and <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://github.com/privacysandbox/fledge-docs/blob/main/bidding_auction_services_api.md%23protectedaudienceinput" class="external"><code translate="no" dir="ltr">ProtectedAudienceInput</code></a>, and encrypts the data before making the result available to the caller. To prevent data leaking across apps, this data contains information from all buyers present on the device. Read more about this decision in the <a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#privacy-considerations">privacy considerations</a> section and strategies to optimize this in the <a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#size-optimizations">size considerations</a> section.</p> <p>To access the API, <a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android/developer-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#you-begin">access to Protected Audience API must be enabled, and the <code translate="no" dir="ltr">ACCESS_ADSERVICES_CUSTOM_AUDIENCE</code></a> permission must be defined in the caller's manifest.</p> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">class</span> <span class="devsite-syntax-nc">AdSelectionManager</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">void</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">getAdSelectionData</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">GetAdSelectionDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">getAdSelectionDataRequest</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Executor</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">executor</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">OutcomeReceiver&lt;GetAdSelectionDataOutcome</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Exception</span>&gt;<span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">receiver</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{}</span> <span class="devsite-syntax-p">}</span> </code></pre> </devsite-code> <h4 id="getadselectiondatarequest" data-text="GetAdSelectionDataRequest" tabindex="-1">GetAdSelectionDataRequest</h4> <ol> <li>The caller must set the <code translate="no" dir="ltr">seller</code> field in the request as it is used to run enrollment checks before servicing the request.</li> <li>The <code translate="no" dir="ltr">coordinatorOriginUri</code> field is optional. <ol> <li>If set, this should equal the scheme, hostname, and port of the coordinator URL that was configured while <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://github.com/privacysandbox/protected-auction-services-docs/blob/main/bidding_auction_services_onboarding_self_serve_guide.md%23step-3-enroll-with-coordinators">deploying the seller's B&amp;A server</a>.</li> <li>The coordinator must belong to the list of approved coordinators: <table> <tbody> <tr> <td>Provider</td> <td>URI</td> <td>URI Origin</td> <td>Default</td> </tr> <tr> <td>Google Cloud</td> <td>https://publickeyservice.pa.gcp.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys</td> <td>https://publickeyservice.pa.gcp.privacysandboxservices.com</td> <td>Yes</td> </tr> <tr> <td>Amazon Web Services</td> <td>https://publickeyservice.pa.aws.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys</td> <td>https://publickeyservice.pa.aws.privacysandboxservices.com</td> <td>No</td> </tr> </tbody> </table></li> <li>If no coordinator origin is provided, the default coordinator is used.</li> <li>Although it is highly unlikely that the Coordinator URL will change, it is strongly recommended to implement a mechanism for managing this URL dynamically. This ensures that any future changes to the URL can be accommodated without necessitating a new SDK release.</li> </ol></li> </ol> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">class</span> <span class="devsite-syntax-nc">GetAdSelectionDataRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">setSeller</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">AdTechIdentifier</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">seller</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">setCoordinatorOriginUri</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">Uri</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">coordinatorOriginUri</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> </code></pre> </devsite-code> <p>After the request is validated, on-device buyer data is composed into <code translate="no" dir="ltr">BuyerInput</code> and <code translate="no" dir="ltr">ProtectedAudienceInput</code>. The final payload object is then encrypted using <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://www.rfc-editor.org/rfc/rfc9180.html%23name-bidirectional-encryption" class="external">bidirectional Hybrid Public Key Encryption</a>.</p> <h4 id="getadselectiondataoutcome" data-text="GetAdSelectionDataOutcome" tabindex="-1">GetAdSelectionDataOutcome</h4> <p><code translate="no" dir="ltr">GetAdSelectionDataOutcome</code> is generated as the outcome of <code translate="no" dir="ltr">getAdSelectionData</code> API. It contains the following:</p> <ol> <li><code translate="no" dir="ltr">adSelectionId</code>: an <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://en.wikipedia.org/wiki/Opaque_data_type" class="external">opaque</a> integer to identify this invocation of <code translate="no" dir="ltr">getAdSelectionData</code>. The ad tech client should persist this <code translate="no" dir="ltr">adSelectionId</code> value because it acts as the pointer to the <code translate="no" dir="ltr">getAdSelectionData</code> call. This identifier is required by the <code translate="no" dir="ltr">persistAdSelectionResult</code> API to decrypt the auction result from Bidding and Auction server and is also required by the <code translate="no" dir="ltr">reportImpression</code> and <code translate="no" dir="ltr">reportEvent</code> APIs.</li> <li><code translate="no" dir="ltr">adSelectionData</code>: This is the encrypted auction data which would be required by Bidding and Auction server to run auctions. This method contains: <ol> <li>Filtered Custom Audience data based on frequency capping, app install filters and server auction requirements for Custom Audiences.</li> <li>In a future version, it will contain app install data.</li> </ol></li> </ol> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">class</span> <span class="devsite-syntax-nc">GetAdSelectionDataOutcome</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">getAdSelectionId</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kt">long</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">adSelectionId</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">byte</span><span class="devsite-syntax-o">[]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">getAdSelectionData</span><span class="devsite-syntax-p">();</span> <span class="devsite-syntax-p">}</span> </code></pre> </devsite-code> <h4 id="errors_exceptions_and_failure_handling" data-text="Errors, exceptions and failure handling" tabindex="-1">Errors, exceptions and failure handling</h4> <p>If the ad selection data generation can't be completed successfully due to reasons such as invalid arguments, timeouts, or excessive resource consumption, the <code translate="no" dir="ltr">OutcomeReceiver.onError()</code> callback provides an <code translate="no" dir="ltr">AdServicesException</code> with the following behaviors:</p> <ol> <li>If <code translate="no" dir="ltr">getAdSelectionData</code> is initiated with invalid arguments, the <code translate="no" dir="ltr">AdServicesException</code>` indicates an IllegalArgumentException as the cause.</li> <li>All other errors receive an <code translate="no" dir="ltr">AdServicesException</code> with an <code translate="no" dir="ltr">IllegalStateException</code> as the cause.</li> </ol> <h3 id="send_a_request_to_an_untrusted_seller_service" data-text="Send a request to an untrusted seller service" tabindex="-1">Send a request to an untrusted seller service</h3> <p>Using <code translate="no" dir="ltr">AdSelectionData</code>, the on-device SDK can send a request to their seller's ad service by including the data in a <code translate="no" dir="ltr">POST</code> or <code translate="no" dir="ltr">PUT</code> request:</p> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><code translate="no" dir="ltr"><span class="devsite-syntax-nx">fetch</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'https://www.example-ssp.com/auction'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">method</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"PUT"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">body</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">data</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-p">...</span> <span class="devsite-syntax-p">})</span> </code></pre> </devsite-code> <p>The on-device SDK is responsible for encoding this data. It is recommended to use a space efficient solution such as sending the request to the seller's ad service as multipart/form-data.</p> <h3 id="receive-response" data-text="Receive a response from an untrusted seller service" tabindex="-1">Receive a response from an untrusted seller service</h3> <p>As detailed in the <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://github.com/privacysandbox/fledge-docs/blob/main/bidding_auction_services_api.md%23flow" class="external">Bidding and Auction Server explainer</a>, when the untrusted seller service receives the request, it makes calls to partner buyers for contextual ads.</p> <p>The untrusted seller service forwards the encrypted <code translate="no" dir="ltr">adSelectionData</code> and <code translate="no" dir="ltr">AuctionConfig</code> to the Bidding and Auction server's SellerFrontEnd service running in a TEE.</p> <p>When the Protected Audience auction is complete, the SellerFrontEnd service encrypts the auction result and returns it as a response to the untrusted seller service.</p> <p>The untrusted seller service sends a response to the device containing contextual ad and / or encrypted Protected Audience auction result.</p> <p>On receiving the response, the seller ad tech code on device could choose to only use the contextual ad in the response or if it deems that there is incremental value in getting the Protected Audience result, it can choose to decrypt the Protected Audience result by calling the <code translate="no" dir="ltr">PersistAdSelectionResult</code> API.</p> <h3 id="persistadselectionresult_api" data-text="PersistAdSelectionResult API" tabindex="-1">PersistAdSelectionResult API</h3> <p>To decrypt the Protected Audience result, the seller ad tech can call the second Protected Audience API <code translate="no" dir="ltr">persistAdSelectionResult</code>. The API decrypts the result and returns an <code translate="no" dir="ltr">AdSelectionOutcome</code>, the same object that is returned from an on-device auction today.</p> <p>To access the API, the caller must enable <a href="https://developers-google-com.translate.goog/privacy-sandbox/relevance/protected-audience/android/developer-guide?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#you-begin">access to Protected Audience API and define the <code translate="no" dir="ltr">ACCESS_ADSERVICES_CUSTOM_AUDIENCE</code></a> permission in their manifest.</p> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">void</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">persistAdSelectionResult</span><span class="devsite-syntax-p">(</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">PersistAdSelectionResultRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">persistAdSelectionResultRequest</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Executor</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">executor</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">OutcomeReceiver&lt;AdSelectionOutcome</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Exception</span>&gt;<span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">receiver</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{}</span> </code></pre> </devsite-code> <h4 id="persistadselectionresultrequest" data-text="PersistAdSelectionResultRequest" tabindex="-1">PersistAdSelectionResultRequest</h4> <p>The caller must set the following in the request:</p> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">final</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">class</span> <span class="devsite-syntax-nc">PersistAdSelectionResultRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">setAdSelectionId</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kt">long</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">adSelectionId</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">setSeller</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">AdTechIdentifier</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">seller</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">setAdSelectionResult</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kt">byte</span><span class="devsite-syntax-o">[]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">adSelectionResult</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span> </code></pre> </devsite-code> <ol> <li><code translate="no" dir="ltr">adSelectionId</code>: The opaque identifier generated by the <code translate="no" dir="ltr">getAdSelectionData</code> call whose result the caller wants to decrypt.</li> <li><code translate="no" dir="ltr">seller</code>: The seller ad tech identifier must be set in the request to run enrollment checks before servicing the request.</li> <li><code translate="no" dir="ltr">adSelectionResult</code>: The encrypted auction result generated by the Bidding and Auction server that the caller wants to decrypt.</li> </ol> <h4 id="adselectionoutcome_response" data-text="AdSelectionOutcome response" tabindex="-1">AdSelectionOutcome response</h4> <p>If there is a Protected Audience winner, then <code translate="no" dir="ltr">AdSelectionOutcome</code> returns the winning ad render URI.Once the <code translate="no" dir="ltr">adSelectionResult</code> is decrypted, the reporting data is persisted internally. The <code translate="no" dir="ltr">OutcomeReceiver.onResult()</code> callback returns an <code translate="no" dir="ltr">AdSelectionOutcome</code> that contains:</p> <ul> <li><code translate="no" dir="ltr">URI</code>: If there is a winning Protected Audience ad, then an ad render URL for the winning ad is returned. If there is no Protected Audience winner, then `Uri.EMPTY is returned.</li> <li><code translate="no" dir="ltr">adSelectionId</code>: The <code translate="no" dir="ltr">adSelectionId</code> associated with this server auction run.</li> </ul> <h4 id="errors_exceptions_and_failure_handling_2" data-text="Errors, exceptions and failure handling" tabindex="-1">Errors, exceptions and failure handling</h4> <p>If the ad selection data generation can't be completed successfully due to reasons such as invalid arguments, timeouts, or excessive resource consumption, the <code translate="no" dir="ltr">OutcomeReceiver.onError()</code> callback provides an <code translate="no" dir="ltr">AdServicesException</code> with the following behaviors:</p> <ol> <li>If <code translate="no" dir="ltr">getAdSelectionData</code> is initiated with invalid arguments, the <code translate="no" dir="ltr">AdServicesException</code> indicates an <code translate="no" dir="ltr">IllegalArgumentException</code> as the cause.</li> <li>All other errors receive an <code translate="no" dir="ltr">AdServicesException</code> with an <code translate="no" dir="ltr">IllegalStateException</code> as the cause.</li> </ol> <h2 id="privacy_considerations" data-text="Privacy Considerations" tabindex="-1">Privacy Considerations</h2> <p><code translate="no" dir="ltr">adSelectionData</code> is encrypted to ensure that data in transit is accessible only to PPAPI and the trusted servers.</p> <p>Despite encryption, data leakage can occur due to <code translate="no" dir="ltr">adSelectionData</code> size. The <code translate="no" dir="ltr">adSelectionData</code> size can vary due to:</p> <ol> <li>Changes in <code translate="no" dir="ltr">CustomAudience</code> data present on device.</li> <li>Changes to <code translate="no" dir="ltr">CustomAudience</code> filtering logic.</li> <li>Changes to input to <code translate="no" dir="ltr">getAdSelectionData</code> call.</li> </ol> <p>Change in <code translate="no" dir="ltr">adSelectionData</code> size can be used for generating a cross-app identifier as mentioned in the <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://github.com/WICG/turtledove/issues/211" class="external">1-bit leak discussion</a>. Many mitigations applicable to 1-bit leak are also applicable here.</p> <p>To manage these leaks, we plan to generate the same <code translate="no" dir="ltr">adSelectionData</code> for all calls to <code translate="no" dir="ltr">getAdSelectionData</code> API. In initial releases, all the <code translate="no" dir="ltr">CustomAudiences</code> on the device are used for creating <code translate="no" dir="ltr">adSelectionData</code> and the encrypted payload will be padded to mask size variations. We will also restrict the influence of <code translate="no" dir="ltr">GetAdSelectionData</code> input parameters on the <code translate="no" dir="ltr">adSelectionData</code> generated.</p> <p>However, generating the same <code translate="no" dir="ltr">adSelectionData</code> for all ad techs using all the on-device auction data creates a large payload that now needs to be transferred in every call to the ad tech server. Using all the on-device custom audiences to generate auction payload also opens the ecosystem to abuse from malicious entities. We've covered these concerns in the <a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#size-optimizations">Size optimizations</a> and <a href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#privacy-considerations">Abuse mitigations</a> sections below.</p> <h2 id="size_optimizations" data-text="Size optimizations" tabindex="-1">Size optimizations</h2> <p>The ad tech client SDK is expected to package the encrypted bytes of <code translate="no" dir="ltr">adSelectionData</code> into the <code translate="no" dir="ltr">HTTP PUT/POST</code> contextual call made to the ad tech server. For lower round-trip time latency and cost, it is necessary to reduce the <code translate="no" dir="ltr">adSelectionData</code> size as much as possible while not impacting utility.</p> <p>We plan to explore and potentially introduce the following optimizations in the upcoming releases to reduce the <code translate="no" dir="ltr">adSelectionData</code> size:</p> <ol> <li><p><strong>Payload generated in a fixed set of bucket sizes with padding</strong>: To minimize the leakage from size variations while still allowing for lower payloads, we suggest using fixed size bucketing for the generated payload. Keeping the number of buckets small, for instance, 7 will lead to less than 3 bits of leaked entropy per call to <code translate="no" dir="ltr">getAdSelectionData</code>.</p><p>If on-device data exceeds the maximum bucket size, then strategies mentioned below such as priority values would be used to decide which data gets dropped.</p></li> <li><p><strong>Buyer Configuration</strong>: We're assessing the feasibility of letting buyers set up a per-buyer payload configuration. This configuration would be useful for identifying which auctions a buyer is interested to join. If feasible, during enrollment, a buyer ad tech could register an endpoint from which Protected Audience would fetch payload configuration at a daily regular cadence. Alternatively, privacy-preserving APIs would expose an API to allow buyer ad techs to register this endpoint.</p><p>This configuration would then be used to assess a buyer's contribution to <code translate="no" dir="ltr">adSelectionData</code> generated for each <code translate="no" dir="ltr">getAdSelectionData</code> request.</p><p>The buyer payload configuration would allow buyers to specify:</p> <ol> <li><strong>Allowed sellers list</strong>: Buyer CustomAudiences will be added to the payload only if the <code translate="no" dir="ltr">getAdSelectionData</code> call is initiated by a seller in the allowlist. We would fetch the payload configuration at a daily cadence to keep the allowlist up to date.</li> <li><strong>Per-seller size limit</strong>: Buyer could specify a per-seller size limit to determine the data size to be sent in the payload when an auction is initiated by a certain seller. This would be useful if a buyer wants to devote more resources to processing auction data from certain sellers. The SellerFrontendService forwards only buyer-specific data to each BuyerFrontendService. So, by defining a per-seller size limit, a buyer could explicitly control the amount of data ingested and processed by their Bidding and Auction server's BuyerFrontendService for auctions run by a seller.</li> </ol></li> <li><p><strong>Seller Configuration</strong>: We're assessing the feasibility of a per-seller auction configuration that would allow sellers to define auction parameters to control payload size and auction participants. If feasible, during enrollment, the seller ad tech would be able to specify the endpoint from where Protected Audience could fetch the per-seller auction configuration at a regular cadence. This configuration would then be used to determine the composition and limits of <code translate="no" dir="ltr">adSelectionData</code> generated for each <code translate="no" dir="ltr">getAdSelectionData</code> request.</p><p>Similar to the buyer configuration, a per-seller configuration would allow sellers to specify which set of buyers they expect to see in an auction and to specify limits on per buyer contribution to payload size.</p><p>The seller auction configuration would allow sellers to specify:</p> <ol> <li><strong>Allowed buyer list</strong>: For auctions initiated by the given seller, only the buyers in the allowlist would be able to contribute CustomAudiences for the auction. The auction configuration would need to be updated daily to keep the allowlist up to date with server-side buyer allowlist.</li> <li><strong>Per-buyer size limit</strong>: Sellers could specify a per-buyer limit to regulate the data size uploaded by each buyer into the payload being sent to SellerFrontendService. If the buyer exceeds the per-buyer size limit, the CustomAudience priority set in buyer payload configuration would be used to get the data in the expected limits.</li> <li><strong>Per-buyer priority</strong>: Allow sellers to set per-buyer priority. Buyer priority would be used to identify which buyer data should be kept in the payload if the payload size exceeds the payload size limit.</li> <li><strong>Max size limit for the payload</strong>: Different sellers might have different resource allocation and might want to set a max size limit for the per-request auction payload. The max size limit would respect the fixed size buckets set by the Protected Audience API.</li> </ol></li> <li><p><strong>Custom Audience changes</strong></p> <ol> <li><strong>Specify Custom Audience priority</strong>: Allow buyers to specify a priority value in a Custom Audience. The <code translate="no" dir="ltr">priority</code> field would be used to identify custom audiences which should be included in an auction if the set of buyer custom audiences exceed the per-seller or per-buyer size limits. An unspecified priority value in a Custom Audience would default to <code translate="no" dir="ltr">0.0</code>.</li> </ol></li> <li><p><strong>Payload Data Changes</strong></p> <ol> <li><strong>Reduce data sent in the payload</strong>: As detailed in <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://github.com/privacysandbox/fledge-docs/blob/main/bidding-auction-services-payload-optimization.md" class="external">Bidding and Auction services payload optimization</a>, higher payload is driven by custom audience <code translate="no" dir="ltr">ads</code> data, user bidding signals, Android signals. Higher payloads could be lowered by: <ol> <li>Having the client send ad render IDs (instead of ad objects) in the payload.</li> <li>Having the client send no ad data in the payload.</li> <li>Not sending user bidding signals in the client payload.</li> </ol></li> </ol></li> </ol> <p>While strategies mentioned above allow ad techs to define configurations to manage <code translate="no" dir="ltr">adSelectionData</code> payload composition and limits, they could also become a factor for modulating <code translate="no" dir="ltr">adSelectionData</code> size by changing configuration parameters. To avoid this, the configuration would be fetched daily by Protected Audience from the configured endpoint.</p> <h2 id="latency_optimization" data-text="Latency optimization" tabindex="-1">Latency optimization</h2> <p>For server auctions to have a desirable level of utility, we need to ensure that <code translate="no" dir="ltr">getAdSelectionData</code> API and <code translate="no" dir="ltr">persistAdSelectionResult</code> API have low latency per call. While we aim to deliver feature support for APIs in 2023, our subsequent release will focus on latency benchmarks and optimizations for the APIs.</p> <p>We are exploring the following strategies to keep the latency within acceptable limits:</p> <ol> <li><p><strong>Pre-generation of Protected Audience data per seller</strong>: Since seller auction configuration and buyer payload configuration will be stable for a considerable duration (daily), the platform could pre-compute and store the eligible Protected Audience data.</p><p>This would require the platform to build a mechanism to monitor custom audience updates and modify the pre-generated Protected Audience data based on the updates. The platform would also need to declare SLOs on the race delay ad tech could expect between custom audience updates and seeing the change in the <code translate="no" dir="ltr">adSelectionData</code>` generated for the server auction.</p><p>Since a device provides a limited resource computation model with varying process priorities, we recognize that providing this pre-generation facility must come with high reliability and SLOs guarantees.</p><p>Pre-generating the Protected Audience data would then be based on</p> <ol> <li>Seller opt-in to pre-generate Protected Audience data.</li> <li>Buyers eligible to participate in an auction initiated by a particular seller.</li> <li>Identifying custom audiences per-buyer which would be part of the payload based on: <ol> <li>Per-buyer size limits, per-buyer priority and max size limits defined in seller configuration,</li> <li>Per-seller size limit, custom audience priority defined in buyer configuration.</li> </ol></li> </ol></li> <li><p><strong>Eager application of negative filtering</strong>: If preferred by a seller, the platform could pre-compute the <code translate="no" dir="ltr">adSelectionData</code> by pre-generating Protected Audience data and applying negative filtering off the critical <code translate="no" dir="ltr">getAdSelectionData</code> call. This would allow sellers to balance lowering latency while accepting staleness in negative filtering.</p><p>The platform could provide this support by providing a default option in the Seller configuration with a staleness limit and an override option in <code translate="no" dir="ltr">getAdSelectionData</code> to allow for freshest computation if required. Alternatively, the platform could provide an additional initialization API to be called before <code translate="no" dir="ltr">getAdSelectionData</code> for warming up the auction.</p></li> <li><p><strong>Payload computation for multiple auctions</strong>: In certain scenarios, it might be preferable to have a latency-performant API at the cost of increased data staleness. To provide this, the platform could introduce an initialization API to compute the entire payload and provide a reference to the computed payload to the caller.</p><p>For subsequent calls to <code translate="no" dir="ltr">getAdSelectionData</code>, the caller could provide reference to the pre-computed payload to be used for <code translate="no" dir="ltr">adSelectionData</code> generation.</p></li> </ol> <p>All the three strategies mentioned above are in the initial exploration stage and meant to describe the direction the platform might be taking to optimize for latency. As we explore more detailed latency profiles of the API and ad tech requirements, we'll continue proposing additional strategies.</p> <h2 id="abuse-mitigation" data-text="Abuse mitigation and identification" tabindex="-1">Abuse mitigation and identification</h2> <p>As mentioned in Privacy considerations, <code translate="no" dir="ltr">adSelectionData</code> is generated by using all the buyer data on the device.</p> <p>However, if all buyer data on the device is used to generate the <code translate="no" dir="ltr">adSelectionData</code> output, then a malicious entity could pose as a buyer and create fraudulent buyer data to degrade Android performance, bloat payload to increase cost for an ad tech to run auctions or run bidding, and so forth.</p> <h3 id="mitigation" data-text="Mitigation" tabindex="-1">Mitigation</h3> <p>Some measures mentioned in the size considerations section such as buyer payload configuration containing allowlisted sellers and seller auction configuration containing allowlisted buyers would help to exclude unexpected data in the payload.</p> <p>Other size consideration measures such as allowing SSPs to specify buyer priority, placing per-buyer quota in the generated payload, and setting a max size per auction payload can also help mitigate the impact of malicious payload bloating. These measures are intended to allow ad techs to define which ad tech they collaborate with, and to set acceptable limits on the payload they would need to process.</p> <p>As mentioned earlier, all mitigations introduced for anti-abuse and size restrictions must adhere to privacy considerations.</p> <h3 id="identification-malicious" data-text="Identification of malicious entities" tabindex="-1">Identification of malicious entities</h3> <p>While mitigations mentioned above protect the <code translate="no" dir="ltr">adSelectionData</code> generation for server auctions, they do not help identify malicious entities or to protect the platform from abuse such as the creation of an unprecedented number of custom audiences from a buyer.</p> <p>To ensure platform stability and health, we need to find a mechanism to identify malicious entities, to identify abuse vectors, and to identify the motivation for the specific attacks. In later releases, we'll introduce explainers detailing the potential abuse vectors and protections in place to counter them.</p> </div><devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Privacy Sandbox" product-id="5335444" bucket="" context="" version="t-devsite-webserver-20250220-r00-rc00.467186154483790716" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" disable-product-feedback project-icon="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo.png"> <button> Send feedback </button> </devsite-feedback> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers-google-com.translate.goog/site-policies?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2024-11-14 UTC.</p> </devsite-content-footer> <devsite-notification> </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"><devsite-feedback position="thumb-rating" project-name="Privacy Sandbox" product-id="5335444" bucket="" context="" version="t-devsite-webserver-20250220-r00-rc00.467186154483790716" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" disable-product-feedback project-icon="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo.png"> <button> Need to tell us more? </button> </devsite-feedback> </template> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-14 UTC."],[[["Android is introducing Protected Audience server auctions to enhance user privacy in ad auctions by using a trusted server for processing sensitive data."],["The process involves encrypting auction data on the device, sending it to a trusted server for the auction, and returning the encrypted result to the device for decryption and ad rendering."],["To mitigate potential privacy risks associated with data size, strategies like fixed-size bucketing with padding and buyer/seller configurations are being implemented."],["Latency is being optimized by pre-generating Protected Audience data, eager negative filtering, and payload reuse for multiple auctions."],["Abuse mitigation involves leveraging size optimization measures and developing mechanisms to identify malicious activities, with detailed countermeasures to be released in the future."]]],["Seller ad tech initiates Protected Audience auctions by using the `getAdSelectionData` API to create and encrypt auction data, then sends it to an untrusted service. This service communicates with the Bidding and Auction server and returns the encrypted results. The ad tech decrypts the result via the `persistAdSelectionResult` API to identify the winning ad. Data privacy is maintained through encryption and payload size controls, including fixed bucket sizes and buyer/seller configurations to prevent data leakage and malicious data.\n"]] </template> </div> </devsite-content> </main><devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "><h3 class="devsite-footer-linkbox-heading no-link">Get support</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://github.com/privacysandbox/privacy-sandbox-dev-support" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Ask a question on our GitHub support repo </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://goo.gle/privacy-sandbox-feedback" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Submit project feedback </a></li> </ul></li> <li class="devsite-footer-linkbox "><h3 class="devsite-footer-linkbox-heading no-link">Get updates</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"><a href="https://developers-google-com.translate.goog/privacy-sandbox/blog?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Developer blog </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://privacysandbox.com/news/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Project news </a></li> </ul></li> <li class="devsite-footer-linkbox "><h3 class="devsite-footer-linkbox-heading no-link">Resources</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://privacysandbox.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Project site </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://privacysandbox.com/open-web/%23the-privacy-sandbox-timeline" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Privacy Sandbox timeline </a></li> </ul></li> <li class="devsite-footer-linkbox "><h3 class="devsite-footer-linkbox-heading no-link">Tools</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://goo.gle/psat" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Privacy Sandbox Analysis Tool </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://privacy-sandbox-demos.dev/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Privacy Sandbox demos </a></li> </ul></li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"><a href="https://developers-google-com.translate.goog/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link"> Android </a></li> <li class="devsite-footer-sites-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link"> Chrome </a></li> <li class="devsite-footer-sites-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link"> Firebase </a></li> <li class="devsite-footer-sites-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link"> Google Cloud Platform </a></li> <li class="devsite-footer-sites-item"><a href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link"> Google AI </a></li> <li class="devsite-footer-sites-item"><a href="https://developers-google-com.translate.goog/products?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link"> All products </a></li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "><a class="devsite-footer-utility-link gc-analytics-event" href="https://developers-google-com.translate.goog/terms/site-terms?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" data-category="Site-Wide Custom Events" data-label="Footer Terms link"> Terms </a></li> <li class="devsite-footer-utility-item "><a class="devsite-footer-utility-link gc-analytics-event" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=auto&amp;u=https://policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link"> Privacy </a></li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"><a class="devsite-footer-utility-link gc-analytics-event" href="https://developers-google-com.translate.goog/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true"> Manage cookies </a></li> <li class="devsite-footer-utility-item devsite-footer-utility-button"><span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="https://developers-google-com.translate.goog/newsletter/subscribe?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=auto" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link"> Subscribe </a></li> </ul><devsite-language-selector> <ul role="presentation"> <li role="presentation"><a role="menuitem" lang="en">English</a></li> <li role="presentation"><a role="menuitem" lang="de">Deutsch</a></li> <li role="presentation"><a role="menuitem" lang="es">Español</a></li> <li role="presentation"><a role="menuitem" lang="es_419">Español – América Latina</a></li> <li role="presentation"><a role="menuitem" lang="fr">Français</a></li> <li role="presentation"><a role="menuitem" lang="id">Indonesia</a></li> <li role="presentation"><a role="menuitem" lang="it">Italiano</a></li> <li role="presentation"><a role="menuitem" lang="pl">Polski</a></li> <li role="presentation"><a role="menuitem" lang="pt_br">Português – Brasil</a></li> <li role="presentation"><a role="menuitem" lang="vi">Tiếng Việt</a></li> <li role="presentation"><a role="menuitem" lang="tr">Türkçe</a></li> <li role="presentation"><a role="menuitem" lang="ru">Русский</a></li> <li role="presentation"><a role="menuitem" lang="he">עברית</a></li> <li role="presentation"><a role="menuitem" lang="ar">العربيّة</a></li> <li role="presentation"><a role="menuitem" lang="fa">فارسی</a></li> <li role="presentation"><a role="menuitem" lang="hi">हिंदी</a></li> <li role="presentation"><a role="menuitem" lang="bn">বাংলা</a></li> <li role="presentation"><a role="menuitem" lang="th">ภาษาไทย</a></li> <li role="presentation"><a role="menuitem" lang="zh_cn">中文 – 简体</a></li> <li role="presentation"><a role="menuitem" lang="zh_tw">中文 – 繁體</a></li> <li role="presentation"><a role="menuitem" lang="ja">日本語</a></li> <li role="presentation"><a role="menuitem" lang="ko">한국어</a></li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section> </section><devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{&#34;dimensions&#34;: {&#34;dimension6&#34;: &#34;en&#34;, &#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension5&#34;: &#34;en&#34;, &#34;dimension4&#34;: &#34;Privacy Sandbox&#34;, &#34;dimension3&#34;: false, &#34;dimension11&#34;: false}, &#34;gaid&#34;: &#34;UA-24532603-1&#34;, &#34;metrics&#34;: {&#34;ratings_value&#34;: &#34;metric1&#34;, &#34;ratings_count&#34;: &#34;metric2&#34;}, &#34;purpose&#34;: 1}]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;ga4p&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;gtm&#34;: [{&#34;id&#34;: &#34;GTM-WPJH8HP6&#34;, &#34;purpose&#34;: 0}], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;Privacy Sandbox&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;developers&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="pnv3ga0X/32pYd8czUuPGYg/sVuFkk"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f","https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/vdbb152dfd6ef5e309aa1d261d45f3fd443aed2691cbfba3f9f80f8a4012a0a8f/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["CloudShell__cloud_code_overflow_menu","MiscFeatureFlags__emergency_css","Concierge__enable_key_takeaways","Cloud__enable_legacy_calculator_redirect","MiscFeatureFlags__developers_footer_image","Profiles__enable_join_program_group_endpoint","Profiles__enable_stripe_subscription_management","Cloud__enable_cloud_shell","BookNav__enable_tenant_cache_key","Profiles__enable_awarding_url","Profiles__require_profile_eligibility_for_signin","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloudx_ping","Cloud__enable_llm_concierge_chat","DevPro__enable_cloud_innovators_plus","TpcFeatures__enable_unmirrored_page_left_nav","Search__enable_ai_eligibility_checks","Profiles__enable_dashboard_curated_recommendations","Experiments__reqs_query_experiments","Cloud__enable_cloud_dlp_service","Profiles__enable_completequiz_endpoint","Search__enable_dynamic_content_confidential_banner","Analytics__enable_clearcut_logging","Concierge__enable_pushui","Profiles__enable_public_developer_profiles","MiscFeatureFlags__enable_project_variables","Search__enable_page_map","Cloud__enable_cloudx_experiment_ids","CloudShell__cloud_shell_button","Cloud__enable_free_trial_server_call","MiscFeatureFlags__developers_footer_dark_image","EngEduTelemetry__enable_engedu_telemetry","TpcFeatures__enable_mirror_tenant_redirects","Profiles__enable_developer_profiles_callout","Profiles__enable_release_notes_notifications","Profiles__enable_page_saving","MiscFeatureFlags__enable_view_transitions","MiscFeatureFlags__enable_variable_operator","Significatio__enable_by_tenant","MiscFeatureFlags__enable_firebase_utm","DevPro__enable_developer_subscriptions","Profiles__enable_complete_playlist_endpoint","Cloud__enable_cloud_shell_fte_user_flow","Cloud__enable_cloud_facet_chat","Profiles__enable_profile_collections","Search__enable_suggestions_from_borg","Profiles__enable_recognition_badges"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[13,10],[6,5],[12,9],[1,1],[4,3],[5,4],[3,2],[16,13],[11,8],[15,12],[14,11]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],1,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1]') </script><devsite-a11y-announce></devsite-a11y-announce> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('en', 'en', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;hl=auto&amp;client=wt" type="text/javascript"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10