CINXE.COM
Measurement Protocol | Google Analytics | 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/analytics/devguides/collection/protocol/ga4"><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/analytics/devguides/collection/protocol/ga4" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=ru" /><link rel="alternate" hreflang="es" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=es" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/analytics/devguides/collection/protocol/ga4?hl=vi" /><title>Measurement Protocol | Google Analytics | Google for Developers</title> <meta property="og:title" content="Measurement Protocol | Google Analytics | Google for Developers"><meta property="og:url" content="https://developers.google.com/analytics/devguides/collection/protocol/ga4"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/opengraph/white.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><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": "Measurement Protocol" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google Analytics", "item": "https://developers.google.com/analytics" },{ "@type": "ListItem", "position": 2, "name": "Measurement Protocol", "item": "https://developers.google.com/analytics/devguides/collection/protocol/ga4" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="white" type="article" layout="docs" 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/analytics"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Analytics" src="//www.gstatic.com/analytics-suite/header/suite/v2/ic_analytics.svg" srcset=" //www.gstatic.com/analytics-suite/header/suite/v2/ic_analytics.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/analytics" 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="Google Analytics" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Analytics </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Google Analytics" tenant-name="Google for Developers" project-scope="/analytics" url-scoped="https://developers.google.com/s/results/analytics" > <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> <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 "> <div class="devsite-header-background"> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://developers.google.com/analytics" track-metadata-eventdetail="https://developers.google.com/analytics" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - home" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" > Home </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/analytics/devguides/collection/ga4" track-metadata-eventdetail="https://developers.google.com/analytics/devguides/collection/ga4" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://developers.google.com/analytics/policy" track-metadata-eventdetail="https://developers.google.com/analytics/policy" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> <tab > <a href="https://developers.google.com/analytics/devguides/config/admin/v1/client-libraries" track-metadata-eventdetail="https://developers.google.com/analytics/devguides/config/admin/v1/client-libraries" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - resources" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" > Resources </a> </tab> <tab > <a href="https://developers.google.com/analytics/support" track-metadata-eventdetail="https://developers.google.com/analytics/support" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" > Support </a> </tab> </nav> </devsite-tabs> </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/analytics"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Analytics" src="//www.gstatic.com/analytics-suite/header/suite/v2/ic_analytics.svg" srcset=" //www.gstatic.com/analytics-suite/header/suite/v2/ic_analytics.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/analytics" 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="Google Analytics" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Analytics </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="/analytics" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" 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> <li class="devsite-nav-item"> <a href="/analytics/devguides/collection/ga4" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/analytics/policy" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/analytics/devguides/config/admin/v1/client-libraries" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Resources" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Resources </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/analytics/support" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Support </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Get started</span> </div></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4" ><span class="devsite-nav-text" tooltip>Introduction to Google Analytics</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>Set up measurement</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 measurement</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/tag-options" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/tag-options" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/tag-options" ><span class="devsite-nav-text" tooltip>Tagging for Google Analytics</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/events" ><span class="devsite-nav-text" tooltip>Set up events</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/event-parameters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/event-parameters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/event-parameters" ><span class="devsite-nav-text" tooltip>Add parameters</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/user-id" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/user-id" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/user-id" ><span class="devsite-nav-text" tooltip>Send user IDs</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/exceptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/exceptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/exceptions" ><span class="devsite-nav-text" tooltip>Measure exceptions</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/views" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/views" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/views" ><span class="devsite-nav-text" tooltip>Measure pageviews</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/single-page-applications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/single-page-applications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/single-page-applications" ><span class="devsite-nav-text" tooltip>Measure single page applications</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>Ecommerce measurement</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/set-up-ecommerce" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/set-up-ecommerce" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/set-up-ecommerce" ><span class="devsite-nav-text" tooltip>Set up purchase events</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/ecommerce" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/ecommerce" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/ecommerce" ><span class="devsite-nav-text" tooltip>Set up ecommerce events</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/apply-discount" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/apply-discount" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/apply-discount" ><span class="devsite-nav-text" tooltip>Apply a discount</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/item-scoped-ecommerce" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/item-scoped-ecommerce" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/item-scoped-ecommerce" ><span class="devsite-nav-text" tooltip>Create item-scoped custom parameters</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/validate-ecommerce" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/validate-ecommerce" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/validate-ecommerce" ><span class="devsite-nav-text" tooltip>Validate ecommerce setup (gtag.js)</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/app" ><span class="devsite-nav-text" tooltip>App measurement</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>Measurement Protocol</span> </div></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/protocol/ga4" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/protocol/ga4" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/protocol/ga4" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/protocol/ga4/sending-events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/protocol/ga4/sending-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/protocol/ga4/sending-events" ><span class="devsite-nav-text" tooltip>Send events to Google Analytics</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/protocol/ga4/user-properties" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/protocol/ga4/user-properties" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/protocol/ga4/user-properties" ><span class="devsite-nav-text" tooltip>Send user properties</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/ga4/uid-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/ga4/uid-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/ga4/uid-data" ><span class="devsite-nav-text" tooltip>Send user-provided data</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/protocol/ga4/validating-events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/protocol/ga4/validating-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/protocol/ga4/validating-events" ><span class="devsite-nav-text" tooltip>Validate events</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/protocol/ga4/verify-implementation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/protocol/ga4/verify-implementation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/protocol/ga4/verify-implementation" ><span class="devsite-nav-text" tooltip>Verify Implementation</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/protocol/ga4/use-cases" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/protocol/ga4/use-cases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/protocol/ga4/use-cases" ><span class="devsite-nav-text" tooltip>Implement common use cases</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/collection/protocol/ga4/troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/collection/protocol/ga4/troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/collection/protocol/ga4/troubleshooting" ><span class="devsite-nav-text" tooltip>Troubleshooting</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>Configure analytics</span> </div></li> <li class="devsite-nav-item"><a href="/analytics/devguides/config/admin/v1" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/config/admin/v1" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/config/admin/v1" ><span class="devsite-nav-text" tooltip>Admin API overview</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/config/admin/v1/quickstart-client-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/config/admin/v1/quickstart-client-libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/config/admin/v1/quickstart-client-libraries" ><span class="devsite-nav-text" tooltip>Client library quickstart</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/config/admin/v1/quickstart-cli" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/config/admin/v1/quickstart-cli" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/config/admin/v1/quickstart-cli" ><span class="devsite-nav-text" tooltip>Command line quickstart</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/config/admin/v1/access-api" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/config/admin/v1/access-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/config/admin/v1/access-api" ><span class="devsite-nav-text" tooltip>Data Access reports</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>Manage reporting</span> </div></li> <li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1" ><span class="devsite-nav-text" tooltip>Data API overview</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/quickstart-client-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/quickstart-client-libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/quickstart-client-libraries" ><span class="devsite-nav-text" tooltip>Client library quickstart</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/quickstart-cli" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/quickstart-cli" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/quickstart-cli" ><span class="devsite-nav-text" tooltip>Command line quickstart</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>Generate reports</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/basics" ><span class="devsite-nav-text" tooltip>Basic reports</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/report-tasks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/report-tasks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/report-tasks" ><span class="devsite-nav-text" tooltip>Async report tasks</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/pivots" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/pivots" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/pivots" ><span class="devsite-nav-text" tooltip>Pivot tables</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/realtime-basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/realtime-basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/realtime-basics" ><span class="devsite-nav-text" tooltip>Realtime reports</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/funnels" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/funnels" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/funnels" ><span class="devsite-nav-text" tooltip>Funnel reports</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/predefined-reports" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/predefined-reports" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/predefined-reports" ><span class="devsite-nav-text" tooltip>Predefined reports</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>Export audiences</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/audience-export-basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/audience-export-basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/audience-export-basics" ><span class="devsite-nav-text" tooltip>Create an audience export</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/audience-export-expectations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/audience-export-expectations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/audience-export-expectations" ><span class="devsite-nav-text" tooltip>Audience export data expectations</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/recurring-audience-lists" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/recurring-audience-lists" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/recurring-audience-lists" ><span class="devsite-nav-text" tooltip>Recurring audience lists</span></a></li><li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/audience-lists-webhooks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/audience-lists-webhooks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/audience-lists-webhooks" ><span class="devsite-nav-text" tooltip>Get webhook notifications for audience list requests</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/analytics/blog/2023/data-api-quota-management" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/blog/2023/data-api-quota-management" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/blog/2023/data-api-quota-management" ><span class="devsite-nav-text" tooltip>Manage quota usage</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/reporting/data/v1/advanced" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/reporting/data/v1/advanced" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/reporting/data/v1/advanced" ><span class="devsite-nav-text" tooltip>Advanced use</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>Export data to BigQuery</span> </div></li> <li class="devsite-nav-item"><a href="/analytics/bigquery/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/bigquery/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/bigquery/overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/analytics/bigquery/get-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/bigquery/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/bigquery/get-started" ><span class="devsite-nav-text" tooltip>Get started</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>Query cookbook</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/analytics/bigquery/basic-queries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/bigquery/basic-queries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/bigquery/basic-queries" ><span class="devsite-nav-text" tooltip>Basic event queries</span></a></li><li class="devsite-nav-item"><a href="/analytics/bigquery/advanced-queries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/bigquery/advanced-queries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/bigquery/advanced-queries" ><span class="devsite-nav-text" tooltip>Advanced event queries</span></a></li><li class="devsite-nav-item"><a href="/analytics/bigquery/user-data-queries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/bigquery/user-data-queries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/bigquery/user-data-queries" ><span class="devsite-nav-text" tooltip>User-data queries</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/analytics/bigquery/solution-guides" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/bigquery/solution-guides" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/bigquery/solution-guides" ><span class="devsite-nav-text" tooltip>Business solutions</span></a></li> <li class="devsite-nav-item"><a href="/analytics/blog/2023/bigquery-vs-ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/blog/2023/bigquery-vs-ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/blog/2023/bigquery-vs-ui" ><span class="devsite-nav-text" tooltip>Comparison to Analytics UI</span></a></li> <li class="devsite-nav-item"><a href="/analytics/blog/2022/hll" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/blog/2022/hll" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/blog/2022/hll" ><span class="devsite-nav-text" tooltip>Unique count approximation with HLL++</span></a></li> <li class="devsite-nav-item"><a href="/analytics/bigquery/query-analytics-reports" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/bigquery/query-analytics-reports" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/bigquery/query-analytics-reports" ><span class="devsite-nav-text" tooltip>Access Google Analytics custom reports from BigQuery</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>Delete user data</span> </div></li> <li class="devsite-nav-item"><a href="/analytics/devguides/config/userdeletion/v3" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/config/userdeletion/v3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/config/userdeletion/v3" ><span class="devsite-nav-text" tooltip>User Deletion API overview</span></a></li> <li class="devsite-nav-item"><a href="/analytics/devguides/config/userdeletion/v3/authorization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /analytics/devguides/config/userdeletion/v3/authorization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/analytics/devguides/config/userdeletion/v3/authorization" ><span class="devsite-nav-text" tooltip>Authorization</span></a></li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-sidebar > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars ></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" 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/products" 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="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/analytics" 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="Google Analytics" > Google Analytics </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/analytics/devguides/collection/ga4" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Guides </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Google Analytics" product-id="69256" bucket="google-analytics-4" 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="//www.gstatic.com/analytics-suite/header/suite/v2/ic_analytics.svg" project-support-url="https://developers.google.com/analytics/help" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Measurement Protocol </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <devsite-recommendations-dropdown class="nocontent"></devsite-recommendations-dropdown> <div class="devsite-article-body clearfix "> <p>The Google Analytics Measurement Protocol enhances measurement for web and app streams by <a href="/analytics/devguides/collection/protocol/ga4/sending-events">sending events</a> directly to Google Analytics servers in HTTP requests. You can record server-to-server and offline interactions, and send them as Measurement Protocol events to Google Analytics, where they can be viewed in <a href="/analytics/devguides/reporting/data/v1/basics">reports</a>.</p> <aside class="key-point"><strong>Key Point:</strong><span> The intent of the Measurement Protocol is to augment automatic collection through gtag, Tag Manager, and Google Analytics for Firebase, not to replace it.</span></aside> <p>You must use tagging (gTag, Tag Manager, or Google Analytics for Firebase) to use this protocol. See <a href="#key_features">key features</a> for important information on how this Measurement Protocol works with Google Analytics.</p> <h2 id="use_cases" data-text="Use cases" tabindex="-1">Use cases</h2> <p>Here are some ways to use the Measurement Protocol:</p> <ul> <li>Tie online to offline behavior.</li> <li>Measure client-side and server-side interactions.</li> <li>Send events that happen outside standard user-interaction, like offline conversions.</li> <li>Send events from devices and apps where automatic collection isn't available, like kiosks and watches.</li> </ul> <p>Read more about how to implement common use cases in the <a href="/analytics/devguides/collection/protocol/ga4/use-cases">use cases guide</a>.</p> <h2 id="get_started" data-text="Get started" tabindex="-1">Get started</h2> <p>See <a href="/analytics/devguides/collection/protocol/ga4/sending-events">send events</a> to learn how to send events to Google Analytics using the Measurement Protocol.</p> <p>If you're implementing the Measurement Protocol for an app stream, you can start with the <a href="//firebase.google.com/codelabs/firebase_mp">Send app events to Google Analytics using Measurement Protocol</a> codelab.</p> <h2 id="architecture" data-text="Architecture" tabindex="-1">Architecture</h2> <p>Here is an overview of the Measurement Protocol.</p> <p><img src="/static/analytics/devguides/collection/protocol/ga4/img/mp_sequence_diagram.png" alt="sequence diagram of measurement protocol"></p> <h2 id="key_features" data-text="Key features" tabindex="-1">Key features</h2> <p>This section explains important information for using the Measurement Protocol. You must use gTag, Tag Manager, or Google Analytics for Firebase for tagging to use most of the Measurement Protocol features with Google Analytics.</p> <h3 id="remarketing" data-text="Remarketing" tabindex="-1">Remarketing</h3> <p>Same device remarketing is supported when <a href="//support.google.com/analytics/answer/9445345">Google signals</a> is turned on. For cross-device remarketing, a User ID is required.</p> <h3 id="advertising_identifiers" data-text="Advertising identifiers" tabindex="-1">Advertising identifiers</h3> <p>Advertising identifiers such as GBRAID/WBRAID collected during online interactions are automatically joined with Measurement Protocol events using <code translate="no" dir="ltr">client_id</code> or <code translate="no" dir="ltr">app_instance_id</code>.</p> <h3 id="privacy_settings" data-text="Privacy settings" tabindex="-1">Privacy settings</h3> <p>Measurement Protocol events are joined with online interactions using <code translate="no" dir="ltr">client_id</code> or <code translate="no" dir="ltr">app_instance_id</code> to functionally adopt user privacy settings such as "non personalized ads" and "limit ad tracking".</p> <h3 id="geographic_and_device_information" data-text="Geographic and device information" tabindex="-1">Geographic and device information</h3> <p>Google Analytics automatically joins the most recent geographic and device information from tagging with Measurement Protocol events using <code translate="no" dir="ltr">client_id</code> or <code translate="no" dir="ltr">app_instance_id</code>. This ensures that your Measurement Protocol events are reflected in reports that include geographic and device dimensions.</p> <p>If you want a Measurement Protocol event to reflect geographic and device information from a <em>specific</em> session instead of the latest information for the <code translate="no" dir="ltr">client_id</code> or <code translate="no" dir="ltr">app_instance_id</code>, then include <code translate="no" dir="ltr">session_id</code> in the event and send it to Measurement Protocol within 24 hours of the start of the session.</p> <p>You can't send geographic or device information using the Measurement Protocol.</p> <h3 id="full_server-to-server" data-text="Full server-to-server" tabindex="-1">Full server-to-server</h3> <p>While it's possible to send events to Google Analytics solely with the Measurement Protocol, only partial reporting may be available. The purpose of the Measurement Protocol is to augment existing events collected using gtag, GTM, or Firebase. Some event and parameter names are <a href="/analytics/devguides/collection/protocol/ga4/reference?#reserved_names">reserved</a> for use through automatic collection and cannot be sent through the Measurement Protocol.</p> <h3 id="generate_or_rename_events" data-text="Generate or rename events" tabindex="-1">Generate or rename events</h3> <p>Rules for <a href="//support.google.com/analytics/answer/10085872">generating or renaming events</a> aren't triggered by events sent with the Measurement Protocol. Your application should implement the logic to send custom events through the Measurement Protocol, similar to the rules configured in the Google Analytics UI.</p> <h2 id="next_steps" data-text="Next steps" tabindex="-1">Next steps</h2> <ul> <li>Learn how to <a href="/analytics/devguides/collection/protocol/ga4/sending-events">send events</a> using the Measurement Protocol.</li> <li>Validate your event payloads using the <a href="/analytics/devguides/collection/protocol/ga4/validating-events">Measurement Protocol Validation Server</a>.</li> <li>Check out the <a href="/analytics/devguides/collection/protocol/ga4/reference">protocol</a> and <a href="/analytics/devguides/collection/protocol/ga4/reference/events">event</a> reference.</li> </ul> <aside class="note"><strong>Note:</strong><span> All applications that use the Measurement Protocol must follow the <a href="/analytics/devguides/collection/protocol/ga4/policy">protocol policy</a></span></aside> <devsite-hats-survey class="nocontent" hats-id="ztcHWp5qQ0qMonZgEeK0U4NXTjSy" listnr-id="69256"></devsite-hats-survey> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Google Analytics" product-id="69256" bucket="google-analytics-4" 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="//www.gstatic.com/analytics-suite/header/suite/v2/ic_analytics.svg" project-support-url="https://developers.google.com/analytics/help" > <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-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="Google Analytics" product-id="69256" bucket="google-analytics-4" 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="//www.gstatic.com/analytics-suite/header/suite/v2/ic_analytics.svg" project-support-url="https://developers.google.com/analytics/help" > <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-10-11 UTC."],[[["The Google Analytics Measurement Protocol allows you to send data directly to Google Analytics servers, enabling measurement of server-to-server, offline, and other interactions not captured by standard tagging methods."],["It's primarily designed to supplement, not replace, data collection through gtag.js, Google Tag Manager, and Google Analytics for Firebase."],["You can leverage the Measurement Protocol for use cases such as tying online and offline behavior, measuring interactions across various touchpoints, and capturing data from devices where automatic collection isn't feasible."],["To fully utilize the features of the Measurement Protocol and access comprehensive reporting, it's essential to implement tagging using gtag.js, Google Tag Manager, or Google Analytics for Firebase."],["The protocol respects user privacy settings and automatically joins data with online interactions to apply preferences for personalized ads and ad tracking limitations."]]],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> <nav class="devsite-footer-promos nocontent" aria-label="Promotions"> <ul class="devsite-footer-promos-list"> <li class="devsite-footer-promo"> <a href="https://goo.gle/ga-newsletter" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 1)" > <picture> <img class="devsite-footer-promo-icon" src="https://www.gstatic.com/images/branding/product/1x/email_64dp.png" loading="lazy" alt="Newsletter"> </picture> <span class="devsite-footer-promo-label"> Newsletter </span> </a> <div class="devsite-footer-promo-description">Sign up for Google Analytics developer newsletter</div> </li> <li class="devsite-footer-promo"> <a href="https://goo.gle/ga-discord" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 2)" > <picture> <img class="devsite-footer-promo-icon" src="/static/analytics/images/logo-discord.svg" loading="lazy" alt="Discord"> </picture> <span class="devsite-footer-promo-label"> Discord </span> </a> <div class="devsite-footer-promo-description">Join Google Analytics Discord server</div> </li> <li class="devsite-footer-promo"> <a href="https://blog.google/products/marketingplatform/analytics" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 3)" > <picture> <img class="devsite-footer-promo-icon" src="/static/analytics/images/logo-blog.svg" loading="lazy" alt="Blog"> </picture> <span class="devsite-footer-promo-label"> Blog </span> </a> <div class="devsite-footer-promo-description">Read the Google Analytics blog</div> </li> <li class="devsite-footer-promo"> <a href="https://github.com/googleanalytics/" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 4)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-github.svg" loading="lazy" alt="GitHub"> </picture> <span class="devsite-footer-promo-label"> GitHub </span> </a> <div class="devsite-footer-promo-description">Try Google Analytics code samples</div> </li> <li class="devsite-footer-promo"> <a href="http://stackoverflow.com/questions/tagged/google-analytics" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 5)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-stack-overflow.svg" loading="lazy" alt="Stack Overflow"> </picture> <span class="devsite-footer-promo-label"> Stack Overflow </span> </a> <div class="devsite-footer-promo-description">Ask questions using the google-analytics tag</div> </li> <li class="devsite-footer-promo"> <a href="https://www.youtube.com/user/googleanalytics" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 6)" > <picture> <img class="devsite-footer-promo-icon" src="https://www.gstatic.com/images/icons/material/product/2x/youtube_64dp.png" loading="lazy" alt="Videos"> </picture> <span class="devsite-footer-promo-label"> Videos </span> </a> <div class="devsite-footer-promo-description">Watch Google Analytics videos on YouTube</div> </li> </ul> </nav> </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">Resources</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://support.google.com/analytics" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Help center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://developers.google.com/analytics" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Developer site </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://support.google.com/analytics/answer/9164320" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Release notes </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/analytics/help" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Get help </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://issuetracker.google.com/issues?q=componentid:187400" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Report an issue </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Join a community</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/analytics/community" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Developer community & updates </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://support.google.com/analytics/community" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Analytics community forum </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Product information</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://enterprisemarketingportal.google/auth/find-a-partner?certificationsFilters=Analytics" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Partner portal </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://marketingplatform.google.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Marketing Platform </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.google.com/analytics/terms/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Terms of Service </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/analytics/policy" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Protocol / SDK Policy </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/analytics/terms/branding-policy" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Branding Policy </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> </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": {"dimension6": "en", "dimension11": false, "dimension5": "en", "dimension1": "Signed out", "dimension4": "Google Analytics", "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}, {"id": "G-M12NNFS0D8", "purpose": 0}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Google Analytics", "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="GUvFZxGfwFVCsAegbtzix0a9MftV8F"> (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,["Search__enable_ai_eligibility_checks","Search__enable_page_map","Cloud__enable_free_trial_server_call","CloudShell__cloud_code_overflow_menu","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__enable_project_variables","EngEduTelemetry__enable_engedu_telemetry","Concierge__enable_pushui","Significatio__enable_by_tenant","MiscFeatureFlags__developers_footer_dark_image","DevPro__enable_cloud_innovators_plus","Search__enable_suggestions_from_borg","Concierge__enable_concierge_restricted","TpcFeatures__enable_required_headers","Profiles__enable_completecodelab_endpoint","MiscFeatureFlags__enable_variable_operator","Analytics__enable_clearcut_logging","MiscFeatureFlags__developers_footer_image","Cloud__enable_cloud_shell","DevPro__enable_developer_subscriptions","Profiles__enable_awarding_url","Profiles__enable_profile_collections","Experiments__reqs_query_experiments","Profiles__enable_public_developer_profiles","Cloud__enable_cloud_facet_chat","Cloud__enable_llm_concierge_chat","Profiles__enable_recognition_badges","Search__enable_dynamic_content_confidential_banner","Profiles__enable_page_saving","Cloud__enable_cloud_shell_fte_user_flow","Cloud__enable_cloud_dlp_service","Profiles__enable_release_notes_notifications","Search__enable_ai_search_summaries","Cloud__enable_cloudx_experiment_ids","Profiles__require_profile_eligibility_for_signin","Profiles__enable_complete_playlist_endpoint","Cloud__enable_cloudx_ping","Search__enable_ai_search_summaries_restricted","BookNav__enable_tenant_cache_key","Profiles__enable_developer_profiles_callout","MiscFeatureFlags__enable_view_transitions","Concierge__enable_concierge","MiscFeatureFlags__emergency_css","Cloud__enable_legacy_calculator_redirect","CloudShell__cloud_shell_button","MiscFeatureFlags__enable_firebase_utm","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_dashboard_curated_recommendations"],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],[[11,8],[13,10],[1,1],[12,9],[15,12],[6,5],[16,13],[14,11],[5,4],[3,2],[4,3]],[[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>