CINXE.COM
Relevance and measurement unified origin trial | 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/setup/web/unified-origin-trial"><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/setup/web/unified-origin-trial" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial?hl=vi" /><title>Relevance and measurement unified origin trial | Privacy Sandbox | Google for Developers</title> <meta property="og:title" content="Relevance and measurement unified origin trial | Privacy Sandbox | Google for Developers"><meta name="description" content="Run unified experiments across Attribution Reporting, Protected Audience API,"> <meta property="og:description" content="Run unified experiments across Attribution Reporting, Protected Audience API,"><meta property="og:url" content="https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial"><meta property="og:image" content="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-for-developers.png"> <meta property="og:image:width" content="1600"> <meta property="og:image:height" content="900"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Relevance and measurement unified origin trial" } </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": "Relevance and measurement unified origin trial", "item": "https://developers.google.com/privacy-sandbox/private-advertising/setup/web/unified-origin-trial" }] } </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 > <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" 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> </div> </div> </devsite-header> <devsite-book-nav scrollbars hidden> <div class="devsite-book-nav-filter" hidden> <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 " 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> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" > <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> </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"> Relevance and measurement unified origin trial </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>Topics, Fenced Frames, and Shared Storage. keywords: product:PrivacySandbox, docType:Guide, topicAdSetup, contentTypeSolution, category:Web, apiGroupAds, audienceAdBuyer, audienceAdSeller, audienceAdMeasurementProvider, skill:Beginner</p> <p>The Privacy Sandbox includes a selection of proposals to enable advertising use cases without the need for cross-site tracking. <a href="https://developer.chrome.com/blog/origin-trials/">Origin trials</a> provide an opportunity for developers to evaluate and provide feedback on new web technologies through real-world testing. The <a href="https://developer.chrome.com/origintrials/#/view_trial/771241436187197441">Privacy Sandbox Relevance and Measurement</a> origin trial provides a single trial allowing sites to run unified experiments across Attribution Reporting, Protected Audience API, Topics, Fenced Frames, and Shared Storage. Developers can sign up for this single origin trial that allows you to test across the Topics, Protected Audience API, and Attribution Reporting APIs. This guide takes you through the configuration steps to access the APIs, tells you how to validate your configuration, and provides further resources for testing against the APIs.</p> <aside class="key-term"><strong>Key Term:</strong><span> <em>Traffic</em> refers to the percentage of Chrome browser instances included in the trial, not the percentage of requests made to individual sites.</span></aside> <h2 id="status" data-text="Check the status of the origin trial" tabindex="-1">Check the status of the origin trial</h2> <h3 id="june_2023" data-text="June 2023" tabindex="-1">June 2023</h3> <h4 id="private_aggregation_7_ramp-up_in_stable" data-text="Private Aggregation 7% ramp-up in Stable" tabindex="-1">Private Aggregation 7% ramp-up in Stable</h4> <p><a href="/privacy-sandbox/relevance/private-aggregation">Private Aggregation API</a> will be available at 7% of Chrome Stable traffic from Tuesday, June 6, 2023. The API will be available in the main unified origin trial group (5%), Protected Audience isolated group (1%), and Shared Storage isolated group (1%). The traffic allocation for Protected Audience and Shared Storage will not change since Private Aggregation is being added to existing isolated experiments. </p> <p>Traffic allocation as of Tuesday, June 6th:</p> <table> <tr> <td><strong>API</strong> </td> <td><strong>Traffic allocation</strong> </td> <td><strong>Status</strong> </td> </tr> <tr> <td rowspan="2">Attribution Reporting </td> <td>Unified - 5% </td> <td rowspan="2">6% of Stable traffic as of March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - ARA only </td> </tr> <tr> <td rowspan="3">Fenced Frames </td> <td>Unified - 5% </td> <td rowspan="3">7% of Stable traffic as of March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Shared Storage + Private Aggregation + Fenced Frames only </td> </tr> <tr> <td>Isolated - 1% - Protected Audience + Private Aggregation + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Protected Audience </td> <td>Unified - 5% </td> <td rowspan="2">6% of Stable traffic as of March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Protected Audience + Private Aggregation + Fenced Frames only </td> </tr> <tr> <td rowspan="3">Private Aggregation </td> <td>Unified - 5% </td> <td rowspan="3">7% of Stable traffic as of June 6, 2023 </td> </tr> <tr> <td>Isolated - 1% - Protected Audience + Private Aggregation + Fenced Frames only </td> </tr> <tr> <td>Isolated - 1% - Shared Storage + Private Aggregation + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Shared Storage </td> <td>Unified - 5% </td> <td rowspan="2">6% of Stable traffic as of March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Shared Storage + Private Aggregation + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Topics </td> <td>Unified - 5% </td> <td rowspan="2">6% of Stable traffic as of March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Topics only </td> </tr> </table> <div> <devsite-expandable> <h3 class="showalways" id="previous-updates" data-text="Previous updates" tabindex="-1">Previous updates</h3> <p class="showalways">Check out previous updates on the origin trial.</p> <h4 id="april-2023" data-text=" April 2023 " tabindex="-1"> April 2023 </h4> <h5 id="private-aggregation-1-ramp-up-in-stable" data-text=" Private Aggregation 1% ramp-up in Stable " tabindex="-1"> Private Aggregation 1% ramp-up in Stable </h5> <p> The <a href="/privacy-sandbox/relevance/private-aggregation">Private Aggregation API</a> origin trial will be available at 1% of Chrome Stable unified experiment traffic from Monday April 17. The <code translate="no" dir="ltr"><a href="/privacy-sandbox/relevance/private-aggregation#sendhistogramreport">sendHistogramReport()</a></code> function of Private Aggregation is available to be used in <a href="/privacy-sandbox/relevance/protected-audience">Protected Audience API</a> and <a href="/privacy-sandbox/relevance/shared-storage">Shared Storage</a> worklets. </p> <p>The traffic allocation will look like the following starting on Monday, April 17:</p> <table> <tr> <td><strong>API</strong> </td> <td><strong>Traffic allocation</strong> </td> <td><strong>Status</strong> </td> </tr> <tr> <td rowspan="2">Attribution Reporting </td> <td>Unified - 5% </td> <td rowspan="2">6% of the Stable traffic starting from March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - ARA only </td> </tr> <tr> <td rowspan="3">Fenced Frames </td> <td>Unified - 5% </td> <td rowspan="3">7% of the Stable traffic starting from March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Shared Storage (URL Selection) + Fenced Frames only </td> </tr> <tr> <td>Isolated - 1% - Protected Audience API + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Protected Audience API </td> <td>Unified - 5% </td> <td rowspan="2">6% of the Stable traffic starting from March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Protected Audience API + Fenced Frames only </td> </tr> <tr> <td>Private Aggregation </td> <td>Unified - 1% </td> <td>1% of the Stable traffic starting from April 17, 2023 </td> </tr> <tr> <td rowspan="2">Shared Storage (URL Selection) </td> <td>Unified - 5% </td> <td rowspan="2">6% of the Stable traffic starting from March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Shared Storage (URL Selection) + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Topics </td> <td>Unified - 5% </td> <td rowspan="2">6% of the Stable traffic starting from March 13, 2023 </td> </tr> <tr> <td>Isolated - 1% - Topics only </td> </tr> </table> <h4 id="march-2023" data-text="March 2023" tabindex="-1">March 2023</h4> <h5 id="timeline-update" data-text="Timeline update" tabindex="-1">Timeline update</h5> <p>We initially communicated that we will begin the isolated experiments on Monday, March 13, 2023, but the new experiments will now begin on Thursday, March 16, 2023 due to the additional time needed for setting up the experiments. The 1% Protected Audience API ramp back up from 4% to 5% will also occur on Thursday, March 16, 2023.</p> <h5 id="protected-audience-api-1-ramp-back-up" data-text="Protected Audience API 1% ramp back up" tabindex="-1">Protected Audience API 1% ramp back up</h5> <p>Last month, we <a href="/privacy-sandbox/setup/web/unified-origin-trial#january-2023">temporarily reduced Protected Audience API origin trial traffic</a> from 5% to 4% of Chrome stable for testing. The initial testing has concluded, and we plan to ramp Protected Audience API back up to 5% from 4% for the unified experiment on Thursday, March 16, 2023.</p> <p>The ramped-up users will be the same set of users that were ramped down. However, their previous interest groups have expired, since more than 30 days have passed since the ramp-down.</p> <h5 id="isolated-experiments" data-text="Isolated experiments" tabindex="-1">Isolated experiments</h5> <p>To improve our testing process and continue observing the metrics of origin trial APIs, we're creating isolated experiments for each API, in addition to the existing unified experiment. New experiments will be created for Attribution Reporting, Topics, a combination of Protected Audience API and Fenced Frames, and a combination of Shared Storage's URL Selection operation and Fenced Frames. In each isolated experiment, only the assigned APIs will be available for the users in that group.</p> <table class="with-heading-tint"> <thead> <tr> <th>API </th> <th>Isolated experiment<br>traffic allocation </th> </tr> </thead> <tbody> <tr> <td>Attribution Reporting </td> <td>1% </td> </tr> <tr> <td>Protected Audience API + Fenced Frames </td> <td>1% </td> </tr> <tr> <td>Shared Storage (URL selection) + Fenced Frames </td> <td>1% </td> </tr> <tr> <td>Topics </td> <td>1% </td> </tr></tbody> </table> <p>Starting Thursday, March 16, you will begin to receive an additional 1% of the Chrome Stable traffic for the APIs listed above, on top of the 5% traffic you are receiving from the existing unified experiment. New users will be allocated to each experiment.</p> <h5 id="traffic-allocation" data-text="Traffic allocation" tabindex="-1">Traffic allocation</h5> <p>The current unified origin trials traffic allocation as of Tuesday, February 28, is as follows:</p> <table class="with-heading-tint"> <thead> <tr> <th>API </th> <th>Current unified experiment<br>traffic allocation </th> </tr> </thead> <tbody> <tr> <td>Attribution Reporting </td> <td>5% </td> </tr> <tr> <td>Fenced Frames </td> <td>5% </td> </tr> <tr> <td>Protected Audience API </td> <td>4% </td> </tr> <tr> <td>Shared Storage (URL selection) </td> <td>5% </td> </tr> <tr> <td>Topics </td> <td>5% </td> </tr></tbody> </table> <p>The traffic allocation will look like the following starting on Thursday, March 16, after Protected Audience API is ramped back up, and the new isolated experiments begin:</p> <table class="with-heading-tint"> <thead> <tr> <th>API </th> <th>New traffic allocation </th> <th>Status </th> </tr> </thead> <tbody> <tr> <td rowspan="2">Attribution Reporting </td> <td>Unified - 5% </td> <td rowspan="2">6% of the Stable traffic starting from March 16, 2023 </td> </tr> <tr> <td>Isolated - 1% - ARA only </td> </tr> <tr> <td rowspan="3">Fenced Frames </td> <td>Unified - 5% </td> <td rowspan="3">7% of the Stable traffic starting from March 16, 2023 </td> </tr> <tr> <td>Isolated - 1% - Shared Storage (URL Selection) + Fenced Frames only </td> </tr> <tr> <td>Isolated - 1% - Protected Audience API + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Protected Audience API </td> <td>Unified - 5% (4% current allocation + 1% ramp back up) </td> <td rowspan="2">6% of the Stable traffic starting from March 16, 2023 </td> </tr> <tr> <td>Isolated - 1% - Protected Audience API + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Shared Storage <br>(URL Selection) </td> <td>Unified - 5% </td> <td rowspan="2">6% of the Stable traffic starting from March 16, 2023 </td> </tr> <tr> <td>Isolated - 1% - Shared Storage (URL Selection) + Fenced Frames only </td> </tr> <tr> <td rowspan="2">Topics </td> <td>Unified - 5% </td> <td rowspan="2">6% of the Stable traffic starting from March 16, 2023 </td> </tr> <tr> <td>Isolated - 1% - Topics only </td> </tr></tbody> </table> <p>These changes will not affect your existing origin trial token setup, and you will not have to renew or generate a new origin trial token.</p> <h4 id="january-2023" data-text="January 2023" tabindex="-1">January 2023</h4> <p>As part of a Chrome regression investigation, we will temporarily reduce Protected Audience API origin trial traffic from 5% to 4% of Chrome Stable, from January 26th 2023. We estimate the investigation will take about a month, and we will notify you when the traffic is ramped back up.</p> <p>This change will happen automatically, and will not impact your existing origin trial tokens. For the users in the 1% traffic that will ramp down, the interest groups will remain in their browsers. The same users will be part of the ramp back up, and their interest groups can be reused. However, the interest groups expire in 30 days, and the regression investigation may take longer than that.</p> <p>Also, Shared Storage's URL Selection API origin trial will be increasing to 5% of Chrome Stable traffic from January 26th 2023.</p> <table class="with-heading-tint"> <thead> <tr> <th>API</th> <th>Notes</th> </tr></thead> <tbody> <tr> <td><a href="/privacy-sandbox/relevance/attribution-reporting">Attribution Reporting</a> </td> <td>Available in Stable, increased to 5% from October 26th 2022. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/topics">Topics</a> </td> <td>Available in Stable, increased to 5% from October 26th 2022. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/protected-audience">Protected Audience API</a> </td> <td>Available in Stable, temporarily decreasing to 4% from January 26th 2023. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/fenced-frame">Fenced Frames</a> </td> <td>Available in Stable, increasing to 5% from November 9th 2022. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/shared-storage">Shared Storage</a> </td> <td>Available in Stable, increasing 5% from January 26th 2023. </td> </tr></tbody> </table> <h4 id="november-2022" data-text="November 2022" tabindex="-1">November 2022</h4> <p>Shared Storage's `selectURL` API will be joining the origin trial at 1% of Chrome Stable traffic from November 9th.</p> <p>As previously announced in the <a href="/privacy-sandbox/blog/origin-trial-increase">Increasing the Privacy Sandbox Relevance and Measurement origin trial to 5%</a> blog post, Attribution Reporting and Topics are now at 5% with Protected Audience API and Fenced Frames also following on November 9th.</p> <table class="with-heading-tint"> <thead> <tr> <th>API</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td><a href="/privacy-sandbox/relevance/attribution-reporting">Attribution Reporting</a> </td> <td>Available in Stable, increased to 5% from October 26th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/topics">Topics</a> </td> <td>Available in Stable, increased to 5% from October 26th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/protected-audience">Protected Audience API</a> </td> <td>Available in Stable, increasing to 5% from November 9th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/fenced-frame">Fenced Frames</a> </td> <td>Available in Stable, increasing to 5% from November 9th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/shared-storage">Shared Storage</a> </td> <td>Will be available in Stable, starting at 1% from November 9th. </td> </tr></tbody> </table> <h4 id="october-2022:-5-increase" data-text="October 2022: 5% increase" tabindex="-1">October 2022: 5% increase</h4> <p>Attribution Reporting, Topics, Protected Audience API, and Fenced Frames are all currently available in Chrome Stable and will be part of the increased traffic.</p> <p>We will start increasing traffic for Attribution Reporting and Topics from this week, Protected Audience API and Fenced Frames will increase from November 9th.</p> <p>Read more in the <a href="/privacy-sandbox/blog/origin-trial-increase">Increasing the Privacy Sandbox Relevance and Measurement origin trial to 5%</a> blog post.</p> <table class="with-heading-tint"> <thead> <tr> <th>API</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td><a href="/privacy-sandbox/relevance/attribution-reporting">Attribution Reporting</a> </td> <td>Available in Stable, increasing to 5% after October 26th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/topics">Topics</a> </td> <td>Available in Stable, increasing to 5% after October 26th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/protected-audience">Protected Audience API</a> </td> <td>Available in Stable, increasing to 5% from November 9th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/fenced-frame">Fenced Frames</a> </td> <td>Available in Stable, increasing to 5% from November 9th. </td> </tr> <tr> <td><a href="/privacy-sandbox/relevance/shared-storage">Shared Storage</a> </td> <td>Only available in M105+ Canary, Dev, and Beta for now. </td> </tr></tbody> </table> <h4 id="october-2022" data-text="October 2022" tabindex="-1">October 2022</h4> <ul> <li>Origin trial has been <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/xm9EvnaVBj8">extended to Chrome 110</a>.</li> <li> <a href="https://developer.chrome.com/docs/web-platform/origin-trials/#renew">Getting started with Chrome's origin trials</a> explains how to renew origin trial enrollment. This includes providing a new token to participating origins, which is the same process followed by any other origin trial extension. </li> </ul> <p>This extension was granted to give the ecosystem time in Stable channel to continue testing and validating API improvements, while providing feedback consistent with our existing public timeline.</p> <p>The overall <a href="https://privacysandbox.com/open-web/#the-privacy-sandbox-timeline">Privacy Sandbox timeline</a> remains unchanged.</p> <p>APIs included in the trial:</p> <table class="with-heading-tint fixed-table width-full"> <thead> <tr> <th>API</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td> <a href="/privacy-sandbox/relevance/attribution-reporting">Attribution Reporting</a></td> <td> <a href="/privacy-sandbox/relevance/attribution-reporting/attribution-reporting-experiment">Developer guide for the origin trial</a>.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/protected-audience">Protected Audience API</a></td> <td> <a href="/privacy-sandbox/relevance/protected-audience-api/protected-audience-experiment">Developer guide for the origin trial</a>.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/topics">Topics</a></td> <td> <a href="/privacy-sandbox/relevance/topics/topics-experiment">Developer guide for the origin trial</a>.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/fenced-frame">Fenced Frames</a></td> <td> See the Protected Audience API guidance for origin trial usage.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/shared-storage">Shared Storage</a></td> <td> Only available in M105+ Canary, Dev, and Beta for now. </td> </tr> </tbody> </table> <h4 id="august-2022" data-text="August 2022" tabindex="-1">August 2022</h4> <ul> <li>Origin trial availability ramps up to <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/Vi-Rj37aZLs/m/KhFZN95WBgAJ">1% of desktop users from Chrome Stable 104</a>.</li> <li>Updates will follow when the availability includes mobile users.</li> <li>Pre-stable channels (Canary, Beta) remain at 50% of users.</li> <li>APIs are not available on iOS Chrome.</li> </ul> <h4 id="may-2022" data-text="May 2022" tabindex="-1">May 2022</h4> <p>Origin trial availability ramps up to <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/Vi-Rj37aZLs/m/WBPqGvscAgAJ">50% of users from Chrome 102 Beta</a>.</p> <p>APIs included in the trial:</p> <table class="with-heading-tint"> <thead> <tr> <th>API</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td> <a href="/privacy-sandbox/relevance/attribution-reporting/attribution-reporting-experiment">Attribution Reporting</a></td> <td> <a href="/privacy-sandbox/relevance/attribution-reporting/attribution-reporting-experiment">Developer guide for the origin trial</a>.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/protected-audience-api/protected-audience-experiment">Protected Audience API</a></td> <td> <a href="/privacy-sandbox/relevance/protected-audience-api/protected-audience-experiment">Developer guide for the origin trial</a>.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/topics/topics-experiment">Topics</a></td> <td> <a href="/privacy-sandbox/relevance/topics/topics-experiment">Developer guide for the origin trial</a>. Topics was briefly disabled in the origin trial due to a <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1321140">bug that affected browser stability.</a></td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/fenced-frame">Fenced Frames</a></td> <td> Fenced Frames added to the origin trial. See the Protected Audience API guidance for experiment usage.</td> </tr> </tbody> </table> <h4 id="april-2022" data-text="April 2022" tabindex="-1">April 2022</h4> <p>Origin trial begins with a <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/Vi-Rj37aZLs/m/wzeBWfxxEgAJ">limited proportion of users from Chrome 102 Beta</a>.</p> <p>APIs included in the trial:</p> <table class="with-heading-tint"> <thead> <tr> <th>API</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td> <a href="/privacy-sandbox/relevance/attribution-reporting/attribution-reporting-experiment">Attribution Reporting</a></td> <td> Individual <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/jEnNpideO1Y/m/nlEDdjmnCgAJ">Intent to Experiment (I2E)</a> post. Attribution Reporting also available as an individual origin trial.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/protected-audience-api/protected-audience-experiment">Protected Audience API</a></td> <td> Individual <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/0VmMSsDWsFg/m/_0T5qleqCgAJ">Intent to Experiment (I2E)</a> post. Protected Audience API available on desktop only with a <a href="https://github.com/WICG/turtledove/blob/main/Proposed_First_FLEDGE_OT_Details.md">subset of functionality</a>.</td> </tr> <tr> <td> <a href="/privacy-sandbox/relevance/topics/topics-experiment">Topics</a></td> <td> Individual <a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/oTwd6VwCwqs/m/jPkW3T-mCgAJ">Intent to Experiment (I2E)</a> post.</td> </tr> </tbody> </table> </devsite-expandable> </div> <h2 id="configure" data-text="Sign up for and configure the origin trial" tabindex="-1">Sign up for and configure the origin trial</h2> <p>To activate the origin trial on your site, you will need to register and embed the assigned origin trial token (a time-based string for your specific access to the origin trial). Learn more in the <a href="https://developer.chrome.com/docs/web-platform/origin-trials">Getting started with Chrome's origin trials</a>.</p> <aside class="note"><strong>Note:</strong><span> Register for the <a href="https://developer.chrome.com/origintrials/#/view_trial/771241436187197441">Privacy Sandbox Relevance and Measurement trial</a>.</span></aside> <p>Origin trial tokens are granted immediately, and you can revoke or recreate them at any time.</p> <p>For every page where you want to use the origin trial, you will need to include a trial token with that specific page's HTML or response.</p> <p>Use a <code translate="no" dir="ltr"><meta></code> tag in the page's <code translate="no" dir="ltr"><head></code> section:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="HTML"><code translate="no" dir="ltr"><meta http-equiv="origin-trial" content="TOKEN_GOES_HERE"> </code></pre></devsite-code> <p>Alternatively, include the following HTTP header in the page response:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash Session"><code translate="no" dir="ltr"><span class="devsite-syntax-go">Origin-Trial: TOKEN_GOES_HERE</span> </code></pre></devsite-code> <h3 id="configure_with_an_iframe" data-text="Configure with an iframe" tabindex="-1">Configure with an iframe</h3> <p>If you're using origin trial features within an iframe (such as Protected Audience API's <code translate="no" dir="ltr">joinAdInterestGroup()</code>), then the token needs to be provided within the iframe and match the iframe's origin.</p> <h3 id="configure_cross-site_with_javascript" data-text="Configure cross-site with JavaScript" tabindex="-1">Configure cross-site with JavaScript</h3> <p>If you are using origin trial features via cross-site JavaScript, as in you are the provider of third-party JavaScript that is included in the top-level page, then you will need to:</p> <ul> <li>Select the <strong>Third-party matching</strong> option when registering for the origin trial.</li> <li>The <strong>Web Origin field</strong> should be the origin of your script.</li> <li>Inject the <code translate="no" dir="ltr"><meta></code> tag into the top-level page (that is, the first-party page, not your own content) from your script. For example:</li> </ul> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><code translate="no" dir="ltr"><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">otMeta</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">document</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">createElement</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'meta'</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-nx">otMeta</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">setAttribute</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'http-equiv'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'origin-trial'</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-nx">otMeta</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">setAttribute</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'content'</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'TOKEN_GOES_HERE'</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-nb">document</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">querySelector</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'head'</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-nx">appendChild</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">otMeta</span><span class="devsite-syntax-p">);</span> </code></pre></devsite-code> <h2 id="debug" data-text="Debug the origin trial" tabindex="-1">Debug the origin trial</h2> <p>You can check the status for an origin trial in <strong>DevTools</strong> > <strong>Applications</strong> panel.</p> <figure class="attempt-right"> <img src="/privacy-sandbox/assets/images/token-success-status.avif" alt="Token Success status and enabled."> <figcaption>Token Success status and enabled.</figcaption> </figure> <ol> <li>Scroll down to the <strong>Frames</strong> pane.</li> <li>Select the frame where you expect to set the token. For example, the <strong>top</strong> frame for the top-level page or the specific <strong>iframe</strong> for embedded pages.</li> <li>In the right-hand pane scroll down to the <strong>Origin Trials</strong> section.</li> <li>You should see an entry for the <code translate="no" dir="ltr">PrivacySandboxAdsAPIs</code> trial.</li> <li>Expand this entry to see the status for the origin trial and your specific tokens.</li> </ol> <p>The origin trial is limited to a fraction of Chrome users and your browser may not be in the experiment group. As a result, you may see a red <code translate="no" dir="ltr">TrialNotAllowed</code> message against <code translate="no" dir="ltr">PrivacySandboxAdsAPIs</code>. When you expand the entry to check Token Status, if it shows a green <code translate="no" dir="ltr">Success</code> message, your origin trial configuration is correct. Eligible users will see the message set to <code translate="no" dir="ltr">Enabled</code>.</p> <figure class="attempt-right"> <img src="/privacy-sandbox/assets/images/token-success-status-not-enabled.avif" alt="Token Success status and not enabled."> <figcaption>Token Success status and not enabled.</figcaption> </figure> <p>If you see different messages, refer to <a href="https://developer.chrome.com/docs/web-platform/origin-trial-troubleshooting/#devtools-status">Troubleshooting Chrome's origin trials</a> for a detailed checklist to validate your configuration of the origin trial.</p> <h2 id="feature-detection" data-text="Detect features" tabindex="-1">Detect features</h2> <p>As with all web features, you should check they are reporting as available in the browser before attempting to use them. You can do this by checking for the existence of the relevant API in the right location:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><code translate="no" dir="ltr"><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nb">document</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">featurePolicy</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">allowsFeature</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'attribution-reporting'</span><span class="devsite-syntax-p">))</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Attribution Reporting enabled</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'runAdAuction'</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">navigator</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Protected Audience API enabled</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'browsingTopics'</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">document</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Topics enabled</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'HTMLFencedFrameElement'</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">window</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Fenced Frames enabled</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'sharedStorage'</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">window</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Shared Storage enabled</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nb">window</span><span class="devsite-syntax-o">?</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">sharedStorage</span><span class="devsite-syntax-o">?</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">selectURL</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">instanceof</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nb">Function</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// optionally check specifically for the selectURL function in Shared Storage</span> <span class="devsite-syntax-p">}</span> </code></pre></devsite-code> <h2 id="eligible-users" data-text="Determine user eligibility" tabindex="-1">Determine user eligibility</h2> <p>The origin trial is running for a fraction of Chrome users. They must also have the relevant functionality enabled in their settings to be eligible for the trial:</p> <h3 id="browser_settings" data-text="Browser settings" tabindex="-1">Browser settings</h3> <p>For a user to be eligible for the trial, they must:</p> <ul> <li><p>Be using a <strong>version and channel of Chrome</strong> where the origin trial is running.</p> <ul> <li>See <a href="#status">Origin Trial Status</a> for current configurations.</li> </ul></li> <li><p>Be within the <strong>active experiment group in Chrome</strong>.</p></li> </ul> <h3 id="user_settings" data-text="User settings" tabindex="-1">User settings</h3> <p>For a user to be eligible for the trial, they must also:</p> <ul> <li>have the <strong>Privacy Sandbox trial enabled</strong> via Settings > Security and privacy > Privacy Sandbox, also accessible via <code translate="no" dir="ltr">chrome://settings/adPrivacy</code>.</li> <li>have <strong>third-party cookies enabled</strong> via Settings > Security and privacy > Cookies and other site data set to either "Allow all cookies" or "Block third-party cookies in incognito", also accessible via <code translate="no" dir="ltr">chrome://settings/cookies</code>.</li> <li>be in a standard browsing session and <strong>not Incognito mode</strong>.</li> </ul> <p>While the origin trial will only show as active to eligible users, you can also use the <a href="#test-locally">developer flags</a> to test against your own production site.</p> <h2 id="control-participation" data-text="Control your participation in the origin trial" tabindex="-1">Control your participation in the origin trial</h2> <p>The mechanics of the origin trial remain the same: you obtain origin trial tokens for the contexts where you want to experiment with the APIs. With the expanded testing population, you should ensure that you are actively monitoring and controlling the level of traffic where you choose to enable the trial.</p> <aside class="note"><strong>Note:</strong><span> 5% of Chrome Stable traffic won't directly correspond to 5% of your own traffic. The actual proportion of traffic your sites and services receive will depend on the make-up of your visitors.</span></aside> <p>A good approach here is to:</p> <ol> <li>Include the origin trial tokens by default in all contexts where you wish to experiment.</li> <li>Use feature detection to check for active APIs.</li> <li>If the APIs are active (and therefore, the browser is eligible for this experiment), choose whether or not to use them based on your own experiment criteria. For example, if you already have A/B testing infrastructure to experiment on a percentage of traffic, sampling, or some other attribute, then at this point you can decide which features you will actively use.</li> </ol> <p>You can prevent participation in the origin trial entirely for any browser instance by not including the token in the response. For example, if you have met your own quota for an experiment or need to address an issue during the trial, then not including the token ensures no experimental functionality will be available or active in the page.</p> <h3 id="origin_trial_control_by_geographic_region" data-text="Origin trial control by geographic region" tabindex="-1">Origin trial control by geographic region</h3> <p>You cannot opt-out of an origin trial for specific regions. Origin trials are active on pages that <a href="https://developer.chrome.com/docs/web-platform/origin-trials/#take-part-in-an-origin-trial">contain the token</a>, included via HTTP headers (server-side) or HTML meta tags (client-side). </p> <p>If you can determine the user's location, then you <em>could</em> write code to include the origin trial token based on that location information. For example, you could attempt to use IP addresses to determine a user's location. IP addresses can be spoofed, so this is not a guaranteed solution.</p> <p>However, a geographic-specific origin can set a <a href="https://developer.chrome.com/articles/permissions-policy/">Permissions Policy</a> to control what features are usable. For example, <code translate="no" dir="ltr">us.example.com</code> and <code translate="no" dir="ltr">uk.example.com</code> are geographic-specific origins which can be controlled. This does not mean that a region has opted-out of the origin trial.</p> <p>With a Permissions Policy, a site adds a little snippet of code to their pages that provides instructions to the browser. When the page loads, the browser reads the Permission Policy instructions and will allow or block features (or APIs) as outlined in the Permissions Policy. If a site wants to restrict an API in a specific region, the developer could set a policy for all pages requested from that region.</p> <aside class="warning"><strong>Warning:</strong><span> Users may choose to visit an origin from a region that's different from where they are. In other words, a user in the United States may be able to visit <code translate="no" dir="ltr">uk.example.com</code>. Those users would see features and functions for the United States site that were blocked for the United Kingdom site.</span></aside> <h2 id="renew_your_token" data-text="Renew your token" tabindex="-1">Renew your token</h2> <p>Origin trial tokens expire six weeks from their issue date (or at the end of the trial if that's sooner).</p> <p>It's critical that you <a href="https://developer.chrome.com/docs/web-platform/origin-trials/#renew">renew and deploy your new tokens</a> within that window for uninterrupted use of the origin trial features.</p> <p>Renewing tokens only takes a few minutes, and you can deploy multiple tokens for the same trial within the same page. You can deploy a renewed token before your existing token expires, so there's no break in service for users.</p> <aside class="caution"><strong>Caution:</strong><span> Renewing a token at the end of October only takes you through to early December. If you have a code freeze over the end of the year, you will either want to ensure that you can still deploy an updated token or plan to pause participation in the origin trial over that period.</span></aside> <h2 id="test-locally" data-text="Test locally" tabindex="-1">Test locally</h2> <p>For specific guidance on local developer testing, see:</p> <ul> <li><a href="/privacy-sandbox/relevance/topics/topics-experiment">Topics</a></li> <li><a href="/privacy-sandbox/relevance/protected-audience-api/protected-audience-experiment">Protected Audience API</a></li> <li><a href="/privacy-sandbox/relevance/attribution-reporting/attribution-reporting-experiment">Attribution Reporting</a></li> </ul> <p>The APIs are not on by default and must be <a href="https://www.chromium.org/developers/how-tos/run-chromium-with-flags/">enabled with flags</a> for testing. You should ensure that you have the same configuration settings enabled above and then:</p> <ul> <li>Use a <strong>version and channel of Chrome</strong> where the features are available.</li> <li>Enable all the Ad privacy APIs under <code translate="no" dir="ltr">chrome://settings/adPrivacy</code>.</li> </ul> <p>Check the developer guides for availability of specific APIs and features and additional flags for more fine-grained configuration.</p> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Privacy Sandbox" product-id="5335444" bucket="" context="" version="t-devsite-webserver-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 2024-08-29 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 2024-08-29 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": {"dimension4": "Privacy Sandbox", "dimension11": false, "dimension3": false, "dimension1": "Signed out", "dimension6": "en", "dimension5": "en"}, "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="x8fIcTOFhG7+MlQzMXavBQxJzORAeX"> (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,["MiscFeatureFlags__enable_firebase_utm","DevPro__enable_cloud_innovators_plus","MiscFeatureFlags__enable_explain_this_code","Significatio__enable_by_tenant","Search__enable_page_map","Profiles__require_profile_eligibility_for_signin","Profiles__enable_dashboard_curated_recommendations","Search__enable_ai_eligibility_checks","Cloud__enable_cloud_shell","Cloud__enable_cloud_dlp_service","MiscFeatureFlags__emergency_css","Search__enable_ai_search_summaries_restricted","Cloud__enable_cloud_facet_chat","Search__enable_dynamic_content_confidential_banner","MiscFeatureFlags__developers_footer_image","Analytics__enable_clearcut_logging","Concierge__enable_pushui","Concierge__enable_concierge_restricted","TpcFeatures__enable_mirror_tenant_redirects","Profiles__enable_public_developer_profiles","Profiles__enable_developer_profiles_callout","Cloud__enable_llm_concierge_chat","Experiments__reqs_query_experiments","EngEduTelemetry__enable_engedu_telemetry","Profiles__enable_release_notes_notifications","Cloud__enable_legacy_calculator_redirect","Search__enable_ai_search_summaries","Cloud__enable_cloud_shell_fte_user_flow","CloudShell__cloud_code_overflow_menu","Search__enable_suggestions_from_borg","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloudx_experiment_ids","DevPro__enable_developer_subscriptions","MiscFeatureFlags__enable_variable_operator","MiscFeatureFlags__developers_footer_dark_image","MiscFeatureFlags__enable_view_transitions","CloudShell__cloud_shell_button","Profiles__enable_profile_collections","BookNav__enable_tenant_cache_key","Profiles__enable_complete_playlist_endpoint","Profiles__enable_page_saving","Cloud__enable_free_trial_server_call","TpcFeatures__enable_required_headers","MiscFeatureFlags__enable_project_variables","Profiles__enable_awarding_url","Profiles__enable_recognition_badges","Concierge__enable_concierge","Cloud__enable_cloudx_ping"],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],[[1,1],[15,12],[12,9],[6,5],[16,13],[3,2],[13,10],[4,3],[14,11],[11,8],[5,4]],[[1,1],[2,2]]],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>