CINXE.COM
Private Aggregation API overview | Privacy Sandbox | Google for Developers
<!doctype html> <html lang="en" dir="ltr"> <head> <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&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation"><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/private-aggregation" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation?hl=vi" /><title>Private Aggregation API overview | Privacy Sandbox | Google for Developers</title> <meta property="og:title" content="Private Aggregation API overview | Privacy Sandbox | Google for Developers"><meta name="description" content="Generate aggregate data reports using data from Protected Audience and cross-site data from Shared Storage."> <meta property="og:description" content="Generate aggregate data reports using data from Protected Audience and cross-site data from Shared Storage."><meta property="og:url" content="https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation"><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", "dateModified": "2022-10-11", "headline": "Private Aggregation API overview" } </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": "Private Aggregation API overview", "item": "https://developers.google.com/privacy-sandbox/private-advertising/private-aggregation" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="white" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <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/privacy-sandbox"> <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/static/privacy-sandbox/assets/images/privacy-sandbox-logo_36.png 36w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_48.png 48w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_72.png 72w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_96.png 96w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_480.png 480w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_720.png 720w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_856.png 856w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_960.png 960w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1440.png 1440w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1920.png 1920w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_2880.png 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/privacy-sandbox" 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/privacy-sandbox" track-metadata-eventdetail="https://developers.google.com/privacy-sandbox" class="devsite-tabs-content gc-analytics-event " 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/privacy-sandbox/cookies" track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/cookies" class="devsite-tabs-content gc-analytics-event " 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/privacy-sandbox/private-advertising" track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/private-advertising" class="devsite-tabs-content gc-analytics-event " 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/privacy-sandbox/protections" track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/protections" class="devsite-tabs-content gc-analytics-event " 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/privacy-sandbox/learn" track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/learn" class="devsite-tabs-content gc-analytics-event " 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/privacy-sandbox/blog" track-metadata-eventdetail="https://developers.google.com/privacy-sandbox/blog" class="devsite-tabs-content gc-analytics-event " 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="//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/privacy-sandbox/private-advertising" 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/privacy-sandbox"> <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/static/privacy-sandbox/assets/images/privacy-sandbox-logo_36.png 36w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_48.png 48w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_72.png 72w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_96.png 96w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_480.png 480w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_720.png 720w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_856.png 856w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_960.png 960w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1440.png 1440w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_1920.png 1920w, https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo_2880.png 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/privacy-sandbox" 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="/privacy-sandbox" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: 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="/privacy-sandbox/cookies" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Cookies" track-name="cookies" data-category="Site-Wide Custom Events" data-label="Responsive Tab: 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="/privacy-sandbox/private-advertising" 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" data-category="Site-Wide Custom Events" data-label="Responsive Tab: 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="/privacy-sandbox/protections" 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" data-category="Site-Wide Custom Events" data-label="Responsive Tab: 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="/privacy-sandbox/learn" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" data-category="Site-Wide Custom Events" data-label="Responsive Tab: 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="/privacy-sandbox/blog" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Blog" track-name="blog" data-category="Site-Wide Custom Events" data-label="Responsive Tab: 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="//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="/privacy-sandbox/private-advertising" 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="/privacy-sandbox/private-advertising/setup/web" 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="/privacy-sandbox/private-advertising/setup/web/chrome-facilitated-testing" 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="/privacy-sandbox/private-advertising/setup/web/relevance-testing" 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="/privacy-sandbox/private-advertising/setup/android" 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="/privacy-sandbox/private-advertising/setup/android/setup" 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="/privacy-sandbox/private-advertising/setup/android/setup-api-access" 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="/privacy-sandbox/private-advertising/setup/android/download" 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="/privacy-sandbox/private-advertising/setup/android/setup-device-access" 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="/privacy-sandbox/private-advertising/setup/android/troubleshooting" 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="/privacy-sandbox/private-advertising/enrollment" 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="/privacy-sandbox/private-advertising/enrollment/faqs" 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="/privacy-sandbox/private-advertising/manage-ad-audience" 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="/privacy-sandbox/private-advertising/manage-ad-auctions" 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="/privacy-sandbox/private-advertising/measure-ad-performance" 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="/privacy-sandbox/private-advertising/topics" 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="/privacy-sandbox/private-advertising/topics/why-topics" 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="/privacy-sandbox/private-advertising/topics/web" 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="/privacy-sandbox/private-advertising/topics/web/setup" 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="/privacy-sandbox/private-advertising/topics/web/implement" 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="/privacy-sandbox/private-advertising/topics/web/test-and-go-live" 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 & go live</span></a></li><li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/topics/web/tooling" 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="/privacy-sandbox/private-advertising/topics/web/controls" 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 & opt-out</span></a></li><li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/topics/web/support" 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="/privacy-sandbox/private-advertising/topics/android" 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="/privacy-sandbox/private-advertising/topics/android/implement" 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="/privacy-sandbox/private-advertising/topics/android/controls" 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 & 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="/privacy-sandbox/private-advertising/protected-audience" 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="/privacy-sandbox/private-advertising/protected-audience-api/feature-status" 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="/privacy-sandbox/private-advertising/protected-audience-api" 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="/privacy-sandbox/private-advertising/protected-audience-api/protected-audience-experiment" 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="/privacy-sandbox/private-advertising/protected-audience-api/ad-auction" 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="/privacy-sandbox/private-advertising/protected-audience-api/reporting" 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="/privacy-sandbox/private-advertising/protected-audience-api/guide/reporting-id" 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="/privacy-sandbox/private-advertising/protected-audience-api/latency" 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="/privacy-sandbox/private-advertising/protected-audience-api/reports" 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="/privacy-sandbox/private-advertising/sequential-auction-setup" 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="/privacy-sandbox/private-advertising/protected-audience-api/troubleshoot" 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="/privacy-sandbox/private-advertising/protected-audience-api/opt-out" 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="/privacy-sandbox/private-advertising/protected-audience-api/k-anonymity" 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="/privacy-sandbox/private-advertising/protected-audience-api/publisher-guide" 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="/privacy-sandbox/private-advertising/define-audience-data" 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="/privacy-sandbox/private-advertising/update-audience-data" 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="/privacy-sandbox/private-advertising/delegate-audience-management" 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="/privacy-sandbox/private-advertising/auction/configure-auction" 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="/privacy-sandbox/private-advertising/auction/single-seller-auction" 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="/privacy-sandbox/private-advertising/auction/multi-seller-auction" 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="/privacy-sandbox/private-advertising/auction/sequential-auction" 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="/privacy-sandbox/private-advertising/auction/render-ad" 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="/privacy-sandbox/private-advertising/auction/bid-in-auction-ad-slot" 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://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="/privacy-sandbox/private-advertising/topics-in-audiences" 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="/privacy-sandbox/private-advertising/protected-audience-api/use-case/deals" 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="/privacy-sandbox/private-advertising/auction/pace-ad-delivery" 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="/privacy-sandbox/private-advertising/protected-audience/android" 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="/privacy-sandbox/private-advertising/protected-audience/android/mediation" 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="/privacy-sandbox/private-advertising/protected-audience/android/frequency-capping" 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="/privacy-sandbox/private-advertising/protected-audience/android/appinstall-filtering" 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="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide" 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="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/fetch-and-join" 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/fetch-and-join" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/fetch-and-join" ><span class="devsite-nav-text" tooltip>Join Custom Audience Delegation</span></a></li><li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/profiling" 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="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/debug-reporting" 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="/privacy-sandbox/private-advertising/protected-audience/android/developer-guide/inspect_audiences_cli" 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></ul></div></li><li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/protected-audience/android/integration-guide" 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://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="/privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals" 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="/privacy-sandbox/private-advertising/protected-audience/android/protected-app-signals-developer-guide" 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"><a href="/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-services" 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="/privacy-sandbox/private-advertising/protected-audience/android/bidding-and-auction-integration" 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> <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="/privacy-sandbox/private-advertising/fenced-frame" 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="/privacy-sandbox/private-advertising/attribution-reporting" 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="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-updates" 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="/privacy-sandbox/private-advertising/attribution-reporting/chrome-shipping" 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="/privacy-sandbox/private-advertising/attribution-reporting/system-overview" 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="/privacy-sandbox/private-advertising/attribution-reporting/summary-reports" 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="/privacy-sandbox/private-advertising/attribution-reporting/report-schedules" 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="/privacy-sandbox/private-advertising/attribution-reporting/constraints" 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="/privacy-sandbox/private-advertising/attribution-reporting/dev-guide" 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="/privacy-sandbox/private-advertising/attribution-reporting/getting-started" 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="/privacy-sandbox/private-advertising/attribution-reporting/register-attribution-source" 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="/privacy-sandbox/private-advertising/attribution-reporting/register-attribution-trigger" 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="/privacy-sandbox/private-advertising/attribution-reporting/enable-conversion-measurement" 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="/privacy-sandbox/private-advertising/attribution-reporting/change-attribution-logic" 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="/privacy-sandbox/private-advertising/attribution-reporting/define-filters" 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="/privacy-sandbox/private-advertising/attribution-reporting/prevent-duplication" 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="/privacy-sandbox/private-advertising/attribution-reporting/custom-report-windows" 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="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging" 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="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-2" 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="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-debugging/part-3" 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="/privacy-sandbox/private-advertising/attribution-reporting/summary-reports-intro" 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="/privacy-sandbox/private-advertising/attribution-reporting/contribution-budget" 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="/privacy-sandbox/private-advertising/attribution-reporting/aggregation-keys" 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="/privacy-sandbox/private-advertising/attribution-reporting/understanding-noise" 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="/privacy-sandbox/private-advertising/attribution-reporting/working-with-noise" 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="/privacy-sandbox/private-advertising/attribution-reporting/design-decisions" 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="/privacy-sandbox/private-advertising/attribution-reporting/measurement-implementation-guide" 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="/privacy-sandbox/private-advertising/attribution-reporting/measurement-testing-guide" 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="/privacy-sandbox/private-advertising/attribution-reporting/attribution-reporting-data-clearing" 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="/privacy-sandbox/private-advertising/attribution-reporting/cross-web-app" 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="/privacy-sandbox/private-advertising/attribution-reporting/android" 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="/privacy-sandbox/private-advertising/attribution-reporting/android/attribution-app-to-web" 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="/privacy-sandbox/private-advertising/attribution-reporting/android/simulation-library" 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="/privacy-sandbox/private-advertising/attribution-reporting/android/developer-guide" 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="/privacy-sandbox/private-advertising/attribution-reporting/cross-web-app" 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="/privacy-sandbox/private-advertising/attribution-reporting/android/xna-examples" 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="/privacy-sandbox/private-advertising/attribution-reporting/android/integration-guide" 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://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="/privacy-sandbox/private-advertising/private-aggregation" 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 for Web</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/private-aggregation/fundamentals" 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="/privacy-sandbox/private-advertising/private-aggregation/private-aggregation-experiment" 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="/privacy-sandbox/private-advertising/private-aggregation/unique-reach" 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="/privacy-sandbox/private-advertising/private-aggregation/k-freq-reach" 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="/privacy-sandbox/private-advertising/private-aggregation/user-demographics" 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="/privacy-sandbox/private-advertising/private-aggregation/multi-touch-attribution" 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="/privacy-sandbox/private-advertising/aggregation-service" 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="/privacy-sandbox/private-advertising/aggregation-service/get-started" 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="/privacy-sandbox/private-advertising/aggregation-service/coordinators-ags-purpose" 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>Coordinator's Purpose In Aggregation Service</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/aggregation-service/privacy-protection-report-strategy" 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 & Report Strategy</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/aggregation-service/operate-ags" 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>Operate Aggregation Service</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/aggregation-service/receive-store-aggregatable-reports" 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 & Store Aggregatable Reports</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/aggregation-service/understand-ags-api" 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>Understand the API</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/aggregation-service/batch-strategies" 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"><a href="/privacy-sandbox/private-advertising/aggregation-service/load-testing-framework" 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="/privacy-sandbox/private-advertising/aggregation-service/tos" 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>Shared Storage</span> </div></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/shared-storage" 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="/privacy-sandbox/private-advertising/shared-storage/content-selection" 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/content-selection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/content-selection" ><span class="devsite-nav-text" tooltip>URL selection</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/shared-storage/api-walkthrough" 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 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="/privacy-sandbox/private-advertising/shared-storage/creative-rotation" 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/creative-rotation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/creative-rotation" ><span class="devsite-nav-text" tooltip>Rotate ad creatives</span></a></li><li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/shared-storage/creative-selection-by-frequency" 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/creative-selection-by-frequency" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/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="/privacy-sandbox/private-advertising/shared-storage/ab-testing" 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/ab-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/ab-testing" ><span class="devsite-nav-text" tooltip>Run A/B testing</span></a></li><li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/shared-storage/known-customer" 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/known-customer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-sandbox/private-advertising/shared-storage/known-customer" ><span class="devsite-nav-text" tooltip>Customize experience for known customers</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/shared-storage/try-the-demo" 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="/privacy-sandbox/private-advertising/shared-storage/debugging" 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="/privacy-sandbox/private-advertising/sdk-runtime" 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 for Android</span></a></li> <li class="devsite-nav-item"><a href="/privacy-sandbox/private-advertising/sdk-runtime/ui-presentation" 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="/privacy-sandbox/private-advertising/sdk-runtime/viewability" 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="/privacy-sandbox/private-advertising/sdk-runtime/backward-compatibility" 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="/privacy-sandbox/private-advertising/sdk-runtime/full-screen-ads" 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="/privacy-sandbox/private-advertising/sdk-runtime/native-ads" 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 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="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide" 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="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/key-concepts" 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="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/dev-environment" 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="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-re-sdk" 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="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/consume-re-sdk" 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="/privacy-sandbox/private-advertising/sdk-runtime/developer-guide/build-test" 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" class="devsite-main-content" has-book-nav > <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/" 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/privacy-sandbox" 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/privacy-sandbox/private-advertising" 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-20241114-r00-rc02.464922260396498922" 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"> Private Aggregation API overview </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> <div class="devsite-article-body clearfix "> <p>Generate aggregate data reports using data from Protected Audience and cross-site data from Shared Storage.</p> <p><aside class="key-point"><b>Key point:</b> The Privacy Sandbox Relevance and Measurement origin trial ended September 20, 2023 and the APIs are now available for 99% of Chrome users, and origin trial enrollment has closed. To keep abreast of the percentage of users each API is enabled for, refer to the <a href="https://pscs.glitch.me/">Chrome status graphs</a>.</aside></p> <p>To provide critical features that the web relies on, the Private Aggregation API has been built for aggregating and reporting on cross-site data in a privacy-preserving manner.</p> <h2 id="implementation_status" data-text="Implementation status" tabindex="-1">Implementation status</h2> <table class="with-heading-tint with-borders width-full"> <thead> <tr> <th>Proposal</th> <th>Status</th> </tr> </thead> <tr> <td>Prevent invalid Private Aggregation API reports with report verification for Shared Storage<br><a href="https://github.com/patcg-individual-drafts/private-aggregation-api/blob/main/report_verification.md">Explainer</a></td> <td>Available in Chrome</td> </tr> <tr> <td>Private Aggregation debug mode availability dependent on 3PC eligibility<br><a href="https://github.com/patcg-individual-drafts/private-aggregation-api/issues/57">GitHub issue</a></td> <td>Available in Chrome M119</td> </tr> <tr> <td>Reducing report delay<br> <a href="https://github.com/patcg-individual-drafts/private-aggregation-api/blob/main/report_verification.md#reduced-delay">Explainer</a></td> <td>Available in Chrome M119</td> </tr> <tr> <td>Private Aggregation contribution timeout for Shared Storage<br> <a href="https://github.com/WICG/shared-storage/blob/main/README.md">Explainer</a></td> <td>Available in M119</td> </tr> <tr> <td>Support for Private Aggregation API and Aggregation Service for Google Cloud<br> <a href="https://github.com/patcg-individual-drafts/private-aggregation-api#aggregation-coordinator-choice">Explainer</a></td> <td>Available in Chrome M121</td> </tr> <tr> <td>Padding for aggregatable report payloads<br> <a href="https://github.com/patcg-individual-drafts/private-aggregation-api#padding">Explainer</a></td> <td>Available in Chrome M119</td> </tr> <tr> <td>Private Aggregation debug mode available for auctionReportBuyers reporting<br> <a href="https://github.com/WICG/turtledove/blob/main/FLEDGE_extended_PA_reporting.md#temporary-debugging-mechanism">Explainer</a></td> <td>Available in Chrome M123</td> </tr> <tr> <td>Filtering ID support<br> <a href="https://github.com/patcg-individual-drafts/private-aggregation-api/blob/main/flexible_filtering.md#proposal-filtering-id-in-the-encrypted-payload">Explainer</a></td> <td>Available in Chrome M128</td> </tr> <tr> <td>Client-side contribution merging<br> <a href="https://github.com/patcg-individual-drafts/private-aggregation-api/blob/main/README.md#contributions-limit">Explainer</a></td> <td>Available in Chrome M129</td> </tr> </table> <h2 id="what_is_the_private_aggregation_api" data-text="What is the Private Aggregation API" tabindex="-1">What is the Private Aggregation API</h2> <p>The Private Aggregation API allows developers to generate aggregate data reports with data from the <a href="https://goo.gle/pa">Protected Audience API</a> and cross-site data from <a href="/privacy-sandbox/private-advertising/shared-storage">Shared Storage</a>.</p> <p>The main function of this API is known as <code translate="no" dir="ltr">contributeToHistogram()</code>. The histogram operation lets you aggregate data across users in each bucket (known in the API as an aggregation key) you define. Your histogram call accumulates values and returns a noised aggregated result in the form of a summary report. For example, the report might show the number of sites each user has seen your content on, or come across a bug in your third-party script. This operation is performed within another API's worklet.</p> <aside class="key-term"><b>Key term:</b> <em><a href="https://developer.mozilla.org/docs/Web/API/Worklet">worklet</a></em> lets you run specific JavaScript functions and return information back to the requester. Within a worklet, you can execute JavaScript but you cannot interact or communicate with the outside page.</aside> <p>For example, if you have previously recorded demographic and geographic data in Shared Storage, you can use the Private Aggregation API to construct a histogram that tells you approximately how many users in New York City have seen your content cross-site. To aggregate for this measurement, you can encode the geography dimension into the aggregation key and count the users in the aggregatable value.</p> <h3 id="key_concepts" data-text="Key concepts" tabindex="-1">Key concepts</h3> <p>When you call the Private Aggregation API with an aggregation key and an aggregatable value, the browser generates an aggregatable report.</p> <p>Aggregatable reports are sent to your server for collection and batching. The batched reports are processed later by the <a href="/privacy-sandbox/private-advertising/aggregation-service">Aggregation Service</a>, and a <a href="/privacy-sandbox/relevance/attribution-reporting/summary-reports">summary report</a> is generated.</p> <p>See the <a href="/privacy-sandbox/relevance/private-aggregation/fundamentals">Private Aggregation API fundamentals</a> document to learn more about the key concepts involved with the Private Aggregation API.</p> <h3 id="differences_from_attribution_reporting" data-text="Differences from Attribution Reporting" tabindex="-1">Differences from Attribution Reporting</h3> <p>The Private Aggregation API shares many similarities with the <a href="/privacy-sandbox/relevance/attribution-reporting">Attribution Reporting API</a>. Attribution Reporting is a standalone API designed to measure conversions, whereas Private Aggregation is built for cross-site measurements in conjunction with APIs such as the Protected Audience API and Shared Storage. Both APIs produce aggregatable reports that are consumed by the Aggregation Service backend to generate summary reports.</p> <p>Attribution Reporting associates data gathered from an impression event and a conversion event, which happen at different times. Private Aggregation measures a single, cross-site event.</p> <h2 id="test_this_api" data-text="Test this API" tabindex="-1">Test this API</h2> <p>To test the Private Aggregation API locally, enable all the Ad privacy APIs under <code translate="no" dir="ltr">chrome://settings/adPrivacy</code>.</p> <p>Read more about testing in <a href="/privacy-sandbox/relevance/private-aggregation/private-aggregation-experiment">experiment and participate</a>.</p> <h3 id="use_the_demo" data-text="Use the demo" tabindex="-1">Use the demo</h3> <p>The demo of Private Aggregation API for Shared Storage can be accessed at <a href="http://goo.gle/shared-storage-demo">goo.gle/shared-storage-demo</a>, and the code is available on <a href="https://github.com/GoogleChromeLabs/shared-storage-demo">GitHub</a>. The demo implements the client-side operations and produces an aggregatable report that is sent to your server.</p> <p>A demo of Private Aggregation API for the Protected Audience API will be published in the future.</p> <h2 id="use_cases" data-text="Use cases" tabindex="-1">Use cases</h2> <p>Private Aggregation is a general-purpose API for cross-site measurement, and it's available to be used in <a href="/privacy-sandbox/relevance/shared-storage">Shared Storage</a> and <a href="/privacy-sandbox/relevance/protected-audience">Protected Audience API</a> worklets. The first step is to decide specifically what information you want to collect. Those data points are the basis of your aggregation keys.</p> <h3 id="with_shared_storage" data-text="With Shared storage" tabindex="-1">With Shared storage</h3> <p><a href="/privacy-sandbox/relevance/shared-storage">Shared Storage</a> lets you to read and write cross-site data in a secure environment to prevent leakage, and the Private Aggregation API lets you measure cross-site data stored in Shared Storage.</p> <h4 id="unique_reach_measurement" data-text="Unique reach measurement" tabindex="-1"><a href="/privacy-sandbox/relevance/private-aggregation/unique-reach">Unique reach measurement</a></h4> <p>You may want to measure how many unique users have seen their content. Private Aggregation API can provide an answer such as "Approximately 317 unique users have seen the Content ID 861."</p> <p>You can set a flag in Shared Storage to signify whether the user has already seen the content or not. On the first visit where the flag does not exist, a call to Private Aggregation is made and then the flag is set. On subsequent visits by the user, including cross-site visits, you can check Shared Storage and skip submitting a report to Private Aggregation if the flag is set. To learn more about methods to implement these measurements, check out our <a href="https://github.com/patcg-individual-drafts/private-aggregation-api/blob/main/reach_whitepaper.md">reach whitepaper</a>.</p> <h4 id="demographics_measurement" data-text="Demographics measurement" tabindex="-1"><a href="/privacy-sandbox/relevance/private-aggregation/user-demographics">Demographics measurement</a></h4> <p>You may want to measure the demographics of the users who have seen your content across different sites.</p> <p>Private Aggregation can provide an answer, such as "Approximately 317 unique users are from the age of 18-45 and are from Germany." Use Shared Storage to access demographics data from a third-party context. At a later point in time, you can generate a report with Private Aggregation by encoding the age group and country dimensions in the aggregation key.</p> <h4 id="k_frequency_measurement" data-text="K+ frequency measurement" tabindex="-1"><a href="/privacy-sandbox/relevance/private-aggregation/k-freq-reach">K+ frequency measurement</a></h4> <p>You may want to measure the number of users who have seen a piece of content or an ad at least K times on a given browser, for a pre-chosen value of K.</p> <p>Private Aggregation can provide an answer such as "Approximately 89 users have seen the Content ID 581 at least 3 times." A counter can be incremented in Shared Storage from different sites and can be read within a worklet. When the count has reached K, a report can be submitted using Private Aggregation.</p> <h4 id="multi-touch_attribution" data-text="Multi-touch attribution" tabindex="-1"><a href="/privacy-sandbox/relevance/private-aggregation/multi-touch-attribution">Multi-touch attribution</a></h4> <p>This guidance is to be published on the dev site so that ad techs can understand how to implement MTA within Shared Storage + Private Aggregation.</p> <h3 id="with_the_protected_audience_api" data-text="With the Protected Audience API" tabindex="-1">With the Protected Audience API</h3> <p>The Protected Audience API enables retargeting and custom audience use cases, and Private Aggregation lets you report events from buyer and seller worklets. The API can be used for tasks such as measuring the distribution of auction bids.</p> <p>From a Protected Audience API worklet, you can aggregate your data directly using <code translate="no" dir="ltr">contributeToHistogram()</code> and report your data based on a trigger using <code translate="no" dir="ltr">contributeToHistogramOnEvent()</code>, which is a special extension for the Protected Audience API.</p> <h2 id="available_functions" data-text="Available functions" tabindex="-1">Available functions</h2> <p>The following functions are available in the <code translate="no" dir="ltr">privateAggregation</code> object available in Shared Storage and Protected Audience API worklets.</p> <h3 id="contributetohistogram" data-text="contributeToHistogram()" tabindex="-1">contributeToHistogram()</h3> <p>You can call <code translate="no" dir="ltr">privateAggregation.contributeToHistogram({ bucket: <bucket>, value: <value> })</code>, where the aggregation key is <code translate="no" dir="ltr">bucket</code> and the aggregatable value as <code translate="no" dir="ltr">value</code>. For the <code translate="no" dir="ltr">bucket</code> parameter, a <code translate="no" dir="ltr">BigInt</code> is required. For the <code translate="no" dir="ltr">value</code> parameter, an integer Number is required.</p> <p>Here is an example of how it may be called in Shared Storage for reach measurement:</p> <h4 id="iframejs" data-text="iframe.js" tabindex="-1"><code translate="no" dir="ltr">iframe.js</code></h4> <pre class="prettyprint lang-js" translate="no" dir="ltr"><code translate="no" dir="ltr">// Cross-site iframe code async function measureReach() { // Register worklet await window.sharedStorage.worklet.addModule('worklet.js'); // Run reach measurement operation await window.sharedStorage.run('reach-measurement', { data: { contentId: '1234' } }); } measureReach(); </code></pre> <h4 id="workletjs" data-text="worklet.js" tabindex="-1"><code translate="no" dir="ltr">worklet.js</code></h4> <pre class="prettyprint lang-js" translate="no" dir="ltr"><code translate="no" dir="ltr">// Shared storage worklet code function convertContentIdToBucket(campaignId){ // Generate aggregation key } // The scale factor is multiplied by the aggregatable value to // maximize the signal-to-noise ratio. See "Noise and scaling" // section in the Aggregation Fundamentals document to learn more. const SCALE_FACTOR = 65536; class ReachMeasurementOperation { async run(data) { const key = 'has-reported-content'; // Read the flag from Shared Storage const hasReportedContent = await sharedStorage.get(key) === 'true'; // Don't send report if the flag is set if (hasReportedContent) { return; } // Send histogram report // Set the aggregation key in `bucket` // Bucket examples: 54153254n or BigInt(54153254) // Set the scaled aggregatable value in `value` privateAggregation.contributeToHistogram({ bucket: convertContentIdToBucket(data.contentId), value: 1 * SCALE_FACTOR }); // Set the flag in Shared Storage await sharedStorage.set(key, true); } } register('reach-measurement', ReachMeasurementOperation); </code></pre> <p>The previous code example will call Private Aggregation whenever the cross-site iframe content is loaded. The iframe code loads the worklet, and the worklet calls the Private Aggregation API with the content ID converted to an aggregation key (bucket).</p> <h3 id="contributetohistogramonevent" data-text="contributeToHistogramOnEvent()" tabindex="-1">contributeToHistogramOnEvent()</h3> <p>Within Protected Audience API worklets only, we provide a trigger-based mechanism for sending a report only if a certain event occurs. This function also allows for the bucket and value to depend on signals that are not yet available at that point in the auction.</p> <p>The <code translate="no" dir="ltr">privateAggregation.contributeToHistogramOnEvent(eventType, contribution)</code> method takes an <code translate="no" dir="ltr">eventType</code> that specifies the triggering event, and the <code translate="no" dir="ltr">contribution</code> to be submitted when the event is triggered. The triggering event can come from the auction itself after the auction ends, such as an auction win or loss event, or it can come from a fenced frame that rendered the ad.</p> <p>To send a report for auction events, you can use two reserved keywords, <code translate="no" dir="ltr">reserved.win</code>, <code translate="no" dir="ltr">reserved.loss</code>, and <code translate="no" dir="ltr">reserved.always</code>. To submit a report triggered by an event from a fenced frame, define a custom event type. To trigger the event from a fenced frame, use the <a href="https://github.com/WICG/turtledove/blob/main/Fenced_Frames_Ads_Reporting.md#reportevent"><code translate="no" dir="ltr">fence.reportEvent()</code></a> method available from the <a href="https://github.com/WICG/turtledove/blob/main/Fenced_Frames_Ads_Reporting.md">Fenced Frames Ads Reporting API</a>.</p> <p>The following example sends an impression report when the auction win event is triggered, and sends a click report if a <code translate="no" dir="ltr">click</code> event is triggered from the fenced frame that rendered the ad. These two values can be used to calculate the clickthrough rate.</p> <pre class="prettyprint lang-js" translate="no" dir="ltr"><code translate="no" dir="ltr">function generateBid(interestGroup, auctionSignals, perBuyerSignals, trustedBiddingSignals, browserSignals) { // … privateAggregation.contributeToHistogramOnEvent("reserved.win", { bucket: getImpressionReportBucket(), value: 1 }); privateAggregation.contributeToHistogramOnEvent("click", { bucket: getClickReportBuckets(), // 128-bit integer as BigInt value: 1 }); </code></pre> <p>See the <a href="https://github.com/WICG/turtledove/blob/main/FLEDGE_extended_PA_reporting.md">Extended Private Aggregation Reporting explainer</a> to learn more.</p> <h3 id="enabledebugmode" data-text="enableDebugMode()" tabindex="-1">enableDebugMode()</h3> <p>While third-party cookies are still available, we'll provide a temporary mechanism that allows easier debugging and testing by enabling the debug mode. A debug report is useful in comparing your cookie-based measurements with your Private Aggregation measurements, and also lets you quickly validate your API integration.</p> <p>Calling <code translate="no" dir="ltr">privateAggregation.enableDebugMode()</code> in the worklet enables the debug mode which causes aggregatable reports to include the unencrypted (cleartext) payload. You can then process these payloads with the Aggregation Service <a href="https://github.com/google/trusted-execution-aggregation-service#set-up-local-testing">local testing tool</a>.</p> <p>The debug mode is only available to callers that are allowed to access third-party cookies. If the caller does not have access to third-party cookies, <code translate="no" dir="ltr">enableDebugMode()</code> will silently fail.</p> <aside class="special"><strong>Important:</strong><span> Temporarily, the debug mode is available for browsers in Mode B where third-party cookies are disabled, in order to facilitate testing. For browsers in <a href="/privacy-sandbox/setup/web/chrome-facilitated-testing#mode_b_disable_1_of_third-party_cookies">Mode B</a>, calls to <code translate="no" dir="ltr">enableDebugMode()</code> will successfully enable debug reports.</span></aside> <p>You can also set the debug key by calling <code translate="no" dir="ltr">privateAggregation.enableDebugMode({ <debugKey: debugKey> })</code> where a <code translate="no" dir="ltr">BigInt</code> can be used as a debug key. The debug key can be used to associate data from a cookie-based measurement and data from Private Aggregation measurement.</p> <p>These can be called only once per context. Any subsequent calls will throw an exception.</p> <pre class="prettyprint lang-js" translate="no" dir="ltr"><code translate="no" dir="ltr">// Enables debug mode privateAggregation.enableDebugMode(); // Enables debug mode and sets a debug key privateAggregation.enableDebugMode({ debugKey: BigInt(1234) }); </code></pre> <h2 id="report_verification" data-text="Report verification" tabindex="-1">Report verification</h2> <p>The Private Aggregation API enables cross-site measurement while protecting user privacy. However, bad actors may attempt to manipulate the accuracy of these measurements. To prevent this, you can use a context ID to verify the authenticity of reports.</p> <p>Setting a context ID helps ensure that the data is accurate when contributing to the final aggregate results. This is achieved by:</p> <ul> <li><strong>Preventing illegitimate or inauthentic reports:</strong> Ensure that reports are generated through legitimate and authentic API calls, making report fabrication difficult for bad actors.</li> <li><strong>Preventing report replaying:</strong> Detect and reject any attempts to reuse old reports, ensuring that each report is contributed only once to the aggregate results.</li> </ul> <aside class="note"><strong>Note:</strong><span> These security measures are different depending on the context where the Private Aggregation API is used. Report verification is available for the <code translate="no" dir="ltr">run()</code> and <code translate="no" dir="ltr">selectURL()</code> Shared Storage methods. Report verification is <em>not</em> available if you're using Shared Storage from within a Fenced Frame or using Private Aggregation with the Protected Audience API. To learn more and contribute to the discussion on future implementation, see the <a href="https://github.com/patcg-individual-drafts/private-aggregation-api/blob/main/report_verification.md">report verification explainer</a>.</span></aside> <h3 id="shared_storage" data-text="Shared Storage" tabindex="-1">Shared Storage</h3> <p>When using Shared Storage to run an operation that can send an aggregatable report, you can set an unpredictable ID outside of the worklet.</p> <p>This ID is embedded in the report created from the worklet. You can specify it when calling either the <code translate="no" dir="ltr">run()</code> or <code translate="no" dir="ltr">selectURL()</code> Shared Storage methods, within the options object under the <code translate="no" dir="ltr">privateAggregationConfig</code> key.</p> <aside class="note"><strong>Note:</strong><span> Context IDs are limited to 64 <a href="https://developer.mozilla.org/docs/Glossary/Code_unit">code units</a> and cannot contain <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String#utf-16_characters_unicode_code_points_and_grapheme_clusters">surrogates</a>. This allows for each report to have a unique ID.</span></aside> <p>For example:</p> <pre class="prettyprint lang-javascript" translate="no" dir="ltr"><code translate="no" dir="ltr">sharedStorage.run('measurement-operation', { privateAggregationConfig: { contextId: 'exampleId123456789abcdeFGHijk' } }); </code></pre> <p>After this ID is set, you can use it to verify that the report was sent from your Shared Storage operation. To prevent information leakage, exactly one report is sent per Shared Storage operation (even if no contributions are made), regardless of the number of <code translate="no" dir="ltr">contributeToHistogram()</code> calls.</p> <p>The Private Aggregation API sends aggregatable reports with a random delay up to one hour, however, setting a context ID to verify a report reduces this delay. In this case, there is a fixed, smaller delay of 5 seconds from the Shared Storage operation starting.</p> <p><img src="/static/privacy-sandbox/assets/images/private-aggregation/report-verification.png" alt="Example workflow for report verification"></p> <p>An example workflow (as shown in the diagram above):</p> <ol> <li>The Shared Storage operation is run with a Private Aggregation config specifying a context ID and an aggregatable report is generated.</li> <li>The context ID is embedded in the generated aggregatable report sent to your server.</li> <li>Your server collects the generated aggregatable reports.</li> <li>Processes on your server check the context ID in each aggregatable report against your stored context IDs to ensure its validity before batching the reports and sending them to your <a href="/privacy-sandbox/private-advertising/aggregation-service">Aggregation Service</a>.</li> </ol> <h4 id="context_id_verification" data-text="Context ID verification" tabindex="-1">Context ID verification</h4> <p>Incoming reports to your collector server can be verified in a few different ways before being sent to the <a href="/privacy-sandbox/private-advertising/aggregation-service">Aggregation Service</a>. Reports with invalid context IDs can be rejected when the Context ID is:</p> <ul> <li><strong>Unknown:</strong> If a report arrives with a context ID your system hasn't created, you can discard it. This prevents unknown or malicious actors from injecting data into your aggregation pipeline.</li> <li><strong>A duplicate:</strong> If you receive two (or more) reports with the same context ID, it means you need to choose which of the reports to discard.</li> <li><strong>Flagged in spam detection:</strong> <ul> <li>If you detect suspicious activity from a user, for example a sudden change in a user's activity, while processing their report, you can discard it.</li> <li>You can store reports alongside their context IDs and any relevant signals (for example, user agent, referral source, etc.). Later, as you analyze user behavior and identify new spam indicators, you can re-evaluate stored reports based on their associated context IDs and signals. This lets you discard reports from users showing suspicious activity, even if they weren't initially flagged.</li> </ul></li> </ul> <h2 id="engage_and_share_feedback" data-text="Engage and share feedback" tabindex="-1">Engage and share feedback</h2> <p>The Private Aggregation API is under active discussion and subject to change in the future. If you try this API and have feedback, we'd love to hear it.</p> <ul> <li><strong>GitHub</strong>: Read the <a href="https://github.com/patcg-individual-drafts/private-aggregation-api">explainer</a>, <a href="https://github.com/patcg-individual-drafts/private-aggregation-api/issues">raise questions and participate in discussion</a>.</li> <li><strong>Developer support</strong>: Ask questions and join discussions on the <a href="https://github.com/GoogleChromeLabs/privacy-sandbox-dev-support">Privacy Sandbox Developer Support repo</a>.</li> <li>Join the <a href="https://groups.google.com/a/chromium.org/g/shared-storage-api-announcements">Shared Storage API group</a> and the <a href="https://groups.google.com/a/chromium.org/g/fledge-api-announce/">Protected Audience API group</a> for the latest announcements related to Private Aggregation.</li> </ul> </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-20241114-r00-rc02.464922260396498922" 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://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2022-10-11 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-20241114-r00-rc02.464922260396498922" 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 2022-10-11 UTC."],[],[]] </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://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://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="/privacy-sandbox/blog" 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://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://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://privacysandbox.com/open-web/#the-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://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://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/" 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/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/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="//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="//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="//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="//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="//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="/products" 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="/terms/site-terms" 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="//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="#" 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="/newsletter/subscribe" 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> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </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>[{"dimensions": {"dimension11": false, "dimension6": "en", "dimension1": "Signed out", "dimension4": "Privacy Sandbox", "dimension5": "en", "dimension3": false}, "gaid": "UA-24532603-1", "metrics": {"ratings_value": "metric1", "ratings_count": "metric2"}, "purpose": 1}]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-272J68FCRF", "purpose": 1}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [{"id": "GTM-WPJH8HP6", "purpose": 0}], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Privacy Sandbox", "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="TRDk3xwQCsVa7pDWuZXN7rY6DuFV6N"> (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/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",1,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/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","EngEduTelemetry__enable_engedu_telemetry","Search__enable_ai_search_summaries","Experiments__reqs_query_experiments","Analytics__enable_clearcut_logging","DevPro__enable_developer_subscriptions","Search__enable_page_map","Search__enable_ai_eligibility_checks","Cloud__enable_cloudx_ping","Search__enable_ai_search_summaries_restricted","Search__enable_dynamic_content_confidential_banner","Concierge__enable_concierge","MiscFeatureFlags__enable_variable_operator","MiscFeatureFlags__enable_explain_this_code","Cloud__enable_legacy_calculator_redirect","Concierge__enable_concierge_restricted","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_view_transitions","MiscFeatureFlags__enable_project_variables","Significatio__enable_by_tenant","Cloud__enable_cloud_shell","Search__enable_suggestions_from_borg","MiscFeatureFlags__developers_footer_dark_image","MiscFeatureFlags__enable_firebase_utm","Cloud__enable_cloud_facet_chat","BookNav__enable_tenant_cache_key","Profiles__enable_profile_collections","Profiles__enable_dashboard_curated_recommendations","TpcFeatures__enable_mirror_tenant_redirects","Cloud__enable_cloudx_experiment_ids","Profiles__enable_release_notes_notifications","Profiles__enable_page_saving","TpcFeatures__enable_required_headers","Cloud__enable_free_trial_server_call","Cloud__enable_cloud_shell_fte_user_flow","Profiles__enable_complete_playlist_endpoint","Profiles__enable_public_developer_profiles","Profiles__require_profile_eligibility_for_signin","Profiles__enable_recognition_badges","MiscFeatureFlags__emergency_css","Concierge__enable_pushui","CloudShell__cloud_shell_button","Profiles__enable_awarding_url","Profiles__enable_completecodelab_endpoint","DevPro__enable_cloud_innovators_plus","Profiles__enable_developer_profiles_callout","Cloud__enable_llm_concierge_chat","Cloud__enable_cloud_dlp_service"],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],[[16,13],[3,2],[5,4],[14,11],[4,3],[13,10],[12,9],[1,1],[15,12],[6,5],[11,8]],[[2,2],[1,1]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>