CINXE.COM

Analytics-iOS | Segment Documentation

<!-- production --> <!-- source --> <html lang="en"> <head> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NWFH9R');</script> <!-- End Google Tag Manager --> <base href="/docs/connections/sources/catalog/libraries/mobile/ios/" /> <title> Analytics-iOS | Segment Documentation</title> <meta name="google-site-verification" content="I5QdtZs88X7r-YLPogE9bzdouqud3IPONxht2CBFIOQ" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="Segment" /> <meta property="og:title" content="Analytics-iOS- Segment Documentation" /> <meta property="og:image" content="https://images.ctfassets.net/h6ufgtwb6nv1/4ao0JgcuipXHfWlfDRCbwK/a794ae30b5768a69fb324b4ea4b31fbc/documentation_ogv2.png" /> <meta name="twitter:site" content="@segment" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="description" content=""> <meta property="og:description" content="" /><meta class="swiftype" name="section" data-type="enum" content="Connections" /> <meta class="swiftype" name="info" data-type="string" content="" /> <meta class="swiftype" name="description" data-type="enum" content="" /> <meta class="swiftype" name="title" data-type="string" content="Analytics-iOS" /> <meta class="swiftype" name="priority" data-type="integer" content="4" /><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"/> <link rel="apple-touch-icon" sizes="57x57" href="https://segment.com/_next/static/images/apple-icon-57x57-10393af61491fa24a5c6b35bf41591e4.png"/> <link rel="apple-touch-icon" sizes="60x60" href="https://segment.com/_next/static/images/apple-icon-60x60-8d091c0057084d1316fecf2da8e0b286.png" /> <link rel="apple-touch-icon" sizes="72x72" href="https://segment.com/_next/static/images/apple-icon-72x72-113c8249d92d07d6acf0e3aff7bbf051.png" /> <link rel="apple-touch-icon" sizes="76x76" href="https://segment.com/_next/static/images/apple-icon-76x76-2981e3e40fc23a679158f5303356c1f6.png" /> <link rel="apple-touch-icon" sizes="114x114" href="https://segment.com/_next/static/images/apple-icon-114x114-70292d70fcf8d23b3ce0011dc55d4dbd.png" /> <link rel="apple-touch-icon" sizes="120x120" href="https://segment.com/_next/static/images/apple-icon-120x120-0fffebf1d373ade10b22ac65b3fbea6d.png" /> <link rel="apple-touch-icon" sizes="144x144" href="https://segment.com/_next/static/images/apple-icon-144x144-741e771a56d717d9592548c772e72635.png" /> <link rel="apple-touch-icon" sizes="152x152" href="https://segment.com/_next/static/images/apple-icon-152x152-3b4034819056f00a47ed3e19b754b45d.png" /> <link rel="icon" type="image/png" sizes="192x192" href="https://segment.com/_next/static/images/android-icon-192x192-143dc4bdade264025b8b5989dbddaeb3.png" /> <link rel="icon" type="image/png" sizes="32x32" href="https://segment.com/_next/static/images/favicon-32x32-58e71271c081d9f71b1d8a6fe1350a8a.png" /> <link rel="icon" type="image/png" sizes="96x96" href="https://segment.com/_next/static/images/favicon-96x96-caacb8a36b7b385b8c0473d8cdade803.png" /> <link rel="icon" type="image/png" sizes="16x16" href="https://segment.com/_next/static/images/favicon-16x16-34494a07d899bde300ee54030b1a6e1a.png" /><link rel="canonical" href="https://segment.com/docs/connections/sources/catalog/libraries/mobile/ios/" /> <meta name="application-name" content="Segment"> <meta name="theme-color" content="#00386C"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="google-site-verification" content="A5941fqMk8946qbO2cu9KNJ6L-_JBHKLC9DikDbcoys" /> <!-- The file below brings in a the core theme file for autocomplete search --> <link rel="stylesheet" href="/docs/assets/auto-complete-theme.css"> <link rel="stylesheet" href="/docs/assets/main.css"> <link rel="stylesheet" href="/docs/assets/algolia.css"> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NWFH9R" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <a href="#analytics-ios" class="skiplink">Skip to main content</a> <div id="consent-manager"></div> <div class="docs"> <div class="stage"> <div class="docs__aside stage__aside"> <div class="docs__logotype"> <a id="home-btn" class="logo flex" href="/docs/"> <svg width="139" height="25" viewBox="0 0 139 25" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_103_2)"> <path d="M35.7823 15.1354V7.77083H36.8841C39.2879 7.77083 40.2896 9.12708 40.2896 11.3729V11.4896C40.2896 13.7937 39.1878 15.1354 36.8984 15.1354H35.7823ZM33.8792 16.6667H36.9556C40.5471 16.6667 42.2785 14.5083 42.2785 11.475V11.3438C42.2785 8.31042 40.5471 6.23958 36.9842 6.23958H33.8792V16.6667ZM47.2988 15.4417C45.9824 15.4417 45.2241 14.4646 45.2241 12.9042V12.7875C45.2241 11.2125 46.0111 10.2646 47.2988 10.2646C48.5866 10.2646 49.3593 11.2271 49.3593 12.8021V12.9042C49.3593 14.4646 48.5866 15.4417 47.2988 15.4417ZM47.2845 16.8125C49.4881 16.8125 51.1336 15.2667 51.1336 12.8896V12.7729C51.1336 10.4396 49.4881 8.87917 47.2988 8.87917C45.0953 8.87917 43.4498 10.4542 43.4498 12.8167V12.9333C43.4498 15.2521 45.081 16.8125 47.2845 16.8125ZM55.9751 16.8125C58.007 16.8125 59.3091 15.5729 59.4378 13.8229H57.8485C57.7484 14.9021 56.9614 15.4562 56.0456 15.4562C54.7721 15.4562 53.9708 14.5813 53.9708 12.9188V12.8021C53.9708 11.2271 54.8151 10.2937 56.0027 10.2937C56.9185 10.2937 57.5767 10.7167 57.7198 11.7375H59.3939C59.1936 9.6375 57.6339 8.87917 55.9741 8.87917C53.885 8.87917 52.1966 10.4104 52.1966 12.8312V12.9479C52.1966 15.3833 53.8278 16.8125 55.9741 16.8125H55.9751ZM63.432 16.8125C64.6483 16.8125 65.4353 16.2146 65.8083 15.4708V16.6667H67.5397V9.03958H65.8083V13.575C65.8083 14.7854 64.9917 15.3979 64.0616 15.3979C63.06 15.3979 62.5878 14.8729 62.5878 13.7208V9.03958H60.8565V13.925C60.8565 15.9521 61.9582 16.8125 63.432 16.8125ZM69.592 16.6667H71.3234V12.1021C71.3234 10.9354 72.1103 10.3521 72.9689 10.3521C73.8131 10.3521 74.2996 10.8333 74.2996 11.9562V16.6667H76.031V12.1021C76.031 10.9354 76.8179 10.3521 77.6765 10.3521C78.535 10.3521 79.0072 10.8333 79.0072 11.9562V16.6667H80.7386V11.8396C80.7386 9.73958 79.6225 8.87917 78.2488 8.87917C77.3188 8.87917 76.2885 9.30208 75.7162 10.25C75.3441 9.30208 74.5715 8.87917 73.5985 8.87917C72.4967 8.87917 71.6811 9.49167 71.3234 10.2063V9.03958H69.592V16.6667ZM86.0185 16.8125C87.9359 16.8125 89.2094 15.9375 89.4526 14.3333H87.7785C87.6497 15.0771 87.106 15.5 86.0615 15.5C84.7737 15.5 84.0582 14.6833 84.001 13.2396H89.4813V12.7292C89.4813 10.0021 87.8071 8.87917 85.947 8.87917C83.815 8.87917 82.2267 10.4542 82.2267 12.8167V12.9333C82.2267 15.3396 83.815 16.8125 86.0185 16.8125V16.8125ZM84.0296 12.0583C84.2013 10.8771 84.9024 10.1625 85.947 10.1625C87.0201 10.1625 87.6783 10.7458 87.7642 12.0583H84.0296V12.0583ZM91.0276 16.6667H92.759V12.175C92.759 10.9646 93.546 10.3521 94.519 10.3521C95.5492 10.3521 96.0071 10.8771 96.0071 12.0292V16.6667H97.7385V11.8687C97.7385 9.76875 96.6796 8.87917 95.1772 8.87917C93.9466 8.87917 93.1167 9.50625 92.759 10.25V9.03958H91.0276V16.6667ZM102.279 16.7979C102.809 16.7979 103.181 16.7104 103.453 16.6083V15.2083C103.21 15.3104 102.952 15.3542 102.609 15.3542C102.065 15.3542 101.75 15.0479 101.75 14.3771V10.3667H103.396V9.03958H101.75V7.3625H100.019V9.03958H99.0171V10.3667H100.019V14.5375C100.019 15.9812 100.791 16.7979 102.279 16.7979ZM107.045 16.8125C108.19 16.8125 108.848 16.3896 109.335 15.7333V16.6667H111.037V11.6646C111.037 9.57917 109.721 8.87917 108.047 8.87917C106.373 8.87917 104.985 9.62292 104.842 11.4021H106.516C106.602 10.6437 107.045 10.2063 107.947 10.2063C108.963 10.2063 109.306 10.7167 109.306 11.7375V12.1312H108.376C106.23 12.1312 104.541 12.7729 104.541 14.5521C104.541 16.1417 105.672 16.8125 107.045 16.8125V16.8125ZM107.46 15.5437C106.602 15.5437 106.258 15.1208 106.258 14.4792C106.258 13.5458 107.103 13.2396 108.419 13.2396H109.306V13.9979C109.306 14.975 108.519 15.5437 107.46 15.5437ZM115.568 16.7979C116.098 16.7979 116.47 16.7104 116.742 16.6083V15.2083C116.498 15.3104 116.241 15.3542 115.897 15.3542C115.354 15.3542 115.039 15.0479 115.039 14.3771V10.3667H116.684V9.03958H115.039V7.3625H113.307V9.03958H112.306V10.3667H113.307V14.5375C113.307 15.9812 114.08 16.7979 115.568 16.7979ZM118.346 16.6667H120.078V9.03958H118.346V16.6667ZM119.19 7.78542C119.763 7.78542 120.221 7.34792 120.221 6.77917C120.221 6.19583 119.763 5.75833 119.19 5.75833C118.618 5.75833 118.16 6.19583 118.16 6.77917C118.16 7.34792 118.618 7.78542 119.19 7.78542V7.78542ZM125.536 15.4417C124.22 15.4417 123.462 14.4646 123.462 12.9042V12.7875C123.462 11.2125 124.249 10.2646 125.536 10.2646C126.824 10.2646 127.597 11.2271 127.597 12.8021V12.9042C127.597 14.4646 126.824 15.4417 125.536 15.4417ZM125.522 16.8125C127.726 16.8125 129.371 15.2667 129.371 12.8896V12.7729C129.371 10.4396 127.726 8.87917 125.536 8.87917C123.333 8.87917 121.687 10.4542 121.687 12.8167V12.9333C121.687 15.2521 123.319 16.8125 125.522 16.8125ZM130.936 16.6667H132.667V12.175C132.667 10.9646 133.454 10.3521 134.427 10.3521C135.458 10.3521 135.915 10.8771 135.915 12.0292V16.6667H137.647V11.8687C137.647 9.76875 136.588 8.87917 135.086 8.87917C133.855 8.87917 133.025 9.50625 132.667 10.25V9.03958H130.936V16.6667V16.6667Z" fill="#101840"/> <path d="M22.1229 10.2326H10.5748C10.1362 10.2326 9.77078 9.86711 9.77078 9.42857V8.03987C9.77078 7.60133 10.1362 7.23588 10.5748 7.23588H22.196C22.6346 7.23588 23 7.60133 23 8.03987V9.42857C22.9269 9.86711 22.5615 10.2326 22.1229 10.2326Z" fill="#25C365"/> <path d="M13.3522 16.0797H1.80399C1.36545 16.0797 1 15.7143 1 15.2758V13.887C1 13.4485 1.36545 13.0831 1.80399 13.0831H13.4253C13.8638 13.0831 14.2292 13.4485 14.2292 13.887V15.2758C14.1561 15.7143 13.7907 16.0797 13.3522 16.0797Z" fill="#25C365"/> <path d="M5.38538 21.196C6.1927 21.196 6.84717 20.5415 6.84717 19.7342C6.84717 18.9269 6.1927 18.2724 5.38538 18.2724C4.57805 18.2724 3.92358 18.9269 3.92358 19.7342C3.92358 20.5415 4.57805 21.196 5.38538 21.196Z" fill="#25C365"/> <path d="M18.5415 5.11628C19.3489 5.11628 20.0033 4.46181 20.0033 3.65449C20.0033 2.84716 19.3489 2.19269 18.5415 2.19269C17.7342 2.19269 17.0797 2.84716 17.0797 3.65449C17.0797 4.46181 17.7342 5.11628 18.5415 5.11628Z" fill="#25C365"/> <path d="M11.9635 20.4651C11.1595 20.4651 10.3555 20.3189 9.6246 20.0997C9.25915 20.0266 8.8937 20.1728 8.74752 20.5382L8.2359 21.9269C8.08972 22.2924 8.30899 22.7309 8.74752 22.8771C9.77078 23.2425 10.8671 23.3887 11.9635 23.3887C16.7143 23.3887 20.8073 20.5382 22.6346 16.4452C22.7807 16.0797 22.6346 15.5681 22.196 15.4219L20.8073 14.9103C20.4419 14.7641 20.0764 14.9103 19.9303 15.2758C18.5415 18.3455 15.5449 20.4651 11.9635 20.4651Z" fill="#25C365"/> <path d="M11.9635 2.92359C12.7675 2.92359 13.5714 3.06977 14.3023 3.28904C14.6678 3.36213 15.0332 3.21595 15.1794 2.8505L15.691 1.46179C15.8372 1.09635 15.618 0.657807 15.1794 0.511628C14.1562 0.146179 13.0598 0 11.9635 0C7.21263 0 3.11961 2.8505 1.29237 6.94352C1.14619 7.30897 1.29237 7.8206 1.7309 7.96678L3.11961 8.47841C3.48506 8.62459 3.85051 8.47841 3.99669 8.11296C5.38539 5.04319 8.38207 2.92359 11.9635 2.92359Z" fill="#25C365"/> </g> <defs> <clipPath id="clip0_103_2"> <rect width="139" height="25" fill="white"/> </clipPath> </defs> </svg> </a> </div> <!-- marktest --> <div class="sidebar sidebar--sticky sidebar--scroll sidebar--dark"> <div class="sidebar__content"> <nav class="menu"> <ul class="menu__list list list--unstyle"> <li class="menu-item"> <a href="/docs/connections/sources/catalog/" class="menu-item__link menu-item__link--small menu-item__link--back"> <svg width="15" height="13" viewBox="0 0 15 13" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M13.99 5.99H4.41L7.7 2.7a1.003 1.003 0 00-1.42-1.42l-5 5a1.014 1.014 0 000 1.42l5 5a1.003 1.003 0 001.42-1.42L4.41 7.99H14c.55 0 1-.45 1-1s-.46-1-1.01-1z"/> </svg> <span>Back to Connections</span> </a> </li> </ul> </nav> <nav class="menu menu--compact"> <ul class="menu__list list list--unstyle"> <li class="menu-item menu-item--gray menu-item--active menu-item--compact" data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify gutter gutter--small" data-ref="accordion[trigger]"> <span class="flex__column"> Analytics-iOS Documentation </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--compact"> <a href="/docs/connections/sources/catalog/libraries/mobile/ios/" class="menu-item__link"> Analytics-iOS mobile source </a> </li> <li class="menu-item menu-item--compact"> <a href="/docs/connections/sources/catalog/libraries/mobile/ios/quickstart/" class="menu-item__link"> iOS Quickstart tutorial </a> </li> <li class="menu-item menu-item--compact"> <a href="/docs/connections/sources/catalog/libraries/mobile/ios/ios14-guide/" class="menu-item__link"> iOS 14 guide </a> </li> <li class="menu-item menu-item--compact"> <a href="/docs/connections/sources/catalog/libraries/mobile/ios/middleware/" class="menu-item__link"> Middlewares for iOS </a> </li> <li class="menu-item menu-item--compact"> <a href="/docs/connections/sources/catalog/libraries/mobile/ios/troubleshooting/" class="menu-item__link"> Troubleshooting Analytics-iOS </a> </li> <li class="menu-item menu-item--compact"> <a href="/docs/connections/sources/catalog/libraries/mobile/ios/ios-faqs/" class="menu-item__link"> Analytics-iOS FAQs </a> </li> <li class="menu-item menu-item--compact"> <a href="/docs/connections/sources/catalog/libraries/mobile/ios/changelog/" class="menu-item__link"> Analytics-iOS Changelog </a> </li> </ul> </li> </ul> </nav> </div> </div> </div> <main class="docs__body stage__body"> <div class="docs__navbar"> <div class="flex flex--justify gutter gutter--large@medium"> <div class="flex__column flex__column--6@xlarge"> <div class="search"> <div class="field field--expand field--icon"> <div id="autocomplete"></div> <div class="field__icon field__icon--right flex flex--middle flex--center"> <button class="field__button" data-ref="search-navbar[trigger]"> <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.41 5L9.7 1.71C9.89 1.53 10 1.28 10 1C10 0.45 9.55 0 9 0C8.72 0 8.47 0.11 8.29 0.29L5 3.59L1.71 0.29C1.53 0.11 1.28 0 1 0C0.45 0 0 0.45 0 1C0 1.28 0.11 1.53 0.29 1.71L3.59 5L0.3 8.29C0.11 8.47 0 8.72 0 9C0 9.55 0.45 10 1 10C1.28 10 1.53 9.89 1.71 9.71L5 6.41L8.29 9.7C8.47 9.89 8.72 10 9 10C9.55 10 10 9.55 10 9C10 8.72 9.89 8.47 9.71 8.29L6.41 5Z"/> </svg> </button> </div> </div> </div> </div> <div class="flex__column flex__column--shrink"> <nav> <ul class="flex flex--middle flex--justify gutter gutter--xsmall list list--unstyle"> <li class="flex__column flex__column--shrink"> <a class="button button-hollow" href="https://app.segment.com/login">Log in</a> </li> <li class="flex__column flex__column--shrink"> <a class="button button-fill" href="https://app.segment.com/signup">Sign Up</a> </li> </ul> </nav> </div> </div> </div> <nav class="navbar-mobile" data-search-navbar='{ "classActive": "navbar-mobile--searching" }' data-menu-mobile='{ "classActive": "navbar-mobile--active", "classBody": "navbar-mobile-open" }' > <div class="navbar-mobile__wrapper flex flex--middle"> <div class="flex__column"> <a id="home-btn" class="logo flex" href="/docs/"> <svg width="139" height="25" viewBox="0 0 139 25" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_103_2)"> <path d="M35.7823 15.1354V7.77083H36.8841C39.2879 7.77083 40.2896 9.12708 40.2896 11.3729V11.4896C40.2896 13.7937 39.1878 15.1354 36.8984 15.1354H35.7823ZM33.8792 16.6667H36.9556C40.5471 16.6667 42.2785 14.5083 42.2785 11.475V11.3438C42.2785 8.31042 40.5471 6.23958 36.9842 6.23958H33.8792V16.6667ZM47.2988 15.4417C45.9824 15.4417 45.2241 14.4646 45.2241 12.9042V12.7875C45.2241 11.2125 46.0111 10.2646 47.2988 10.2646C48.5866 10.2646 49.3593 11.2271 49.3593 12.8021V12.9042C49.3593 14.4646 48.5866 15.4417 47.2988 15.4417ZM47.2845 16.8125C49.4881 16.8125 51.1336 15.2667 51.1336 12.8896V12.7729C51.1336 10.4396 49.4881 8.87917 47.2988 8.87917C45.0953 8.87917 43.4498 10.4542 43.4498 12.8167V12.9333C43.4498 15.2521 45.081 16.8125 47.2845 16.8125ZM55.9751 16.8125C58.007 16.8125 59.3091 15.5729 59.4378 13.8229H57.8485C57.7484 14.9021 56.9614 15.4562 56.0456 15.4562C54.7721 15.4562 53.9708 14.5813 53.9708 12.9188V12.8021C53.9708 11.2271 54.8151 10.2937 56.0027 10.2937C56.9185 10.2937 57.5767 10.7167 57.7198 11.7375H59.3939C59.1936 9.6375 57.6339 8.87917 55.9741 8.87917C53.885 8.87917 52.1966 10.4104 52.1966 12.8312V12.9479C52.1966 15.3833 53.8278 16.8125 55.9741 16.8125H55.9751ZM63.432 16.8125C64.6483 16.8125 65.4353 16.2146 65.8083 15.4708V16.6667H67.5397V9.03958H65.8083V13.575C65.8083 14.7854 64.9917 15.3979 64.0616 15.3979C63.06 15.3979 62.5878 14.8729 62.5878 13.7208V9.03958H60.8565V13.925C60.8565 15.9521 61.9582 16.8125 63.432 16.8125ZM69.592 16.6667H71.3234V12.1021C71.3234 10.9354 72.1103 10.3521 72.9689 10.3521C73.8131 10.3521 74.2996 10.8333 74.2996 11.9562V16.6667H76.031V12.1021C76.031 10.9354 76.8179 10.3521 77.6765 10.3521C78.535 10.3521 79.0072 10.8333 79.0072 11.9562V16.6667H80.7386V11.8396C80.7386 9.73958 79.6225 8.87917 78.2488 8.87917C77.3188 8.87917 76.2885 9.30208 75.7162 10.25C75.3441 9.30208 74.5715 8.87917 73.5985 8.87917C72.4967 8.87917 71.6811 9.49167 71.3234 10.2063V9.03958H69.592V16.6667ZM86.0185 16.8125C87.9359 16.8125 89.2094 15.9375 89.4526 14.3333H87.7785C87.6497 15.0771 87.106 15.5 86.0615 15.5C84.7737 15.5 84.0582 14.6833 84.001 13.2396H89.4813V12.7292C89.4813 10.0021 87.8071 8.87917 85.947 8.87917C83.815 8.87917 82.2267 10.4542 82.2267 12.8167V12.9333C82.2267 15.3396 83.815 16.8125 86.0185 16.8125V16.8125ZM84.0296 12.0583C84.2013 10.8771 84.9024 10.1625 85.947 10.1625C87.0201 10.1625 87.6783 10.7458 87.7642 12.0583H84.0296V12.0583ZM91.0276 16.6667H92.759V12.175C92.759 10.9646 93.546 10.3521 94.519 10.3521C95.5492 10.3521 96.0071 10.8771 96.0071 12.0292V16.6667H97.7385V11.8687C97.7385 9.76875 96.6796 8.87917 95.1772 8.87917C93.9466 8.87917 93.1167 9.50625 92.759 10.25V9.03958H91.0276V16.6667ZM102.279 16.7979C102.809 16.7979 103.181 16.7104 103.453 16.6083V15.2083C103.21 15.3104 102.952 15.3542 102.609 15.3542C102.065 15.3542 101.75 15.0479 101.75 14.3771V10.3667H103.396V9.03958H101.75V7.3625H100.019V9.03958H99.0171V10.3667H100.019V14.5375C100.019 15.9812 100.791 16.7979 102.279 16.7979ZM107.045 16.8125C108.19 16.8125 108.848 16.3896 109.335 15.7333V16.6667H111.037V11.6646C111.037 9.57917 109.721 8.87917 108.047 8.87917C106.373 8.87917 104.985 9.62292 104.842 11.4021H106.516C106.602 10.6437 107.045 10.2063 107.947 10.2063C108.963 10.2063 109.306 10.7167 109.306 11.7375V12.1312H108.376C106.23 12.1312 104.541 12.7729 104.541 14.5521C104.541 16.1417 105.672 16.8125 107.045 16.8125V16.8125ZM107.46 15.5437C106.602 15.5437 106.258 15.1208 106.258 14.4792C106.258 13.5458 107.103 13.2396 108.419 13.2396H109.306V13.9979C109.306 14.975 108.519 15.5437 107.46 15.5437ZM115.568 16.7979C116.098 16.7979 116.47 16.7104 116.742 16.6083V15.2083C116.498 15.3104 116.241 15.3542 115.897 15.3542C115.354 15.3542 115.039 15.0479 115.039 14.3771V10.3667H116.684V9.03958H115.039V7.3625H113.307V9.03958H112.306V10.3667H113.307V14.5375C113.307 15.9812 114.08 16.7979 115.568 16.7979ZM118.346 16.6667H120.078V9.03958H118.346V16.6667ZM119.19 7.78542C119.763 7.78542 120.221 7.34792 120.221 6.77917C120.221 6.19583 119.763 5.75833 119.19 5.75833C118.618 5.75833 118.16 6.19583 118.16 6.77917C118.16 7.34792 118.618 7.78542 119.19 7.78542V7.78542ZM125.536 15.4417C124.22 15.4417 123.462 14.4646 123.462 12.9042V12.7875C123.462 11.2125 124.249 10.2646 125.536 10.2646C126.824 10.2646 127.597 11.2271 127.597 12.8021V12.9042C127.597 14.4646 126.824 15.4417 125.536 15.4417ZM125.522 16.8125C127.726 16.8125 129.371 15.2667 129.371 12.8896V12.7729C129.371 10.4396 127.726 8.87917 125.536 8.87917C123.333 8.87917 121.687 10.4542 121.687 12.8167V12.9333C121.687 15.2521 123.319 16.8125 125.522 16.8125ZM130.936 16.6667H132.667V12.175C132.667 10.9646 133.454 10.3521 134.427 10.3521C135.458 10.3521 135.915 10.8771 135.915 12.0292V16.6667H137.647V11.8687C137.647 9.76875 136.588 8.87917 135.086 8.87917C133.855 8.87917 133.025 9.50625 132.667 10.25V9.03958H130.936V16.6667V16.6667Z" fill="#101840"/> <path d="M22.1229 10.2326H10.5748C10.1362 10.2326 9.77078 9.86711 9.77078 9.42857V8.03987C9.77078 7.60133 10.1362 7.23588 10.5748 7.23588H22.196C22.6346 7.23588 23 7.60133 23 8.03987V9.42857C22.9269 9.86711 22.5615 10.2326 22.1229 10.2326Z" fill="#25C365"/> <path d="M13.3522 16.0797H1.80399C1.36545 16.0797 1 15.7143 1 15.2758V13.887C1 13.4485 1.36545 13.0831 1.80399 13.0831H13.4253C13.8638 13.0831 14.2292 13.4485 14.2292 13.887V15.2758C14.1561 15.7143 13.7907 16.0797 13.3522 16.0797Z" fill="#25C365"/> <path d="M5.38538 21.196C6.1927 21.196 6.84717 20.5415 6.84717 19.7342C6.84717 18.9269 6.1927 18.2724 5.38538 18.2724C4.57805 18.2724 3.92358 18.9269 3.92358 19.7342C3.92358 20.5415 4.57805 21.196 5.38538 21.196Z" fill="#25C365"/> <path d="M18.5415 5.11628C19.3489 5.11628 20.0033 4.46181 20.0033 3.65449C20.0033 2.84716 19.3489 2.19269 18.5415 2.19269C17.7342 2.19269 17.0797 2.84716 17.0797 3.65449C17.0797 4.46181 17.7342 5.11628 18.5415 5.11628Z" fill="#25C365"/> <path d="M11.9635 20.4651C11.1595 20.4651 10.3555 20.3189 9.6246 20.0997C9.25915 20.0266 8.8937 20.1728 8.74752 20.5382L8.2359 21.9269C8.08972 22.2924 8.30899 22.7309 8.74752 22.8771C9.77078 23.2425 10.8671 23.3887 11.9635 23.3887C16.7143 23.3887 20.8073 20.5382 22.6346 16.4452C22.7807 16.0797 22.6346 15.5681 22.196 15.4219L20.8073 14.9103C20.4419 14.7641 20.0764 14.9103 19.9303 15.2758C18.5415 18.3455 15.5449 20.4651 11.9635 20.4651Z" fill="#25C365"/> <path d="M11.9635 2.92359C12.7675 2.92359 13.5714 3.06977 14.3023 3.28904C14.6678 3.36213 15.0332 3.21595 15.1794 2.8505L15.691 1.46179C15.8372 1.09635 15.618 0.657807 15.1794 0.511628C14.1562 0.146179 13.0598 0 11.9635 0C7.21263 0 3.11961 2.8505 1.29237 6.94352C1.14619 7.30897 1.29237 7.8206 1.7309 7.96678L3.11961 8.47841C3.48506 8.62459 3.85051 8.47841 3.99669 8.11296C5.38539 5.04319 8.38207 2.92359 11.9635 2.92359Z" fill="#25C365"/> </g> <defs> <clipPath id="clip0_103_2"> <rect width="139" height="25" fill="white"/> </clipPath> </defs> </svg> </a> </div> <div class="flex__column flex__column--shrink"> <div class="flex flex--medium gutter gutter--large"> <div class="flex__column"> <button class="navbar-mobile__search-button search-button" data-ref="search-navbar[trigger]"> <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.665 8.069l2.001 2.008a1.123 1.123 0 11-1.589 1.589l-2.008-2a5.227 5.227 0 01-2.819.831A5.243 5.243 0 01.004 5.25C.004 2.35 2.35.004 5.25.004c2.901 0 5.247 2.346 5.247 5.246a5.201 5.201 0 01-.832 2.819zM1.503 5.25A3.749 3.749 0 005.25 8.998 3.749 3.749 0 008.998 5.25 3.749 3.749 0 005.25 1.503 3.749 3.749 0 001.503 5.25z"/> </svg> </button> </div> <div class="flex__column"> <button class="navbar-mobile__menu-button menu-button" data-ref="menu-mobile[trigger]"> <span class="menu-button__line"></span> </button> </div> </div> </div> </div> <div class="navbar-mobile__search"> <div class="field field--expand field--icon"> <div id="autocomplete-mobile"></div> <div class="field__icon field__icon--right flex flex--middle flex--center"> <button class="field__button" data-ref="search-navbar[trigger]"> <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.41 5L9.7 1.71C9.89 1.53 10 1.28 10 1C10 0.45 9.55 0 9 0C8.72 0 8.47 0.11 8.29 0.29L5 3.59L1.71 0.29C1.53 0.11 1.28 0 1 0C0.45 0 0 0.45 0 1C0 1.28 0.11 1.53 0.29 1.71L3.59 5L0.3 8.29C0.11 8.47 0 8.72 0 9C0 9.55 0.45 10 1 10C1.28 10 1.53 9.89 1.71 9.71L5 6.41L8.29 9.7C8.47 9.89 8.72 10 9 10C9.55 10 10 9.55 10 9C10 8.72 9.89 8.47 9.71 8.29L6.41 5Z"/> </svg> </button> </div> </div> </div> <div class="navbar-mobile__panel"> <div class="menu-panels" data-menu-panels data-class-active="menu-panels--active"> <div class="menu-panels__root sidebar" data-ref="menu-panels[root]"> <nav class="menu"> <ul class="list list--unstyle"> <li class="menu-item "> <a class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" href="/docs/"> <div class="menu-item__icon flex__column"> <svg viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.25 5.075L9.012.133.25 5.06V18.75h17V5.075zM1.75 17.25V5.939l7.238-4.072 6.762 4.058V17.25h-2.5v-7h-8.5v7h-3zm4.5 0h5.5v-5.5h-5.5v5.5z" /> </svg> </div> <div class="flex__column">Home</div> </a> </li> <!-- 01-what-is-segment.md - getting-started --> <li class="menu-item menu-item--active" data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7 18a1 1 0 100-2 1 1 0 000 2z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M7 16.5a.5.5 0 100 1 .5.5 0 000-1zm1 .5a1 1 0 11-2 0 1 1 0 012 0z" /> <path d="M4 21a1 1 0 100-2 1 1 0 000 2z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M4 19.5a.5.5 0 100 1 .5.5 0 000-1zm1 .5a1 1 0 11-2 0 1 1 0 012 0zM14.349 6.792l-7.846 7.5-5.058-5.058L14.35 6.792zM4.513 10.18l2.014 2.014L9.65 9.208l-5.138.972zM17.208 9.651l-2.442 12.904-5.058-5.058 7.5-7.846zm-5.402 7.822l2.014 2.014.972-5.138-2.986 3.124z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M22.212 1.716l-.846 6.222-10.079 10.077-1.06-1.06 9.721-9.72.508-3.74-3.686.553-9.725 9.725-1.06-1.06L16.058 2.638l6.154-.922z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.474 10.778l-4.28-4.205 1.05-1.07 4.282 4.205-1.052 1.07z" /> </svg> </span> <span class="flex__column">Getting Started</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/">What is Segment?</a> </li> <li class="menu-item menu-item--green menu-item--active" data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--indicator-large flex" href="/docs/getting-started/01-what-is-segment/">How Segment Works</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/implementation-guide/">Getting Started Guide</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/02-simple-install/">A Basic Segment Installation</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/03-planning-full-install/">Planning a Full Installation</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/04-full-install/">A Full Segment Installation</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/05-data-to-destinations/">Sending Data to Destinations</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/06-testing-debugging/">Testing and Debugging</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/getting-started/whats-next/">What's Next</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Use Cases </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/getting-started/use-cases//"> Use Cases Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/getting-started/use-cases/guide//"> Choosing a Use Case </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/getting-started/use-cases/setup//"> Use Cases Setup </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/getting-started/use-cases/reference//"> Use Cases Reference </a> </li> </ul> </li> </ul> </li> <!-- 01-what-is-segment.md - guides --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M1 9a1 1 0 100-2 1 1 0 000 2z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.693 2.29c-.652-.163-1.673-.283-3.07-.05a6.973 6.973 0 00-3.048 1.297 6.234 6.234 0 00-.825.739v11.74c.822-.72 2.03-1.49 3.627-1.756 1.56-.26 2.748-.263 3.56-.195.112.01.216.02.313.031V2.466a4.431 4.431 0 00-.557-.176zm.898.339l-.001-.001h.001zM19 2l.416-.624.334.223V16.04l-.983-.328h-.002a2.957 2.957 0 00-.2-.049 6.303 6.303 0 00-.752-.104c-.688-.057-1.75-.06-3.19.18-1.316.22-2.313.879-2.991 1.5-.338.31-.591.606-.758.82a4.837 4.837 0 00-.224.314l-.007.012h-.002L9.25 18V3.75l.15-.2.6.45-.6-.45v-.001l.002-.001.002-.003.006-.009.02-.025.067-.081c.056-.067.137-.16.243-.27.212-.22.523-.513.935-.823A8.473 8.473 0 0114.377.76c1.603-.267 2.832-.137 3.68.075.423.106.748.23.974.335a3.608 3.608 0 01.37.196l.008.005.004.003.002.001.001.001L19 2zm-8.358 16.388z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M2.307 2.29c.652-.163 1.673-.283 3.07-.05a6.973 6.973 0 013.048 1.297 6.235 6.235 0 01.825.739v11.74c-.821-.72-2.03-1.49-3.627-1.756-1.56-.26-2.748-.263-3.56-.195-.112.01-.216.02-.313.031V11H.25v5.04l.983-.327h.001l.032-.01c.033-.008.09-.023.168-.04.158-.032.41-.074.753-.103.688-.057 1.75-.06 3.19.18 1.316.22 2.313.879 2.991 1.5.338.31.591.606.758.82a4.86 4.86 0 01.224.314l.007.012h.001L10.75 18V3.75l-.15-.2L10 4l.6-.45v-.001l-.002-.001-.002-.003-.007-.009-.019-.025a5.64 5.64 0 00-.31-.351 7.734 7.734 0 00-.935-.823A8.473 8.473 0 005.623.76C4.02.493 2.791.623 1.943.835a5.61 5.61 0 00-.974.335 3.626 3.626 0 00-.37.196l-.008.005-.004.003-.002.001S.584 1.376 1 2l-.416-.624-.334.223V5h1.5V2.467c.141-.056.327-.12.557-.177zm-.898.339l.001-.001H1.41zm7.95 15.76z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.75 14.844v5.006l-8.843-1.106.186-1.488 7.157.894v-3.306h1.5z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M2.75 18.29V15h-1.5v5.022l8.857-1.28-.214-1.484L2.75 18.29z" /> </svg> </span> <span class="flex__column">Guides</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/">An Introduction to Segment</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/intro-impl/">For Developers</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/intro-user/">For Data Users</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/intro-admin/">For Workspace Admins</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/filtering-data/">Filtering your Segment Data</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/duplicate-data/">Handling Duplicate Data</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/ignore-bots/">Internet Bots</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/segment-vs-tag-managers/">Segment vs. Tag Managers</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/what-is-replay/">Replay</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/regional-segment/">Regional Segment</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/guides/audiences-and-journeys/">Audiences and Journeys</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> How-to Guides </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/"> How-to Guides Index </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/automated-multichannel-reengagement/"> Automating Multi-Channel Re-Engagement Campaigns </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/collect-on-client-or-server/"> Collecting Data on the Client or Server </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/collect-pageviews-serverside/"> Collecting Pageviews on the Server Side </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/create-push-notification/"> Creating a Push Notification </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/cross-channel-tracking/"> Tracking Customers Across Channels and Devices </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/dynamic-coupon-program/"> Setting up a Dynamic Coupon Program to Reward Loyal Customers </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/forecast-with-sql/"> Forecasting LTV with SQL and Excel for E-Commerce </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/import-historical-data/"> Importing Historical Data </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/join-user-profiles/"> Joining User Profiles </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/measure-advertising-funnel/"> Measuring Your Advertising Funnel </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/measure-marketing-roi/"> Measuring the ROI of Your Marketing Campaigns </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/migrate-from-other-tools/"> Migrating Code From Other Analytics Tools </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/segment-and-attribution/"> Segment's Role in Attribution </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/how-to-guides/set-up-notifications-alerts/"> Setting Up Event-Triggered Notifications or Alerts </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Usage and Billing </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/usage-and-billing/account-management/"> Account Management </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/usage-and-billing/billing/"> Billing and Account FAQs </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/usage-and-billing/mtus-and-throughput/"> MTUs, Throughput and Billing </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/usage-and-billing/discounts-for-startups-npos/"> Discounts or Coupons </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/guides/usage-and-billing/startup-program/"> Segment Startup Program </a> </li> </ul> </li> </ul> </li> <!-- 01-what-is-segment.md - connections --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M11 5.5c-3.05 0-5.5 2.45-5.5 5.5s2.45 5.5 5.5 5.5 5.5-2.45 5.5-5.5S14 5.5 11 5.5zm0 9.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM3 0C1.3 0 0 1.35 0 3s1.35 3 3 3 3-1.35 3-3-1.35-3-3-3zm0 4.5c-.85 0-1.5-.65-1.5-1.5S2.15 1.5 3 1.5s1.5.65 1.5 1.5S3.8 4.5 3 4.5zM3 16c-1.65 0-3 1.35-3 3s1.35 3 3 3 3-1.35 3-3-1.35-3-3-3zm0 4.5c-.85 0-1.5-.65-1.5-1.5s.65-1.5 1.5-1.5 1.5.65 1.5 1.5-.7 1.5-1.5 1.5zM19 16c-1.65 0-3 1.35-3 3s1.35 3 3 3 3-1.35 3-3-1.35-3-3-3zm0 4.5c-.85 0-1.5-.65-1.5-1.5s.65-1.5 1.5-1.5 1.5.65 1.5 1.5-.7 1.5-1.5 1.5zM19 0c-1.65 0-3 1.35-3 3s1.35 3 3 3 3-1.35 3-3-1.35-3-3-3zm0 4.5c-.85 0-1.5-.65-1.5-1.5s.65-1.5 1.5-1.5 1.5.65 1.5 1.5-.7 1.5-1.5 1.5z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.98 5.08l-3.1 3.1-1.06-1.06 3.1-3.1 1.06 1.06zM8.08 14.98l-3.05 3.05-1.06-1.06 3.05-3.05 1.06 1.06zM5.035 4.224l3.05 3.1-1.07 1.052-3.05-3.1 1.07-1.052zM14.726 13.965l3.05 3-1.052 1.07-3.05-3 1.052-1.07z" /> </svg> </span> <span class="flex__column">Connections</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/">Overview</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> The Segment Spec </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/"> Spec Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/page/"> Spec: Page </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/screen/"> Spec: Screen </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/track/"> Spec: Track </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/group/"> Spec: Group </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/identify/"> Spec: Identify </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/alias/"> Spec: Alias </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/copilot/"> Spec: AI Copilot </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/common/"> Spec: Common Fields </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/mobile/"> Native Mobile Spec </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/native-mobile-spec/"> What is the native mobile spec? </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/mobile-packaging-sdks/"> Packaging SDKs for Mobile Destinations </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/semantic/"> Spec: Semantic Events </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/b2b-saas/"> Spec: B2B SaaS </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/ecommerce/v2/"> Spec: Ecommerce Events </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/ecommerce-tracking-plan/"> Ecommerce Tracking Plans </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/video/"> Video Spec </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/best-practices-identify/"> Best Practices for Identifying Users </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/spec/best-practices-event/"> Best Practices for Event Calls </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Sources </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/sources/"> Sources Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/sources/catalog/"> <div class="menu-item__icon menu-item__icon--small flex__column"> <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M14 3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v1h12V3zm-2-3H4c-.55 0-1 .45-1 1h10c0-.55-.45-1-1-1zm3 5H1c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h14c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-3 6c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V9h1v2h6V9h1v2z"/> </svg> </div> Sources Catalog </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/sources/about-cloud-sources/"> Cloud Sources </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/sources/debugger/"> Source Debugger </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/sources/custom-domain/"> Segment-Managed Custom Domain </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/"> Self-Managed Custom Proxy </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/sources/visual-tagger/"> Visual Tagger </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Schema </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/sources/schema//">Schema Controls</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/sources/schema/destination-data-control/">Using Schema Controls</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/sources/schema/schema-unique-limits/">Schema Unique Limits</a> </li> </ul> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Destinations </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/destinations/"> Destinations Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/destinations/actions/"> Destination Actions </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/destinations/add-destination/"> Add a Destination </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/destinations/catalog/"> <div class="menu-item__icon menu-item__icon--small flex__column"> <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M14 3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v1h12V3zm-2-3H4c-.55 0-1 .45-1 1h10c0-.55-.45-1-1-1zm3 5H1c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h14c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-3 6c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V9h1v2h6V9h1v2z"/> </svg> </div> Destinations Catalog </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/destinations/destination-filters/"> Destination Filters </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Reverse ETL </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/reverse-etl/"> Reverse ETL Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/reverse-etl/setup/"> Set Up Reverse ETL </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/reverse-etl/manage-retl/"> Manage Reverse ETL Syncs </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/reverse-etl/system/"> Reverse ETL System </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/reverse-etl/reverse-etl-catalog/"> Reverse ETL Destination Catalog </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Reverse ETL Source Setup Guides </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup/">Azure Reverse ETL Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup/">BigQuery Reverse ETL Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup/">Databricks Reverse ETL Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup/">Postgres Reverse ETL Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup/">Redshift Reverse ETL Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup/">Snowflake Reverse ETL Setup</a> </li> </ul> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Functions </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/"> Functions Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/source-functions/"> Source Functions </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/destination-functions/"> Destination Functions </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/insert-functions/"> Destination Insert Functions </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/copilot/"> Functions Copilot </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/functions-copilot-nutrition-facts/"> Functions Copilot Nutrition Facts Label </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/environment/"> Functions Environment </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/usage/"> Functions Usage Limits </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/functions/aws-apis/"> Functions for AWS APIs </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Storage Destinations </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/storage/"> Storage Destinations Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/connections/storage/catalog/"> <div class="menu-item__icon menu-item__icon--small flex__column"> <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M14 3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v1h12V3zm-2-3H4c-.55 0-1 .45-1 1h10c0-.55-.45-1-1-1zm3 5H1c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h14c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-3 6c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V9h1v2h6V9h1v2z"/> </svg> </div> Storage Destinations Catalog </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Segment Data Lakes </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/data-lakes/">Data Lakes Overview</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/catalog/data-lakes/">Set Up Data Lakes</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/data-lakes/sync-reports/">Sync Reports and Error Reporting</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/data-lakes/lake-formation/">AWS Lake Formation</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/data-lakes/sync-history/">Data Lakes Sync History and Health</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/data-lakes/comparison/">Data Lakes vs. Warehouses</a> </li> </ul> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Data Warehouses </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/">Warehouse Overview</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/schema/">Warehouse Schemas</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/warehouse-syncs/">Warehouse Syncs</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/health/">Warehouse Health Dashboards</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/choose-warehouse/">Choosing a Warehouse</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/faq/">Warehouse FAQs</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/add-warehouse-users/">Adding Warehouse Users</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/warehouse-errors/">Warehouse Errors</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/redshift-faq/">Redshift Cluster and Redshift Connector Limitations</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/redshift-tuning/">Speeding Up Redshift Queries</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/connections/storage/warehouses/redshift-useful-sql/">Useful SQL Queries for Redshift</a> </li> </ul> </li> </ul> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/regional-segment/">Regional Segment</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/test-connections/">Event Tester</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/data-export-options/">Data Export Options</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/destination-data-control/">Using Schema Controls</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/event-delivery/">Event Delivery</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/delivery-overview/">Delivery Overview</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/alerting/">Connections Alerting</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/find-writekey/">Locate Your Write Key</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/integration_error_codes/">Integration Error Codes</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/rate-limits/">Rate Limits</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/oauth/">OAuth 2.0</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/connections/aws-privatelink/">AWS PrivateLink Integration</a> </li> </ul> </li> <!-- 01-what-is-segment.md - unify --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg class="ub-w_24px ub-h_24px ub-dspl_flex ub-box-szg_border-box" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.95 20.5V20.55H4H11.2561H11.3061V20.5V19.2195V19.1695H11.2561H5.33567C5.6559 16.0613 8.14394 13.6311 11.2182 13.3363L11.2634 13.332V13.2866V12.0061V11.9517L11.2092 11.9563C7.17155 12.2999 3.95 15.6931 3.95 19.8597V20.5ZM11.2473 11.1163L11.3061 11.1268V11.0671V9.74391V9.70455L11.2678 9.69531C10.0519 9.40182 9.17195 8.31174 9.17195 7.05489C9.17195 5.79804 10.0519 4.70796 11.2678 4.41447L11.3061 4.40523V4.36586V3.08538V3.02719L11.2486 3.03595C9.26095 3.33841 7.79146 5.02387 7.79146 7.05489C7.79146 9.08656 9.30409 10.7708 11.2473 11.1163ZM16.8049 6.36463H15.4818C15.4346 6.08498 15.3184 5.80903 15.201 5.57092L16.1146 4.65731L16.15 4.62195L16.1146 4.5866L15.2183 3.69025L15.183 3.6549L15.1476 3.69025L14.3246 4.51326C14.1747 4.40099 14.0214 4.28834 13.8671 4.20726V3V2.95H13.8171H12.5366H12.4866V3V5.17683V5.22047L12.5299 5.22637C13.4472 5.35146 14.1939 6.10116 14.1939 7.05488C14.1939 8.01036 13.4457 8.80007 12.5321 8.88313L12.4866 8.88727V8.93293V11.1098V11.1598H12.5366H13.8171H13.8671V11.1098V9.9025C14.0214 9.82142 14.1747 9.70877 14.3246 9.5965L15.1476 10.4195L15.183 10.4549L15.2183 10.4195L16.1146 9.52316L16.15 9.48781L16.1146 9.45245L15.201 8.53883C15.3184 8.30073 15.4346 8.02478 15.4818 7.74512H16.8049H16.8549V7.69512V6.41463V6.36463H16.8049ZM19.559 17.002L19.6051 16.979L19.5807 16.9336L18.9831 15.8238L18.9601 15.7811L18.9168 15.8028L17.8478 16.3373C17.513 15.8044 17.0638 15.3128 16.6135 14.8998L17.3168 13.7827L17.3437 13.74L17.3007 13.7135L16.1909 13.0306L16.1484 13.0044L16.1221 13.0469L15.4647 14.1153C14.9699 13.8314 14.3986 13.5881 13.8245 13.4597V11.9634V11.9134H13.7745H12.494H12.444V11.9634V14.5671V14.6135L12.4903 14.6169C15.3243 14.8284 17.566 17.1972 17.566 20.0731V20.5V20.55H17.616H20.1769H20.2269V20.5V19.2195V19.1695H20.1769H18.897C18.8135 18.6006 18.6901 18.0684 18.4898 17.5367L19.559 17.002ZM12.5416 15.7978L12.4866 15.7923V15.8476V17.1281V17.1713L12.5293 17.1775C13.9567 17.3874 15.0476 18.6048 15.0476 20.0732V20.5V20.55H15.0976H16.3781H16.4281V20.5V20.0732C16.4281 17.8702 14.7008 16.0137 12.5416 15.7978Z" fill="#8F95B2" stroke="#8F95B2" stroke-width="0.1"></path></svg> </span> <span class="flex__column">Unify</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/">Unify Overview</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/quickstart/">Unify Onboarding</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Identity Resolution </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/identity-resolution/"> Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/identity-resolution/identity-resolution-onboarding/"> Onboarding </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/identity-resolution/space-setup/"> Space Setup </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/identity-resolution/use-cases/"> Use Cases </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/identity-resolution/externalids/"> External IDs </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/identity-resolution/identity-resolution-settings/"> Settings </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/identity-resolution/ecommerce-example/"> E-Commerce Example </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Profiles Sync </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/profiles-sync/overview/"> Profiles Sync Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Profiles Sync Setup </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/profiles-sync/profiles-sync-setup/">Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/profiles-sync/profiles-sync-setup/databricks-profiles-sync/">Databricks for Profiles Sync</a> </li> </ul> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/profiles-sync/sample-queries/"> Sample Queries </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/profiles-sync/tables/"> Tables & Materialized Views </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Data Graph </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/data-graph//"> Data Graph </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Setup Guides </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/data-graph/setup-guides/bigquery-setup//">BigQuery Data Graph Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/data-graph/setup-guides/databricks-setup//">Databricks Data Graph Setup</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/data-graph/setup-guides/snowflake-setup//">Snowflake Data Graph Setup</a> </li> </ul> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Linked Events </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/data-graph/linked-events//">Linked Events Overview</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/data-graph/linked-events-limits//">Linked Events Limits</a> </li> </ul> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Traits </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Predictions </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/traits/predictions//">Predictions</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/traits/predictions/using-predictions/">Using Predictions</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/traits/predictions/suggested-predictive-audiences/">Suggested Predictive Audiences</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/unify/traits/predictions/predictions-nutrition-facts/">Predictions Nutrition Facts Label</a> </li> </ul> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/traits/computed-traits/"> Computed Traits </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/traits/custom-traits/"> Custom Traits </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/traits/sql-traits/"> SQL Traits </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/unify/traits/recommended-items/"> Recommended Items </a> </li> </ul> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/profile-api/">Profile API</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/debugger/">Profile Debugger</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/insights/">Profiles Insights</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/csv-upload/">CSV Upload</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/unify-gdpr/">Unify and GDPR</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/faqs/">Unify FAQs</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/unify/product-limits/">Unify Limits</a> </li> </ul> </li> <!-- 01-what-is-segment.md - engage --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg class="ub-w_24px ub-h_24px ub-dspl_flex ub-box-szg_border-box" viewBox="-3 -3 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g><circle cx="9" cy="9" r="4.5"></circle><g><path d="M8,15.6c-2.9-0.4-5.3-2.8-5.7-5.7C2.1,8.2,2.5,6.5,3.4,5.2C3.6,5,3.5,4.7,3.3,4.5L2.5,3.7 C2.3,3.4,1.9,3.5,1.7,3.8C0.6,5.2,0,7,0,9v8.3C0,17.6,0.3,18,0.7,18H9c1.9,0,3.7-0.6,5.2-1.7c0.3-0.2,0.3-0.6,0.1-0.9l-0.8-0.8 c-0.2-0.2-0.5-0.2-0.7-0.1C11.5,15.5,9.8,15.9,8,15.6z"></path><path d="M10,2.3c2.9,0.4,5.3,2.8,5.7,5.7c0.2,1.8-0.2,3.4-1.1,4.7c-0.1,0.2-0.1,0.5,0.1,0.7l0.8,0.8 c0.2,0.2,0.7,0.2,0.9-0.1c1-1.5,1.7-3.3,1.7-5.2V0.7C18,0.3,17.7,0,17.3,0H9C7.1,0,5.3,0.6,3.8,1.6C3.5,1.8,3.5,2.2,3.7,2.5 l0.8,0.8C4.7,3.5,5,3.5,5.2,3.4C6.5,2.5,8.2,2,10,2.3z"></path></g></g></svg> </span> <span class="flex__column">Engage</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/">Introduction</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/quickstart/">Foundations Onboarding</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/onboarding/">Premier Onboarding</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/use-cases/">Use Cases</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> User Subscriptions </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/user-subscriptions/"> User Subscriptions </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/user-subscriptions/set-user-subscriptions/"> Set User Subscriptions </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/user-subscriptions/subscription-states/"> Subscription States </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/user-subscriptions/subscription-groups/"> Subscription Groups </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/user-subscriptions/subscription-sql/"> Subscriptions with SQL Traits </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/user-subscriptions/csv-upload/"> Update Subscriptions with a CSV </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Profiles </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/profiles/csv-upload/"> Use Profiles and Traits with a CSV </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Audiences </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/"> Audiences Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Linked Audiences </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/engage/audiences/linked-audiences/">Linked Audiences Overview</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/engage/audiences/linked-audiences-limits/">Linked Audiences Limits</a> </li> </ul> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/account-audiences/"> Account-level Audiences </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/generative-audiences/"> Generative Audiences </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/generative-audiences-nutrition-facts/"> Generative Audiences Nutrition Facts Label </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/product-based-audiences/"> Product Based Audiences </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/product-based-audiences-nutrition-label/"> Product Based Audiences Nutrition Facts Label </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/organization/"> Organize Audiences </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/audiences/send-audience-data/"> Send Audiences to Destinations </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Journeys </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/"> Journeys Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/build-journey/"> Build a Journey </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/step-types/"> Journey Step Types </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/journeys-edits/"> Journey Edits and Versioning </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/send-data/"> Send Data to Destinations </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/journeys-analytics/"> Journeys Analytics </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/faq-best-practices/"> Journeys Best Practices and FAQ </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/use-cases/"> Example Journeys Use Cases </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/journeys-logic/"> Understand Journeys Logic </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/journeys/key-terms/"> Journeys Glossary </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Content </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/content/email/template/"> Email Template </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/content/email/editor/"> Drag and Drop Editor </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/content/email/html-editor/"> HTML Editor </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/content/sms/template/"> SMS Template </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/content/whatsapp/"> WhatsApp Template </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/content/mobile-push/"> Mobile Push Template </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/content/organization/"> Organizing Your Templates </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Campaigns </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/campaigns/"> Campaigns Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/campaigns/email-campaigns/"> Email Campaigns </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/campaigns/sms-campaigns/"> SMS Campaigns </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/campaigns/broadcasts/"> Broadcasts </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/campaigns/whatsapp-campaigns/"> WhatsApp Campaigns </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Mobile Push </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/engage/campaigns/mobile-push/">Mobile Push Onboarding</a> </li> <li class="menu-item"> <a class="menu-item__link flex" href="/docs/engage/campaigns/mobile-push/push-campaigns/">Mobile Push Campaigns</a> </li> </ul> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Trait Activation </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/trait-activation/"> Trait Activation Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/trait-activation/trait-enrichment/"> Trait Enrichment </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/engage/trait-activation/id-sync/"> ID Sync </a> </li> </ul> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/analytics/">Analytics Overview</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/settings/">Engage Settings</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/product-limits/">Engage Default Limits</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/warehouses/">Engage and Warehouses</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/using-engage-data/">Using Engage Data</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/engage/faqs/">Engage FAQs</a> </li> </ul> </li> <!-- 01-what-is-segment.md - privacy --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 17 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 20.558V.808H9v19.75H7.5z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.25 0l8.25 3.3v9.508c0 4.567-3.739 8.25-8.25 8.25A8.24 8.24 0 010 12.808V3.3L8.25 0zM1.5 4.316v8.492a6.74 6.74 0 006.75 6.75c3.689 0 6.75-3.018 6.75-6.75V4.316l-6.75-2.7-6.75 2.7z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M16 10.058H1v-1.5h15v1.5z" /> </svg> </span> <span class="flex__column">Privacy</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/privacy/">Privacy Overview</a> </li> <li class="menu-item menu-item--gray menu-item--active" data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Privacy Portal </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/portal/"> Detect PII </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/data-controls/"> Data Controls and Alerts </a> </li> </ul> </li> <li class="menu-item menu-item--gray menu-item--active" data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> GDPR </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/complying-with-the-gdpr/"> Complying With GDPR </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/user-deletion-and-suppression/"> User Deletion and Suppression </a> </li> </ul> </li> <li class="menu-item menu-item--gray menu-item--active" data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Consent Management </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/consent-management/"> Consent Management Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/consent-management/consent-in-segment-connections/"> Consent in Segment Connections </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/consent-management/configure-consent-management/"> Configure Consent Management </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/consent-management/consent-in-unify/"> Consent in Unify </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/consent-management/consent-in-retl/"> Consent in Reverse ETL </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/privacy/consent-management/consent-faq/"> Consent FAQs </a> </li> </ul> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/privacy/account-deletion/">Account & Data Deletion</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/privacy/hipaa-eligible-segment/">HIPAA Eligible Segment</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/privacy/faq/">Privacy FAQs</a> </li> </ul> </li> <!-- 01-what-is-segment.md - protocols --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 22 21" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M11 1.5a1.95 1.95 0 100 3.9 1.95 1.95 0 000-3.9zM7.55 3.45a3.45 3.45 0 116.9 0 3.45 3.45 0 01-6.9 0zM3.45 13.9c-.304 0-.568.047-.715.12l-.021.012-.023.01A2.009 2.009 0 001.5 15.85c0 1.086.864 1.95 1.95 1.95.483 0 .96-.208 1.348-.558A1.88 1.88 0 005.4 15.85c0-1.036-.914-1.95-1.95-1.95zm-1.362-1.232c.448-.217.973-.268 1.362-.268 1.864 0 3.45 1.586 3.45 3.45a3.38 3.38 0 01-1.098 2.508c-.612.55-1.435.942-2.352.942A3.439 3.439 0 010 15.85c0-1.4.876-2.662 2.088-3.182zM18.05 13.9a1.95 1.95 0 100 3.9 1.95 1.95 0 000-3.9zm-3.45 1.95a3.45 3.45 0 116.9 0 3.45 3.45 0 01-6.9 0z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.75 4.423C5.465 5.336 3.1 8.299 3.1 11.8c0 .401.045.81.095 1.267l-1.49.166-.002-.018A12.79 12.79 0 011.6 11.8c0-4.199 2.836-7.736 6.75-8.823l.4 1.446zM5.602 17.442c1.373 1.236 3.197 2.008 5.148 2.008 1.999 0 3.774-.77 5.148-2.008l1.004 1.116c-1.626 1.462-3.75 2.392-6.152 2.392-2.349 0-4.525-.928-6.152-2.392l1.004-1.116zM18.35 11.8c0-3.276-2.046-6.054-4.963-7.148l.526-1.404c3.483 1.306 5.937 4.628 5.937 8.552 0 .492-.054.977-.103 1.415l-.002.018-1.49-.166c.05-.457.095-.866.095-1.267zM14.614 9.38l-4.012 5.732L6.97 11.48l1.06-1.06 2.368 2.368 2.988-4.268 1.228.86z" /> </svg> </span> <span class="flex__column">Protocols</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/protocols/">Protocols Overview</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Create a Tracking Plan </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/tracking-plan/best-practices/"> Data Collection Best Practices </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/tracking-plan/create/"> The Tracking Plan </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/tracking-plan/libraries/"> Tracking Plan Libraries </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Validate With Violations </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/validate/connect-sources/"> Connect Sources to Your Tracking Plan </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/validate/review-violations/"> Review and Resolve Event Violations </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/validate/forward-violations/"> Forward Violations </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Enforce With Data Controls </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/enforce/schema-configuration/"> Customize Your Schema Controls </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/enforce/forward-blocked-events/"> Forward Blocked Events </a> </li> </ul> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/protocols/transform/">Transform to Fix Bad Data</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Protocols Extensions </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/apis-and-extensions/"> Protocols APIs </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/apis-and-extensions/typewriter/"> Typewriter </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/protocols/apis-and-extensions/anomaly_detection/"> Anomaly Detection </a> </li> </ul> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/protocols/schema/">Schema Controls</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/protocols/faq/">Protocols FAQs</a> </li> </ul> </li> <!-- 01-what-is-segment.md - segment-app --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M16 5a1 1 0 100-2 1 1 0 000 2z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.134 11.036a8.207 8.207 0 00-.845-4.796l1.422-.733a9.807 9.807 0 01-1.406 11.026l-1.193-1.066a8.206 8.206 0 002.022-4.43zM13.76 2.711A8.202 8.202 0 003.89 15.467l-1.193 1.066A9.802 9.802 0 0114.493 1.289l-.732 1.422zM14.625 6.5l-4 5-1.25-1 4-5 1.25 1z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.2 4V1h1.6v3H9.2zM5.434 6.566l-2-2 1.132-1.132 2 2-1.132 1.132zM4 10.8H1V9.2h3v1.6zM19 10.8h-3V9.2h3v1.6zM10 15.379a9.45 9.45 0 00-7.375 3.542l-1.25-1a11.05 11.05 0 0117.25 0l-1.25 1A9.449 9.449 0 0010 15.38z" /> </svg> </span> <span class="flex__column">Segment App</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/segment-app/">Segment Web App</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/segment-app/workspace-home/">Workspace Home</a> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Access Management </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/"> Identity & Access Management Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/concepts/"> Concepts </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/roles/"> Roles </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/membership/"> Manage Workspace Access </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/labels/"> Label-Based Access Control </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/audit-trail/"> Audit Trail </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/sso/"> Single Sign On </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/scim/"> System for Cross-domain Identity Management (SCIM) Configuration Guide </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/iam/mfa/"> Multi-Factor Authentication (MFA) </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Extensions </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/extensions/"> Extensions Overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/extensions/dbt/"> dbt </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/segment-app/extensions/git/"> Git </a> </li> </ul> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/segment-app/iam/secure-password/">Picking a Secure Password</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/segment-app/set-up-envs/">Prod and Testing Environments in Segment</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/segment-app/verify-email-address/">Verifying Your Email Address</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/segment-app/support-access/">Support Access</a> </li> </ul> </li> <!-- 01-what-is-segment.md - api --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 13a1 1 0 100-2 1 1 0 000 2z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.25 19v-4h1.5v4h-1.5zM15.5 1.75c-1.486 0-2.75 1.264-2.75 2.75V11h-1.5V4.5c0-2.314 1.936-4.25 4.25-4.25s4.25 1.936 4.25 4.25V9h-1.5V4.5c0-1.486-1.264-2.75-2.75-2.75zM11.25 15.5V11h1.5v4.5c0 2.314-1.936 4.25-4.25 4.25s-4.25-1.936-4.25-4.25V12h1.5v3.5c0 1.486 1.264 2.75 2.75 2.75s2.75-1.264 2.75-2.75zM10 5.75H0v-1.5h10v1.5z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.25 5V0h1.5v5h-1.5zM2.25 5V0h1.5v5h-1.5zM2.75 5v4c0 1.286.964 2.25 2.25 2.25S7.25 10.286 7.25 9V5h1.5v4c0 2.114-1.636 3.75-3.75 3.75S1.25 11.114 1.25 9V5h1.5z"/> </svg> </span> <span class="flex__column">API</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Public API </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/api/public-api/"> Public API </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/api/public-api/fql/"> Destination Filter Query Language </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/api/public-api/query-language/"> Segment Query Language </a> </li> </ul> </li> <li class="menu-item menu-item--gray " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link flex flex--middle flex--justify" data-ref="accordion[trigger]"> <span class="flex__column"> Config API </span> <div class="menu-item__chevron flex__column flex__column--shrink"> <svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8 .5c0-.28-.22-.5-.5-.5h-7a.495.495 0 00-.37.83l3.5 4c.09.1.22.17.37.17s.28-.07.37-.17l3.5-4C7.95.74 8 .63 8 .5z"/> </svg> </div> </button> <ul class="menu-item__body menu-item__body--nested" data-ref="accordion[body]"> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/api/config-api/"> Config API overview </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/api/config-api/api-design/"> API design </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/api/config-api/authentication/"> Authentication </a> </li> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon flex" href="/docs/api/config-api/fql/"> Destination Filter Query Language </a> </li> </ul> </li> </ul> </li> <li class="menu-item"> <a class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" href="/docs/partners/"> <div class="menu-item__icon flex__column"> <svg viewBox="0 0 22 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M21 16a1 1 0 100-2 1 1 0 000 2z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M20.25 12V1h1.5v11h-1.5zM.25 16V1h1.5v15H.25z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M14.989 1.197l6.27 2.304-.518 1.408-5.73-2.106-4.261 1.705V10h-1.5V3.492l5.739-2.295zM15.53 11.53l-4.359 4.36-7.325-3.14H1v-1.5h3.154l6.675 2.86 3.64-3.64 1.061 1.06zM9.335 1.67l-8 4-.67-1.34 8-4 .67 1.34z"/> </svg> </div> <div class="flex__column">Partners</div> </a> </li> <li class="menu-item"> <a class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" href="/docs/glossary/"> <div class="menu-item__icon flex__column"> <svg viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 20a1 1 0 100-2 1 1 0 000 2z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M.25.25h11.115l4.385 3.59V20h-1.5V4.551L10.83 1.75H1.75v16.5H10v1.5H.25V.25z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M13 6.75H3v-1.5h10v1.5zM13 10.75H3v-1.5h10v1.5zM9 14.75H3v-1.5h6v1.5z" /> </svg> </div> <div class="flex__column">Glossary</div> </a> </li> </ul> </nav> <nav class="menu"> <ul class="menu__list list list--unstyle"> <!-- 01-what-is-segment.md - config-api --> <li class="menu-item " data-accordion data-class-active="menu-item--active"> <button class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" data-ref="accordion[trigger]"> <span class="menu-item__icon flex__column"> <svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 13a1 1 0 100-2 1 1 0 000 2z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.25 19v-4h1.5v4h-1.5zM15.5 1.75c-1.486 0-2.75 1.264-2.75 2.75V11h-1.5V4.5c0-2.314 1.936-4.25 4.25-4.25s4.25 1.936 4.25 4.25V9h-1.5V4.5c0-1.486-1.264-2.75-2.75-2.75zM11.25 15.5V11h1.5v4.5c0 2.314-1.936 4.25-4.25 4.25s-4.25-1.936-4.25-4.25V12h1.5v3.5c0 1.486 1.264 2.75 2.75 2.75s2.75-1.264 2.75-2.75zM10 5.75H0v-1.5h10v1.5z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.25 5V0h1.5v5h-1.5zM2.25 5V0h1.5v5h-1.5zM2.75 5v4c0 1.286.964 2.25 2.25 2.25S7.25 10.286 7.25 9V5h1.5v4c0 2.114-1.636 3.75-3.75 3.75S1.25 11.114 1.25 9V5h1.5z"/> </svg> </span> <span class="flex__column">Config API</span> </button> <ul class="menu-item__body" data-ref="accordion[body]"> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/config-api/">Config API overview</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/config-api/api-design/">API design</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/config-api/authentication/">Authentication</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/config-api/fql/">Destination Filter Query Language</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="https://reference.segmentapis.com/">Reference</a> </li> <li class="menu-item menu-item--green " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link flex" href="/docs/config-api/tutorial-javascript-google-analytics/">Creating a Javascript web source and Google Analytics destination</a> </li> </ul> </li> <li class="menu-item"> <a class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" href="/docs/help/"> <div class="menu-item__icon flex__column"> <svg viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M4 5a1 1 0 100-2 1 1 0 000 2z"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M13.607 2.12a9.256 9.256 0 00-6.307.4l-.6-1.375A10.756 10.756 0 111.32 6.317l1.35.653a9.256 9.256 0 1010.937-4.85z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M11 7.306a3.694 3.694 0 100 7.388 3.694 3.694 0 000-7.388zM5.806 11a5.194 5.194 0 1110.388 0 5.194 5.194 0 01-10.388 0z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M10.25 7V1h1.5v6h-1.5zM10.25 21v-6h1.5v6h-1.5zM20.991 11.75h-5.99v-1.5h5.99v1.5zM1 10.25h6v1.5H1v-1.5z" /> </svg> </div> <div class="flex__column">Help</div> </a> </li> <!-- <li class="menu-item"> <a class="menu-item__link menu-item__link--highlight menu-item__link--icon flex flex--middle" href="/docs/release-notes/"> <div class="menu-item__icon flex__column"> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M14.25 3V5.39525L2.25 9.46225V14.5377L5.25 15.5544V21.75H9.50777L11.1818 17.5648L14.25 18.6047V21H15.75V15H14.25V17.0209L9.75 15.4958V8.50419L14.25 6.97906V9H15.75V3H14.25ZM8.25 9.01256L3.75 10.5377V13.4623L8.25 14.9874V9.01256ZM6.75 20.25V16.0628L9.75916 17.0827L8.49223 20.25H6.75ZM15 13.0002C15.5523 13.0002 16 12.5525 16 12.0002C16 11.448 15.5523 11.0002 15 11.0002C14.4477 11.0002 14 11.448 14 12.0002C14 12.5525 14.4477 13.0002 15 13.0002ZM18 12.75H23V11.25H18V12.75ZM21.5304 5.53039L18.5304 8.53039L17.4697 7.46973L20.4697 4.46973L21.5304 5.53039ZM21.5304 18.4697L18.5304 15.4697L17.4697 16.5304L20.4697 19.5304L21.5304 18.4697Z"/> </svg> </div> <div class="flex__column">Release Notes</div> </a> </li> --> </ul> </nav> </div> </div> </div> </nav> <article class="integration page" data-headings-anchors data-tracking-scroll > <div class="integration__body page__body"> <ul class="breadcrumbs flex gutter list list--unstyle"> <li> <a class="breadcrumbs__link" href="/docs/">Home</a> </li> <li>/</li> <li> <a class="breadcrumbs__link" href="/docs/connections/"> Connections </a> </li> <li>/</li> <li> <a class="breadcrumbs__link" href="/docs/connections/sources/"> Sources </a> </li> <li>/</li> <li> <a class="breadcrumbs__link" href="/docs/connections/sources/catalog/"> Catalog </a> </li> <li>/</li> <li> <a class="breadcrumbs__link" href="/docs/connections/sources/catalog/libraries/"> Libraries </a> </li> <li>/</li> <li> <a class="breadcrumbs__link" href="/docs/connections/sources/catalog/libraries/mobile/"> Mobile </a> </li> <li>/</li> <li class="breadcrumbs__item"> Analytics-iOS </li> </ul> <div class="integration-header"><div class="flex__column"><h1 id="analytics-ios"> Analytics-iOS </h1> <!-- This include is adapted from the plan-grid.md include. An additional support-types.yml data file is added to centralize the support type data. --> <!-- The line below hides the grid if there's no matching data in sources.yml--> <div class="popover" data-popover data-active-class="popover--active"> <div class="flex flex--wrap waffle" style="margin-top: 8px;" > <div class="flex__column flex__column--shrink"> <span class="badge badge--gray" style="opacity:0.2"> Community x </span> </div> <div class="flex__column flex__column--shrink"> <span class="badge badge--"> Maintenance ✓ </span> </div> <div class="flex__column flex__column--shrink"> <span class="badge badge--gray" style="opacity:0.2"> Flagship x </span> </div> <div class="flex__column flex__column--shrink" style="padding-top:0px"> <a class="recent-contributor__button" style="padding: 4px 10px;" href="#" data-popover-target="contributors">?</a> </div> </div> <div class="popover__body" data-popover-body="contributors"> <p style="font-size:12px">Maintenance libraries send data as intended but receive no new feature support and only critical maintenance updates from Segment. When possible, Segment recommends using a Flagship version of these libraries.</p> </div> </div> </div> </div><hr><div class="mobile-menu-side"> <p class="destination-menu__title">On this page</p> <ul class="mobile-menu-side__list"> <li><a href="#analytics-ios-and-unique-identifiers" class="mobile-menu-side__link">Analytics-iOS and Unique Identifiers</a></li> <li><a href="#api-call-queueing-in-analytics-ios" class="mobile-menu-side__link">API call queueing in Analytics-iOS</a></li> <li><a href="#getting-started" class="mobile-menu-side__link">Getting Started</a></li> <li><a href="#data-collection" class="mobile-menu-side__link">Data Collection</a></li> <li><a href="#context" class="mobile-menu-side__link">Context</a></li> <li><a href="#selecting-destinations" class="mobile-menu-side__link">Selecting Destinations</a></li> <li><a href="#logging" class="mobile-menu-side__link">Logging</a></li> <li><a href="#proxy-https-calls" class="mobile-menu-side__link">Proxy HTTP(S) Calls</a></li> <li><a href="#ad-tracking-and-idfa" class="mobile-menu-side__link">Ad Tracking and IDFA</a></li> <li><a href="#bleeding-edge-releases" class="mobile-menu-side__link">Bleeding Edge Releases</a></li> <li><a href="#packaging-device-mode-destination-sdks" class="mobile-menu-side__link">Packaging device-mode destination SDKs</a></li> </ul> <hr class="mobile-menu-side__divider"> </div> <div class="markdown"> <div class="markdown"> <div class="current-version"> <p>Current Version: <a href="https://github.com/segmentio/analytics-ios/releases/tag/4.1.8" target="_blank">4.1.8</a></p> <p>Release Date: Feb 01, 2023</p> <div class="links"> <a class="no-icon" href="https://github.com/segmentio/analytics-ios" target="_blank"><img src="/docs/images/github.svg" /></a> <a class="no-icon" href="https://github.com/segmentio/analytics-ios/tags.atom" target="_blank"><img src="/docs/images/atom.svg" /></a> </div> </div> <p>With Analytics-iOS, you can send your data to analytics or marketing tool, without needing to learn, test, or implement a new API with each update or addition. <br /> <br /> <br /></p> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p><strong>Note:</strong> Segment does not currently support tracking of watchkit extensions for the Apple Watch. <a href="https://segment.com/requests/integrations/">Email us</a> if you’re interested in a Watchkit SDK. For now we recommend tracking watch interactions using the iPhone app code.</p> </div></div> <div class="premonition info"><div class="fa fa-info-circle"></div><div class="content"><p class="header">Analytics-Swift</p><p>The <a href="/docs/connections/sources/catalog/libraries/mobile/swift/">Analytics-Swift</a> library is in General Availability. If you’d like to migrate to Analytics-Swift, see the <a href="/docs/connections/sources/catalog/libraries/mobile/swift/migration/">migration guide</a>. Segment’s future development efforts concentrate on the new Analytics-Kotlin SDK, and will only ship security updates for the Analytics-Android SDK.</p> </div></div> <h2 id="analytics-ios-and-unique-identifiers">Analytics-iOS and Unique Identifiers</h2> <p>One of the most important parts of any analytics platform is the ability to consistently and accurately identify users. To do this, the platform must assign and persist some form of identification on the device, so you can analyze user actions effectively. This is especially important for funnel conversion analysis and retention analysis.</p> <p>Naturally the Analytics SDK needs a unique ID for each user. To protect end-users’ privacy, Apple places restrictions on how these IDs can be generated and used. This section explains Apple’s policies, and how Segment generates IDs in compliance with these policies.</p> <p>Before iOS 5 developers had access to <code class="language-plaintext highlighter-rouge">uniqueIdentifier</code>, which was a hardware-specific serial number that was consistent across different apps, vendors and installs. Starting with iOS 5, however, <a href="https://developer.apple.com/news/?id=3212013a">Apple deprecated access to this identifier</a>. In iOS 6 Apple introduced the <code class="language-plaintext highlighter-rouge">identifierForVendor</code> which protects end-users from cross-app identification. In iOS 7 Apple <a href="http://techcrunch.com/2013/06/14/ios-7-eliminates-mac-address-as-tracking-option-signaling-final-push-towards-apples-own-ad-identifier-technology/">restricted access to the device’s MAC address</a>, which many developers used as a workaround to get a similar device-specific serial number to replace <code class="language-plaintext highlighter-rouge">uniqueIdentifier</code>.</p> <p>Segment’s iOS library supports iOS 7+ by generating a UUID and storing it on disk. This complies with Apple’s required privacy policies, maintains compatibility, and also enables correct tracking in situations where multiple people use the same device, since the UUID can be regenerated.</p> <h2 id="api-call-queueing-in-analytics-ios">API call queueing in Analytics-iOS</h2> <p>The Segment SDK queues API calls rather than making a network request for each event tracked, to help improve the user’s battery life.</p> <p>Packaged, or “device-mode” destinations (where Segment sends data directly from the user’s device using the destination’s integration SDK), might have their own queue behavior. Check the destination vendor’s documentation for details.</p> <p>For cloud-mode destinations, when you make an API call (Track, Page, etc.) the Segment library adds that call to the queue, and sends the events to the Segment servers in batches. By default, the batch size is <code class="language-plaintext highlighter-rouge">100</code>.</p> <p>Batches are sent either:</p> <ul> <li>when there are 20 or more events in the queue</li> <li>on a scheduled timer, every 30 seconds</li> <li>when the app goes to the background</li> </ul> <p>To limit memory and disk usage, Segment only queues up to 1000 events. When the app is terminated, Segment saves the queue to disk, and loads that data again at app launch so there is no data loss.</p> <h2 id="getting-started">Getting Started</h2> <h3 id="about-mobile-connection-modes">About mobile connection modes</h3> <p>Segment defaults to using cloud-based <a href="/docs/connections/destinations/#connection-modes">connection mode</a> (“cloud-mode”) for any destination connected to a mobile source, because this can help <a href="https://segment.com/blog/mobile-app-size-effect-on-downloads/">decrease the size of your final app package</a>. When you use cloud-mode, Segment sends messages to the Segment servers, and then translates and forwards that data on to the downstream tools. This way, you only package the Segment mobile library with your app.</p> <p>However, many destination tools that specifically deal with mobile interactions require that you use a device-based connection mode (“device-mode”) so that they can collect information directly on the mobile device. (You can check the full list of destinations and <a href="/docs/connections/destinations/cmodes-compare/">which connection modes they support</a>.)</p> <p>If you plan to use destinations that require device-mode, you must <a href="#packaging-device-mode-destination-sdks">package the Segment-integration version of that tool’s SDK</a> along with the Segment source library in your app. The Segment-integration SDK allows you to still collect the data with Segment, but also enables any device-based features, and still saves you space.</p> <p>When you package a tool’s device-mode SDK with the Segment SDK, Segment sends the data directly to the tool’s API endpoint. Segment then also adds the tool <a href="/docs/guides/filtering-data/#filtering-with-the-integrations-object">to the <code class="language-plaintext highlighter-rouge">integrations</code> object</a> and sets it to <code class="language-plaintext highlighter-rouge">false</code>, so that the data is not sent a second time from Segment servers.</p> <p>For example, if you bundled the Segment SDK and Segment-Intercom library, you would see this in your payload:</p> <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nl">"integrations"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"Intercom"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="p">}</span><span class="err">,</span><span class="w"> </span></code></pre></div></div> <p>When you package Segment and the Segment-integration SDKs, you <em>must</em> use a dependency manager (such as Cocoapods or Gradle) to ensure that all SDKs are compatible and all of their dependencies are included. Segment does not support bundling mobile SDKs without a dependency manager.</p> <div> <a class="reference-button" target="_blank" href="https://github.com/segmentio/analytics-test-apps"> <span class="reference-button__icon "> <svg viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M1 9a1 1 0 100-2 1 1 0 000 2z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.693 2.29c-.652-.163-1.673-.283-3.07-.05a6.973 6.973 0 00-3.048 1.297 6.234 6.234 0 00-.825.739v11.74c.822-.72 2.03-1.49 3.627-1.756 1.56-.26 2.748-.263 3.56-.195.112.01.216.02.313.031V2.466a4.431 4.431 0 00-.557-.176zm.898.339l-.001-.001h.001zM19 2l.416-.624.334.223V16.04l-.983-.328h-.002a2.957 2.957 0 00-.2-.049 6.303 6.303 0 00-.752-.104c-.688-.057-1.75-.06-3.19.18-1.316.22-2.313.879-2.991 1.5-.338.31-.591.606-.758.82a4.837 4.837 0 00-.224.314l-.007.012h-.002L9.25 18V3.75l.15-.2.6.45-.6-.45v-.001l.002-.001.002-.003.006-.009.02-.025.067-.081c.056-.067.137-.16.243-.27.212-.22.523-.513.935-.823A8.473 8.473 0 0114.377.76c1.603-.267 2.832-.137 3.68.075.423.106.748.23.974.335a3.608 3.608 0 01.37.196l.008.005.004.003.002.001.001.001L19 2zm-8.358 16.388z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M2.307 2.29c.652-.163 1.673-.283 3.07-.05a6.973 6.973 0 013.048 1.297 6.235 6.235 0 01.825.739v11.74c-.821-.72-2.03-1.49-3.627-1.756-1.56-.26-2.748-.263-3.56-.195-.112.01-.216.02-.313.031V11H.25v5.04l.983-.327h.001l.032-.01c.033-.008.09-.023.168-.04.158-.032.41-.074.753-.103.688-.057 1.75-.06 3.19.18 1.316.22 2.313.879 2.991 1.5.338.31.591.606.758.82a4.86 4.86 0 01.224.314l.007.012h.001L10.75 18V3.75l-.15-.2L10 4l.6-.45v-.001l-.002-.001-.002-.003-.007-.009-.019-.025a5.64 5.64 0 00-.31-.351 7.734 7.734 0 00-.935-.823A8.473 8.473 0 005.623.76C4.02.493 2.791.623 1.943.835a5.61 5.61 0 00-.974.335 3.626 3.626 0 00-.37.196l-.008.005-.004.003-.002.001S.584 1.376 1 2l-.416-.624-.334.223V5h1.5V2.467c.141-.056.327-.12.557-.177zm-.898.339l.001-.001H1.41zm7.95 15.76z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.75 14.844v5.006l-8.843-1.106.186-1.488 7.157.894v-3.306h1.5z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M2.75 18.29V15h-1.5v5.022l8.857-1.28-.214-1.484L2.75 18.29z" /> </svg> </span> <h5 class="reference-button__heading"> iOS Test Apps </h5> <div class="reference-button__content"> <p>Segment maintains test apps for the iOS mobile library. Find them here.</p> </div> </a> </div> <h3 id="install-the-sdk">Install the SDK</h3> <p>The recommended way to install Analytics-iOS is using <a href="http://cocoapods.org/" target="_blank">CocoaPods</a>, since it means you can create a build with specific destinations, and because it makes it simple to install and upgrade.</p> <p>First, add the <code class="language-plaintext highlighter-rouge">Analytics</code> dependency to your <code class="language-plaintext highlighter-rouge">Podfile</code>, like so:</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">pod</span> <span class="s1">'Analytics'</span><span class="p">,</span> <span class="s1">'~&gt; 4.1'</span> </code></pre></div></div> <p>Then in your application delegate’s <code class="language-plaintext highlighter-rouge">- application:didFinishLaunchingWithOptions:</code> method, set up the SDK like so:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="n">configuration</span><span class="o">.</span><span class="n">trackApplicationLifecycleEvents</span> <span class="o">=</span> <span class="kc">true</span> <span class="c1">// Enable this to record certain application events automatically!</span> <span class="n">configuration</span><span class="o">.</span><span class="n">recordScreenViews</span> <span class="o">=</span> <span class="kc">true</span> <span class="c1">// Enable this to record screen views automatically!</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="n">configuration</span><span class="p">.</span><span class="n">trackApplicationLifecycleEvents</span> <span class="o">=</span> <span class="nb">YES</span><span class="p">;</span> <span class="c1">// Enable this to record certain application events automatically!</span> <span class="n">configuration</span><span class="p">.</span><span class="n">recordScreenViews</span> <span class="o">=</span> <span class="nb">YES</span><span class="p">;</span> <span class="c1">// Enable this to record screen views automatically!</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p><strong>Note:</strong> Automatically tracking lifecycle events (<code class="language-plaintext highlighter-rouge">Application Opened</code>, <code class="language-plaintext highlighter-rouge">Application Installed</code>, <code class="language-plaintext highlighter-rouge">Application Updated</code>) and screen views is optional using initialization config parameters, but highly recommended to hit the ground running with core events! See <a href="/docs/connections/sources/catalog/libraries/mobile/ios/quickstart/#step-4-track-actions">below</a> for more info!</p> </div></div> <p>And of course, import the SDK in the files that you use it with:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">Segment</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#import &lt;Segment/SEGAnalytics.h&gt; </span></code></pre></div></div> </div> </div> </div> <h3 id="including-the-sdks-for-destinations-using-device-mode">Including the SDKs for destinations using Device-mode</h3> <p>To keep the Analytics-iOS SDK lightweight, the Analytics pod only installs the Segment destination. This means that all your data is sent through Segment’s servers to any tools you enable using the default Cloud-mode.</p> <p>Some destinations <a href="/docs/connections/destinations/#connection-modes">require or offer Device-mode connections</a>. For those destinations, you must take some additional steps as <a href="/docs/connections/sources/catalog/libraries/mobile/ios/#packaging-device-mode-destination-sdks">to package the device-mode SDKs</a>.</p> <p>Now that the Segment Analytics-iOS SDK is installed and set up, you’re ready to…</p> <h3 id="configure-and-set-up-the-sdk">Configure and set up the SDK</h3> <p>The <code class="language-plaintext highlighter-rouge">SEGAnalyticsConfiguration</code> class provides a set of properties that control various policies of the <code class="language-plaintext highlighter-rouge">SEGAnalytics</code> instance. You initialize it with a <code class="language-plaintext highlighter-rouge">writeKey</code> as in the examples below:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">))</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">]];</span> </code></pre></div></div> </div> </div> </div> <table class="api-table"> <tr> <td><code class="language-plaintext highlighter-rouge">writeKey</code> <em>NSString *</em></td> <td>Your Segment source’s <strong>Write Key</strong>.</td> </tr> </table> <h3 id="application-lifecycle-tracking">Application Lifecycle Tracking</h3> <p>The Segment Analytics-iOS SDK can automatically instrument <a href="/docs/connections/spec/mobile/">common application lifecycle events</a> such as “Application Installed”, “Application Updated” and “Application Opened”. Simply enable this option when you initialize the SDK.</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="n">configuration</span><span class="o">.</span><span class="n">trackApplicationLifecycleEvents</span> <span class="o">=</span> <span class="kc">true</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="n">configuration</span><span class="p">.</span><span class="n">trackApplicationLifecycleEvents</span> <span class="o">=</span> <span class="nb">YES</span><span class="p">;</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <h3 id="automatic-screen-tracking">Automatic Screen Tracking</h3> <p>The Segment Analytics-iOS SDK can automatically instrument screen calls. It uses method swizzling to detect when <code class="language-plaintext highlighter-rouge">ViewController</code>s are loaded, and uses the label of the view controller (or the class name if a label is not available) as the screen name. It removes the string “ViewController” from the name if one is present.</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="n">configuration</span><span class="o">.</span><span class="n">recordScreenViews</span> <span class="o">=</span> <span class="kc">true</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="n">configuration</span><span class="p">.</span><span class="n">recordScreenViews</span> <span class="o">=</span> <span class="nb">YES</span><span class="p">;</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <h3 id="automatic-push-notification-tracking">Automatic Push Notification Tracking</h3> <p>When you set <code class="language-plaintext highlighter-rouge">trackPushNotifications</code> to <code class="language-plaintext highlighter-rouge">YES</code>, the SDK automatically sends a Track event for <code class="language-plaintext highlighter-rouge">Push Notification Received</code> and <code class="language-plaintext highlighter-rouge">Push Notification Tapped</code>.</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="n">configuration</span><span class="o">.</span><span class="n">trackPushNotifications</span> <span class="o">=</span> <span class="kc">true</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="n">configuration</span><span class="p">.</span><span class="n">trackPushNotifications</span> <span class="o">=</span> <span class="nb">YES</span><span class="p">;</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <h3 id="automatic-deep-link-tracking">Automatic Deep Link Tracking</h3> <p>When you set <code class="language-plaintext highlighter-rouge">trackDeepLinks</code> to <code class="language-plaintext highlighter-rouge">YES</code>, the SDK automatically sends a Track event for <code class="language-plaintext highlighter-rouge">Deep Link Opened</code>.</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="n">configuration</span><span class="o">.</span><span class="n">trackDeepLinks</span> <span class="o">=</span> <span class="kc">true</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="n">configuration</span><span class="p">.</span><span class="n">trackDeepLinks</span> <span class="o">=</span> <span class="nb">YES</span><span class="p">;</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p><strong>Note:</strong> You still need to call the <code class="language-plaintext highlighter-rouge">continueUserActivity</code> and <code class="language-plaintext highlighter-rouge">openURL</code> methods on the analytics client.</p> </div></div> <h3 id="flushing">Flushing</h3> <p>You can set the number of events that should queue before flushing. Setting this to <code class="language-plaintext highlighter-rouge">1</code> will send events as they come in (i.e. not send batched events) and will use more battery. <code class="language-plaintext highlighter-rouge">20</code> by default.</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="n">configuration</span><span class="o">.</span><span class="n">flushAt</span> <span class="o">=</span> <span class="mi">1</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="n">configuration</span><span class="p">.</span><span class="n">flushAt</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>You can also manually <code class="language-plaintext highlighter-rouge">flush</code> the queue:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">alias</span><span class="p">(</span><span class="s">"glenncoco"</span><span class="p">)</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">flush</span><span class="p">()</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">alias</span><span class="p">:</span><span class="s">@"glenncoco"</span><span class="p">];</span> <span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">flush</span><span class="p">]</span> </code></pre></div></div> </div> </div> </div> <h2 id="data-collection">Data Collection</h2> <p>Now that the Segment SDK and any accompanying packaged SDKs are installed, you’re ready to collect some data!</p> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p><strong>Good to know</strong>: For any of the methods described in this doc, you can replace the properties and traits in the code samples with variables that represent the data collected.</p> </div></div> <h3 id="identify">Identify</h3> <p>Segment’s Identify method lets you tie a user to their actions and record traits about them. It includes a unique User ID and any optional traits you know about them.</p> <p>Segment recommends that you call Identify once when you first create the user’s account, and only call it again later when they update their traits or you change them.</p> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p><strong>Note:</strong> Segment automatically assigns an <code class="language-plaintext highlighter-rouge">anonymousId</code> to users before you identify them. The <code class="language-plaintext highlighter-rouge">userId</code> is what connects anonymous activities across devices (for example, iPhone and iPad).</p> </div></div> <p>Example <code class="language-plaintext highlighter-rouge">identify</code> call:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">identify</span><span class="p">(</span><span class="s">"a user's id"</span><span class="p">,</span> <span class="nv">traits</span><span class="p">:</span> <span class="p">[</span><span class="s">"email"</span><span class="p">:</span> <span class="s">"a user's email address"</span><span class="p">])</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">identify</span><span class="p">:</span><span class="s">@"a user's id"</span> <span class="nl">traits:</span><span class="p">@{</span> <span class="s">@"email"</span><span class="o">:</span> <span class="s">@"a user's email address"</span> <span class="p">}];</span> </code></pre></div></div> </div> </div> </div> <table class="api-table"> <tr> <td><code class="language-plaintext highlighter-rouge">userId</code> <em>NSString *, optional</em></td> <td>The database ID for this user. If you don’t know who the user is yet, you can omit the <code class="language-plaintext highlighter-rouge">userId</code> and just record <code class="language-plaintext highlighter-rouge">traits</code>. You can read more in the <a href="/docs/connections/spec/identify">identify reference</a>.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">traits</code> <em>NSDictionary *, optional</em></td> <td>A dictionary of traits you know about the user, like their <code class="language-plaintext highlighter-rouge">email</code> or <code class="language-plaintext highlighter-rouge">name</code>. You can read more about traits in the <a href="/docs/connections/spec/identify">identify reference</a>.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">options</code> <em>NSDictionary *, optional</em></td> <td>A dictionary of extra <a href="/docs/connections/sources/catalog/libraries/mobile/ios/#selecting-destinations">options</a> for the call.</td> </tr> </table> <p>Analytics-iOS works on its own background thread, so it will never block the main thread for the UI or the calling thread.</p> <p>Calling <code class="language-plaintext highlighter-rouge">- identify:</code> with a <code class="language-plaintext highlighter-rouge">userId</code> will write that ID to disk to be used in subsequent calls. That ID can be removed either by uninstalling the app or by calling <a href="#reset"><code class="language-plaintext highlighter-rouge">reset</code></a>.</p> <p>Find details on the identify method payload in the <a href="/docs/connections/spec/identify/">Identify Spec documentation</a>.</p> <h3 id="track">Track</h3> <p>Segment’s Track method lets you record the actions your users perform. Every action triggers what we call an “event”, which can also have associated properties.</p> <p>To get started, the Segment iOS SDK can automatically track a few key common events with the <a href="/docs/connections/spec/mobile/">Segment Native Mobile Spec</a>, such as the <code class="language-plaintext highlighter-rouge">Application Installed</code>, <code class="language-plaintext highlighter-rouge">Application Updated</code> and <code class="language-plaintext highlighter-rouge">Application Opened</code>. Enable this option during initialization.</p> <p>You might also want to track events that are indicators of success for your mobile app, like <strong>Signed Up</strong>, <strong>Item Purchased</strong> or <strong>Article Bookmarked</strong>. Segment recommends tracking just a few important events to start out. You can always add more later! An example Track call might look like this:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">track</span><span class="p">(</span><span class="s">"Item Purchased"</span><span class="p">,</span> <span class="nv">properties</span><span class="p">:</span> <span class="p">[</span><span class="s">"item"</span><span class="p">:</span> <span class="s">"Sword of Heracles"</span><span class="p">,</span> <span class="s">"revenue"</span><span class="p">:</span> <span class="mf">2.95</span><span class="p">])</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">track</span><span class="p">:</span><span class="s">@"Item Purchased"</span> <span class="nl">properties:</span><span class="p">@{</span> <span class="s">@"item"</span><span class="o">:</span> <span class="s">@"Sword of Heracles"</span><span class="p">,</span> <span class="s">@"revenue"</span><span class="o">:</span> <span class="mf">@2.95</span> <span class="p">}];</span> </code></pre></div></div> </div> </div> </div> <p>This example Track call above tells you that your user just triggered the <strong>Item Purchased</strong> event, and records the <code class="language-plaintext highlighter-rouge">item</code> name of “Sword of Heracles” and <code class="language-plaintext highlighter-rouge">revenue</code> of 2.95.</p> <p>Track event properties can be anything you want to record. In this case, item and revenue.</p> <p>The Track call has the following fields:</p> <table class="api-table"> <tr> <td><code class="language-plaintext highlighter-rouge">event</code> <em>NSString *</em></td> <td>The name of the event. We recommend human-readable names like <strong>Song Played</strong> or <strong>Status Updated</strong>.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">properties</code> <em>NSDictionary *, optional</em></td> <td>A dictionary of properties for the event. If the event was <code class="language-plaintext highlighter-rouge">Product Added</code> to cart, it might have properties like <code class="language-plaintext highlighter-rouge">price</code> and <code class="language-plaintext highlighter-rouge">productType</code>.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">options</code> <em>NSDictionary *, optional</em></td> <td>A dictionary of extra <a href="/docs/connections/sources/catalog/libraries/mobile/ios/#selecting-destinations">options</a> for the call.</td> </tr> </table> <h3 id="screen">Screen</h3> <p>The <a href="/docs/connections/spec/screen/">Screen</a> method lets you you record whenever a user sees a screen of your mobile app, along with optional extra information about the page being viewed.</p> <p>You’ll want to record a screen event an event whenever the user opens a screen in your app. This could be a view, fragment, dialog or activity depending on your app.</p> <p>Example Screen call:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">screen</span><span class="p">(</span><span class="s">"Photo Feed"</span><span class="p">,</span> <span class="nv">properties</span><span class="p">:</span> <span class="p">[</span><span class="s">"Feed Type"</span><span class="p">:</span> <span class="s">"private"</span><span class="p">])</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">screen</span><span class="p">:</span><span class="s">@"Photo Feed"</span> <span class="nl">properties:</span><span class="p">@{</span> <span class="s">@"Feed Type"</span><span class="o">:</span> <span class="s">@"private"</span> <span class="p">}];</span> </code></pre></div></div> </div> </div> </div> <p>The <code class="language-plaintext highlighter-rouge">screen</code> call has the following fields:</p> <table class="api-table"> <tr> <td><code class="language-plaintext highlighter-rouge">name</code> <em>NSString *</em></td> <td>The name of the screen, for example <strong>Signup</strong> or <strong>Home</strong>.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">properties</code> <em>NSDictionary *, optional</em></td> <td>A dictionary of properties for the screen. A screen <strong>Photo Feed</strong> might have properties like <code class="language-plaintext highlighter-rouge">Feed Type</code> or <code class="language-plaintext highlighter-rouge">Sort Order</code>.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">options</code> <em>NSDictionary *, optional</em></td> <td>A dictionary of extra <a href="/docs/connections/sources/catalog/libraries/mobile/ios/#selecting-destinations">options</a> for the call.</td> </tr> </table> <p>Find details on the Screen payload in the <a href="/docs/connections/spec/screen/">Screen Spec documentation</a>.</p> <h3 id="group">Group</h3> <p>The Segment Group method lets you associate an <a href="/docs/connections/sources/catalog/libraries/mobile/ios/#identify">identified user</a> user with a group. A group could be a company, organization, account, project or team! It also lets you record custom traits about the group, like industry or number of employees.</p> <p>This is useful for tools like <a href="/docs/connections/destinations/catalog/intercom/">Intercom</a>, <a href="/docs/connections/destinations/catalog/preact/">Preact</a> and <a href="/docs/connections/destinations/catalog/totango/">Totango</a>, as it ties the user to a <strong>group</strong> of other users.</p> <p>An example Group call might look like this:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">group</span><span class="p">(</span><span class="s">"group123"</span><span class="p">,</span> <span class="nv">traits</span><span class="p">:</span> <span class="p">[</span><span class="s">"name"</span><span class="p">:</span> <span class="s">"Initech"</span><span class="p">,</span> <span class="s">"description"</span><span class="p">:</span> <span class="s">"Accounting Software"</span><span class="p">])</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">group</span><span class="p">:</span><span class="s">@"group123"</span> <span class="nl">traits:</span><span class="p">@{</span> <span class="s">@"name"</span><span class="o">:</span> <span class="s">@"Initech"</span><span class="p">,</span> <span class="s">@"description"</span><span class="o">:</span> <span class="s">@"Accounting Software"</span> <span class="p">}];</span> </code></pre></div></div> </div> </div> </div> <p>The Group call has the following fields:</p> <table class="api-table"> <tr> <td><code class="language-plaintext highlighter-rouge">userId</code> <em>String</em></td> <td>The ID for this user in your database.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">groupId</code> <em>String</em></td> <td>The ID for this group in your database.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">traits</code> <em>Traits, optional</em></td> <td>A dictionary of traits you know about the group. Things like: <code class="language-plaintext highlighter-rouge">name</code> or <code class="language-plaintext highlighter-rouge">website</code>.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">options</code> <em>Options, optional</em></td> <td>An <code class="language-plaintext highlighter-rouge">Options</code> object lets you <a href="#selecting-destinations">enable or disable destinations</a>, or <a href="/docs/connections/spec/common/#context">send additional context</a>.</td> </tr> </table> <p>Find more details about <code class="language-plaintext highlighter-rouge">group</code> including the <code class="language-plaintext highlighter-rouge">group</code> <strong>payload</strong> in our <a href="/docs/connections/spec/group/">Spec</a>.</p> <h3 id="alias">Alias</h3> <p>The Segment Alias method is how you associate one identity with another. This is an advanced method, but it is required to manage user identities successfully in some destinations.</p> <p>In <a href="/docs/connections/destinations/catalog/mixpanel/#alias">Mixpanel</a> it’s used to associate an anonymous user with an identified user once they sign up. For <a href="/docs/connections/destinations/catalog/kissmetrics/#alias">Kissmetrics</a>, if your user switches IDs, you can use ‘alias’ to rename the ‘userId’.</p> <p>Example Alias call:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">alias</span><span class="p">(</span><span class="s">"some new id"</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">alias</span><span class="p">:</span><span class="s">@"some new id"</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>The Alias call has the following fields:</p> <table class="api-table"> <tr> <td><code class="language-plaintext highlighter-rouge">newId</code> <em>NSString *</em></td> <td>The newId of the user you want to map to.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">options</code> <em>NSDictionary *, optional</em></td> <td>A dictionary of extra <a href="/docs/connections/sources/catalog/libraries/mobile/ios/#selecting-destinations">options</a> for the call.</td> </tr> </table> <p>For more details about the Alias method, including the Alias call payload, check out the <a href="/docs/connections/spec/alias/">Alias Spec documentation</a>.</p> <h3 id="anonymousid">AnonymousId</h3> <p>You can retrieve the <code class="language-plaintext highlighter-rouge">anonymousId</code> set by the library by using:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="n">getAnonymousId</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">getAnonymousId</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>To set the <code class="language-plaintext highlighter-rouge">anonymousId</code> to a custom value you can set this via the <code class="language-plaintext highlighter-rouge">options</code> parameter:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">identify</span><span class="p">(</span><span class="kc">nil</span><span class="p">,</span> <span class="nv">traits</span><span class="p">:</span> <span class="p">[</span><span class="s">"email"</span><span class="p">:</span> <span class="s">"a user's email address"</span><span class="p">],</span> <span class="nv">options</span><span class="p">:</span> <span class="p">[</span><span class="s">"anonymousId"</span> <span class="p">:</span> <span class="s">"test_anonymousId"</span><span class="p">]);</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">identify</span><span class="p">:</span><span class="nb">nil</span> <span class="nf">traits</span><span class="p">:@{</span> <span class="s">@"email"</span><span class="o">:</span> <span class="s">@"a user's email address"</span> <span class="p">}</span> <span class="n">options</span><span class="o">:</span> <span class="p">@{</span> <span class="s">@"anonymousId"</span><span class="o">:</span><span class="s">@"test_anonymousId"</span><span class="p">}];</span> </code></pre></div></div> </div> </div> </div> <h3 id="reset">Reset</h3> <p>The <code class="language-plaintext highlighter-rouge">- reset</code> method clears the SDK’s internal stores for the current <code class="language-plaintext highlighter-rouge">user</code> and <code class="language-plaintext highlighter-rouge">group</code>. This is useful for apps where users can log in and out with different identities over time.</p> <p>The example code below clears all information about the user.</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">reset</span><span class="p">()</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">reset</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p><strong>Reset does not clear events in the queue</strong>, and any remaining events in the queue are sent the next time the app starts. You might want to call <a href="#flush">Flush</a> before you call Reset.</p> <div class="premonition info"><div class="fa fa-info-circle"></div><div class="content"><p><strong>Note</strong>: Each time you call <code class="language-plaintext highlighter-rouge">reset</code>, a new AnonymousId is generated the next time the app is opened, which can impact the number of Monthly Tracked Users (MTUs) you process.</p> </div></div> <h3 id="disabling-data-collection-for-users-who-opt-out">Disabling Data Collection for Users who opt out</h3> <p>Depending on the audience for your app (for example, children) or the countries where you sell your app (for example, the EU), you might need to offer the ability for users to opt-out of analytics data collection from inside your app. You can turn off forwarding to ALL destinations including Segment itself using the following code:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">disable</span><span class="p">()</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">disable</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>Or if the user opts back in, you can re-enable data collection:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">enable</span><span class="p">()</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">enable</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <div class="premonition warning"><div class="fa fa-exclamation-circle"></div><div class="content"><p>If you disable the Segment SDK in response to user opt-out, all Segment method invocations (Track, Screen, Identify, etc) are ignored. However, this does not disable any destination SDKs that you bundled along with Segment. You should consult the vendor documentation for those destinations, and invoke the corresponding <code class="language-plaintext highlighter-rouge">disable</code> methods for each packaged SDK to ensure that any automatic data collection stops.</p> </div></div> <h2 id="context">Context</h2> <p>Context is a dictionary of extra information you can provide about a specific API call. You can add any custom data to the context dictionary that you want to have access to in the raw logs. Some keys in the context dictionary <a href="/docs/connections/spec/common/#context">have semantic meaning and are collected for you automatically</a>, such as information about the user’s device.</p> <p>The example below shows a track call where campaign data is added to context:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">track</span><span class="p">(</span><span class="s">"Product Viewed"</span><span class="p">,</span> <span class="nv">properties</span><span class="p">:</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="p">[</span><span class="s">"context"</span><span class="p">:</span> <span class="p">[</span><span class="s">"campaign"</span><span class="p">:</span> <span class="p">[</span><span class="s">"medium"</span><span class="p">:</span> <span class="s">"email"</span><span class="p">,</span> <span class="s">"name"</span><span class="p">:</span> <span class="s">"testCampaign"</span><span class="p">,</span> <span class="s">"source"</span><span class="p">:</span> <span class="s">"testSource"</span><span class="p">]]])</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">track</span><span class="p">:</span><span class="s">@"Product Viewed"</span> <span class="nl">properties:</span><span class="nb">nil</span> <span class="nl">options:</span><span class="p">@{</span> <span class="s">@"context"</span><span class="o">:</span> <span class="p">@{</span> <span class="s">@"campaign"</span><span class="o">:</span> <span class="p">@{</span> <span class="s">@"medium"</span><span class="o">:</span> <span class="s">@"email"</span><span class="p">,</span> <span class="s">@"name"</span><span class="o">:</span> <span class="s">@"testCampaign"</span><span class="p">,</span> <span class="s">@"source"</span><span class="o">:</span> <span class="s">@"testSource"</span> <span class="p">}}}];</span> </code></pre></div></div> </div> </div> </div> <p>You can also override any context that Segment automatically collects.</p> <p>The example below shows a track call where locale is overwritten to a specific value:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">track</span><span class="p">(</span><span class="s">"Product Viewed"</span><span class="p">,</span> <span class="nv">properties</span><span class="p">:</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="p">[</span><span class="s">"context"</span><span class="p">:</span> <span class="p">[</span><span class="s">"locale"</span><span class="p">:</span> <span class="s">"en"</span><span class="p">]])</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">track</span><span class="p">:</span><span class="s">@"Product Viewed"</span> <span class="nl">properties:</span><span class="nb">nil</span> <span class="nl">options:</span><span class="p">@{</span> <span class="s">@"context"</span><span class="o">:</span> <span class="p">@{</span> <span class="s">@"locale"</span><span class="o">:</span> <span class="s">@"en"</span> <span class="p">}}];</span> </code></pre></div></div> </div> </div> </div> <h2 id="selecting-destinations">Selecting Destinations</h2> <p>You can pass an <code class="language-plaintext highlighter-rouge">integrations</code> object on Page, Track, Alias, Group and Identify calls to turn specific destinations on or off. All destinations are enabled by default.</p> <p>You can enable or disable destinations by specifying an <code class="language-plaintext highlighter-rouge">NSDictionary *</code> in the <code class="language-plaintext highlighter-rouge">options</code> parameter of the Segment methods as in the examples below:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">options</span><span class="p">:</span> <span class="p">[</span> <span class="s">"integrations"</span><span class="p">:</span> <span class="p">[</span> <span class="s">"ENABLED_INTEGRATION_NAME"</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="s">"DISABLED_INTEGRATION_NAME"</span><span class="p">:</span> <span class="kc">false</span> <span class="p">]</span> <span class="p">]</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nl">options:</span><span class="p">@{</span> <span class="s">@"integrations"</span><span class="o">:</span> <span class="p">@{</span> <span class="s">@"ENABLED_INTEGRATION_NAME"</span><span class="o">:</span> <span class="nb">@YES</span><span class="p">,</span> <span class="s">@"DISABLED_INTEGRATION_NAME: @NO</span><span class="err"> </span><span class="s"> }</span><span class="err"> </span><span class="s">}</span><span class="err"> </span></code></pre></div></div> </div> </div> </div> <p>The example below shows a Track call that is sent to all enabled destinations except Mixpanel:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">track</span><span class="p">(</span><span class="s">"Product Rated"</span><span class="p">,</span> <span class="nv">properties</span><span class="p">:</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="p">[</span><span class="s">"integrations"</span><span class="p">:</span> <span class="p">[</span><span class="s">"All"</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="s">"Mixpanel"</span><span class="p">:</span> <span class="kc">false</span><span class="p">]])</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">SEGAnalytics</span> <span class="nf">sharedAnalytics</span><span class="p">]</span> <span class="nf">track</span><span class="p">:</span><span class="s">@"Product Rated"</span> <span class="nl">properties:</span><span class="nb">nil</span> <span class="nl">options:</span><span class="p">@{</span> <span class="s">@"integrations"</span><span class="o">:</span> <span class="p">@{</span> <span class="s">@"All"</span><span class="o">:</span> <span class="nb">@YES</span><span class="p">,</span> <span class="s">@"Mixpanel"</span><span class="o">:</span> <span class="nb">@NO</span> <span class="p">}}];</span> </code></pre></div></div> </div> </div> </div> <p>Destination flags are <strong>case sensitive</strong> and match <a href="/docs/connections/destinations/">the destination’s name in the docs</a> (for example “AdLearn Open Platform”, “awe.sm”, “MailChimp”, etc.).</p> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p><strong>Note:</strong> Business level customers can filter track calls from the Segment App from the source schema page. Segment recommends that you use this method when possible, because simpler, and can be updated without any code changes in your app.</p> </div></div> <h3 id="disabled-destinations-in-the-debugger">Disabled destinations in the debugger</h3> <p>When you view raw payload data in the <a href="/docs/connections/sources/debugger/">Segment Debugger</a>, you might see an <code class="language-plaintext highlighter-rouge">integrations</code> object in the payload that indicates that some of your destinations are turned off, even if you didn’t specifically turn them off. You might see a payload that like the example below:</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="dl">"</span><span class="s2">integrations</span><span class="dl">"</span><span class="p">:</span> <span class="p">{</span> <span class="dl">"</span><span class="s2">Segment.io</span><span class="dl">"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="dl">"</span><span class="s2">Google Analytics</span><span class="dl">"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="dl">"</span><span class="s2">Localytics</span><span class="dl">"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="dl">"</span><span class="s2">Mixpanel</span><span class="dl">"</span><span class="p">:</span> <span class="kc">false</span> <span class="p">}</span> </code></pre></div></div> <p>When Segment sends data in Device-mode (directly from a user’s device) it sets the destination to <code class="language-plaintext highlighter-rouge">false</code> in the <code class="language-plaintext highlighter-rouge">integrations</code> object of the data that it sends to the Segment servers. This indicates that the data was sent directly from the user’s device to the destination endpoint, and prevents the Segment servers from sending the destination that same data again.</p> <h2 id="logging">Logging</h2> <p>To see a trace of your data going through the SDK, you can enable debug logging with <code class="language-plaintext highlighter-rouge">- debug:</code>:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">debug</span><span class="p">(</span><span class="kc">true</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">debug</span><span class="p">:</span><span class="nb">YES</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>Or disable it like this:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Analytics</span><span class="o">.</span><span class="nf">debug</span><span class="p">(</span><span class="kc">false</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">debug</span><span class="p">:</span><span class="nb">NO</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>By default debug logging is disabled.</p> <h2 id="proxy-https-calls">Proxy HTTP(S) Calls</h2> <p>You can point the iOS SDK to your own hosted <a href="/docs/connections/sources/catalog/libraries/website/javascript/custom-proxy/">proxy</a> of the Segment API.</p> <p>This runs the HTTP traffic for the Segment API through the proxy.</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="c1">// Set a custom request factory which allows you to modify the way the library creates an HTTP request.</span> <span class="c1">// In this case, we're transforming the URL to point to our own custom non-Segment host.</span> <span class="n">configuration</span><span class="o">.</span><span class="n">requestFactory</span> <span class="o">=</span> <span class="p">{</span> <span class="p">(</span><span class="nv">url</span><span class="p">:</span> <span class="kt">URL</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">URLRequest</span> <span class="k">in</span> <span class="k">var</span> <span class="nv">result</span> <span class="o">=</span> <span class="kt">URLRequest</span><span class="p">(</span><span class="nv">url</span><span class="p">:</span> <span class="n">url</span><span class="p">)</span> <span class="k">if</span> <span class="k">var</span> <span class="nv">components</span> <span class="o">=</span> <span class="kt">URLComponents</span><span class="p">(</span><span class="nv">url</span><span class="p">:</span> <span class="n">url</span><span class="p">,</span> <span class="nv">resolvingAgainstBaseURL</span><span class="p">:</span> <span class="kc">false</span><span class="p">)</span> <span class="p">{</span> <span class="n">components</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="s">"YOUR_PROXY_HOST"</span> <span class="k">if</span> <span class="k">let</span> <span class="nv">transformedURL</span> <span class="o">=</span> <span class="n">components</span><span class="o">.</span><span class="n">url</span> <span class="p">{</span> <span class="n">result</span> <span class="o">=</span> <span class="kt">URLRequest</span><span class="p">(</span><span class="nv">url</span><span class="p">:</span> <span class="n">transformedURL</span><span class="p">)</span> <span class="p">}</span> <span class="p">}</span> <span class="k">return</span> <span class="n">result</span> <span class="p">}</span> <span class="c1">// Set any other custom configuration options.</span> <span class="o">...</span> <span class="c1">// Initialize the SDK with the configuration.</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="c1">// Set a custom request factory which allows you to modify the way the library creates an HTTP request.</span> <span class="c1">// In this case, we're transforming the URL to point to our own custom non-Segment host.</span> <span class="n">configuration</span><span class="p">.</span><span class="n">requestFactory</span> <span class="o">=</span> <span class="o">^</span><span class="p">(</span><span class="n">NSURL</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span> <span class="p">{</span> <span class="n">NSURLComponents</span> <span class="o">*</span><span class="n">components</span> <span class="o">=</span> <span class="p">[</span><span class="n">NSURLComponents</span> <span class="nf">componentsWithURL</span><span class="p">:</span><span class="n">url</span> <span class="nf">resolvingAgainstBaseURL</span><span class="p">:</span><span class="nb">NO</span><span class="p">];</span> <span class="c1">// Replace YOUR_PROXY_HOST with the address of your proxy, e.g. aba64da6.ngrok.io.</span> <span class="n">components</span><span class="p">.</span><span class="n">host</span> <span class="o">=</span> <span class="s">@"YOUR_PROXY_HOST"</span><span class="p">;</span> <span class="n">NSURL</span> <span class="o">*</span><span class="n">transformedURL</span> <span class="o">=</span> <span class="n">components</span><span class="p">.</span><span class="n">URL</span><span class="p">;</span> <span class="k">return</span> <span class="p">[</span><span class="n">NSMutableURLRequest</span> <span class="nf">requestWithURL</span><span class="p">:</span><span class="n">transformedURL</span><span class="p">];</span> <span class="p">};</span> <span class="c1">// Set any other custom configuration options.</span> <span class="p">...</span> <span class="c1">// Initialize the SDK with the configuration.</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <h2 id="ad-tracking-and-idfa">Ad Tracking and IDFA</h2> <p>Starting iOS 14, applications must prompt users if that app needs to collect their Identifier for Advertisers (IDFA). Going forward with analytics-ios-4.1 and later, Segment doesn’t auto-collect IDFA. If your app or any integrations require the use of IDFA, you need to:</p> <ol> <li>import the <a href="https://developer.apple.com/documentation/adsupport">AdSupport</a> and <a href="https://developer.apple.com/documentation/apptrackingtransparency">App Tracking Transparency</a> Frameworks by Apple</li> <li>pass the below code snippet to Segment config and start tracking events</li> <li>prompt the user for consent and collect the IDFA</li> </ol> <p>You can use the following closure snippet to pass the value to <code class="language-plaintext highlighter-rouge">analytics-ios</code> as configurations:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">AdSupport</span> <span class="o">...</span> <span class="k">let</span> <span class="nv">configuration</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="c1">// Enable advertising collection</span> <span class="n">configuration</span><span class="o">.</span><span class="n">enableAdvertisingTracking</span> <span class="o">=</span> <span class="kc">true</span> <span class="c1">// Set the block to be called when the advertisingID is needed</span> <span class="c1">// NOTE: In iOS 14, you'll need to manually do authorization elsewhere and only when it has been authorized, return the advertisingIdentifier to segment via the block below</span> <span class="n">configuration</span><span class="o">.</span><span class="n">adSupportBlock</span> <span class="o">=</span> <span class="p">{</span> <span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span> <span class="k">in</span> <span class="k">return</span> <span class="kt">ASIdentifierManager</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="n">advertisingIdentifier</span><span class="o">.</span><span class="n">uuidString</span> <span class="p">}</span> <span class="kt">Analytics</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">configuration</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">@import</span> <span class="n">AdSupport</span><span class="p">;</span> <span class="p">...</span> <span class="n">SEGAnalyticsConfiguration</span><span class="o">*</span> <span class="n">configuration</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="c1">// Enable advertising collection</span> <span class="n">configuration</span><span class="p">.</span><span class="n">enableAdvertisingTracking</span> <span class="o">=</span> <span class="nb">YES</span><span class="p">;</span> <span class="c1">// Set the block to be called when the advertisingID is needed</span> <span class="c1">// NOTE: In iOS 14, you'll need to manually do authorization elsewhere and only when it has been authorized, return the advertisingIdentifier to segment via the block below</span> <span class="n">configuration</span><span class="p">.</span><span class="n">adSupportBlock</span> <span class="o">=</span> <span class="o">^</span><span class="p">{</span> <span class="k">return</span> <span class="p">[[[</span><span class="n">ASIdentifierManager</span> <span class="nf">sharedManager</span><span class="p">]</span> <span class="nf">advertisingIdentifier</span><span class="p">]</span> <span class="nf">UUIDString</span><span class="p">];</span> <span class="p">};</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">configuration</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>The same value for IDFA will used across all (device and cloud-mode) integrations.</p> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p><strong>Note:</strong> analytics-ios can continue to collect events without the IDFA until user is prompted and only upon user consent the <code class="language-plaintext highlighter-rouge">advertisingId</code> field is added to the event payload</p> </div></div> <p>Ad-tracking affects two keys under the <code class="language-plaintext highlighter-rouge">context</code> object of every event:</p> <table class="api-table"> <tr> <td><code class="language-plaintext highlighter-rouge">device.adTrackingEnabled</code></td> <td><code class="language-plaintext highlighter-rouge">true</code> if SDK is setup with closure and user has consented, <code class="language-plaintext highlighter-rouge">false</code> otherwise</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge">device.advertisingId</code> </td> <td><code class="language-plaintext highlighter-rouge">idfa_value</code> if user opts-in otherwise this key is skipped from event payload</td> </tr> </table> <p>If your use cases don’t require the need for IDFA collection you can skip this setup and under your event context you will see not see the <code class="language-plaintext highlighter-rouge">device.adTrackingEnabled</code> and <code class="language-plaintext highlighter-rouge">device.advertisingId</code> key/value in your event payload.</p> <h2 id="bleeding-edge-releases">Bleeding Edge Releases</h2> <p>Segment publishes stable releases every second Wednesday by tagging and releasing the <code class="language-plaintext highlighter-rouge">master</code>branch.</p> <p>After release, Segment also merges the release’s <code class="language-plaintext highlighter-rouge">dev</code> branch into <code class="language-plaintext highlighter-rouge">master</code>. In general, code is available on <code class="language-plaintext highlighter-rouge">master</code> for two weeks before it is tagged as a stable release. During this period, the code is available using Cocoapods and Carthage — our equivalent of bleeding edge releases. Segment recommends that you use this version to try out upcoming features and fixes that have not been published yet.</p> <p>To use the <code class="language-plaintext highlighter-rouge">master</code> branch, use one of the following methods:</p> <h3 id="cocoapods">CocoaPods</h3> <p>Add this line in your <code class="language-plaintext highlighter-rouge">Podfile</code>:</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">pod</span> <span class="s1">'Analytics'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=&gt;</span> <span class="s1">'https://github.com/segmentio/analytics-ios.git'</span><span class="p">,</span> <span class="ss">:branch</span> <span class="o">=&gt;</span> <span class="s1">'master'</span> </code></pre></div></div> <h2 id="packaging-device-mode-destination-sdks">Packaging device-mode destination SDKs</h2> <p>By default, the Segment <code class="language-plaintext highlighter-rouge">Analytics</code> pod does not package any destination SDKs.</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">pod</span> <span class="s1">'Analytics'</span><span class="p">,</span> <span class="s1">'~&gt; 4.1.0'</span> </code></pre></div></div> <p>To add destinations using Device-mode, first add the dependencies you need. You can find these in the Segment app when you open the destination sheet for <a href="/docs/connections/destinations/cmodes-compare/">any mobile destination with a Device-mode option</a>.</p> <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">pod</span> <span class="s1">'Segment-Bugsnag'</span> <span class="n">pod</span> <span class="s1">'Segment-Branch'</span> <span class="n">pod</span> <span class="s1">'Segment-GoogleAnalytics'</span> <span class="o">...</span> </code></pre></div></div> <p>After you add the dependency, you must register the destination with the Segment SDK:</p> <div class="code-example" data-code-example=""> <div class="code-example__nav flex" data-ref="code-example[nav]"> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Swift</a> </div> <div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active"> <a href="#" class="code-example__nav-link">Objective-C</a> </div> </div> <div class="code-example__body" data-ref="code-example[body]"> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">Segment</span> <span class="kd">import</span> <span class="kt">Segment</span><span class="o">-</span><span class="kt">GoogleAnalytics</span> <span class="kd">import</span> <span class="kt">Segment</span><span class="o">-</span><span class="kt">Branch</span> <span class="kt">AnalyticsConfiguration</span> <span class="o">*</span><span class="n">config</span> <span class="o">=</span> <span class="kt">AnalyticsConfiguration</span><span class="p">(</span><span class="nv">writeKey</span><span class="p">:</span> <span class="s">"YOUR_WRITE_KEY"</span><span class="p">)</span> <span class="c1">// Add any of your Device-mode destinations.</span> <span class="n">config</span><span class="o">.</span><span class="nf">use</span><span class="p">(</span><span class="kt">SEGGoogleAnalyticsIntegrationFactory</span><span class="o">.</span><span class="nf">instance</span><span class="p">())</span> <span class="n">config</span><span class="o">.</span><span class="nf">use</span><span class="p">(</span><span class="kt">BNCBranchIntegrationFactory</span><span class="o">.</span><span class="nf">instance</span><span class="p">())</span> <span class="o">...</span> <span class="kt">Analyitcs</span><span class="o">.</span><span class="nf">setup</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">config</span><span class="p">)</span> </code></pre></div></div> </div> <div class="code-example__tab" data-class-active="code-example__tab--active"> <div class="language-objc highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#import &lt;Segment/SEGAnalytics.h&gt; #import &lt;Segment-GoogleAnalytics/SEGGoogleAnalyticsIntegrationFactory.h&gt; #import &lt;Segment-Branch/BNCBranchIntegrationFactory.h&gt; </span> <span class="n">SEGAnalyticsConfiguration</span> <span class="o">*</span><span class="n">config</span> <span class="o">=</span> <span class="p">[</span><span class="n">SEGAnalyticsConfiguration</span> <span class="nf">configurationWithWriteKey</span><span class="p">:</span><span class="s">@"YOUR_WRITE_KEY"</span><span class="p">];</span> <span class="c1">// Add any of your Device-mode destinations.</span> <span class="p">[</span><span class="n">config</span> <span class="nf">use</span><span class="p">:[</span><span class="n">SEGGoogleAnalyticsIntegrationFactory</span> <span class="nf">instance</span><span class="p">]];</span> <span class="p">[</span><span class="n">config</span> <span class="nf">use</span><span class="p">:[</span><span class="n">BNCBranchIntegrationFactory</span> <span class="nf">instance</span><span class="p">]];</span> <span class="p">...</span> <span class="p">[</span><span class="n">SEGAnalytics</span> <span class="nf">setupWithConfiguration</span><span class="p">:</span><span class="n">config</span><span class="p">];</span> </code></pre></div></div> </div> </div> </div> <p>Segment recommends that you use Device-mode destinations sparingly, to reduce the size of your application.</p> </div> </div> <p class="last-modified">This page was last modified: 13 Aug 2024</p> <hr> <div class="flex flex--wrap waffle waffle--large waffle--xxlarge@medium"> <div class="flex__column flex__column--12 flex__column--4@medium flex"> <div class="feedback-box flex flex--stack flex--justify waffle waffle--large@medium"> <div class="flex__column flex__column--shrink"> <div class="feedback-box__content"> <h3>Need support?</h3> <p>Questions? Problems? Need more info? Contact Segment Support for assistance!</p> </div> </div> <div class="flex__column flex__column--shrink"> <a href="https://segment.com/help/contact/" target="" class="button button-hollow"> Visit our Support page </a> </div> </div> </div> <div class="flex__column flex__column--12 flex__column--4@medium flex"> <div class="flex__column flex__column--shrink"> <div class="feedback-box__content"> <h3>Help improve these docs!</h3> <div> <a href="https://github.com/segmentio/segment-docs/edit/develop/src/connections/sources/catalog/libraries/mobile/ios/index.md" class="button edit flex no-icon" target="_blank"> <span class="button__icon"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M11.8544 6.26742L10.4403 4.85243C10.2459 4.65803 9.92761 4.65803 9.73336 4.85333L5.23324 9.3524L4.70703 12L7.35445 11.4736L11.8544 6.97454C12.0488 6.78013 12.0488 6.46182 11.8544 6.26742Z" fill="#A5B0BA"/> <path d="M9.00004 3.49989L5.5 0V3.49989H9.00004Z" fill="#A5B0BA"/> <path d="M4.31156 8.85982L8.67232 4.49996H5.50004C4.94772 4.49996 4.50011 4.05175 4.50011 3.49989V0H1.00007C0.447761 0 0 0.447161 0 0.998875V10.9999C0 11.5522 0.447761 12 1.00007 12H3.68709L4.31156 8.85982Z" fill="#A5B0BA"/> </svg> </span> <span class="button__text">Edit this page</span> </a> <a href="https://github.com/segmentio/segment-docs/issues/new/choose?body=File:%20[connections/sources/catalog/libraries/mobile/ios/index.md](https://segment.com/docs/)" class="button edit no-icon" target="_blank"> <span class="button__icon"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6 0C2.688 0 0 2.688 0 6C0 9.312 2.688 12 6 12C9.312 12 12 9.312 12 6C12 2.688 9.312 0 6 0ZM9 6.6H6.6V9H5.4V6.6H3V5.4H5.4V3H6.6V5.4H9V6.6Z" fill="#A5B0BA"/> </svg> </span> <span class="button__text">Request docs change</span> </a> </div> </div> </div> </div> <div class="flex__column flex__column--12 flex__column--4@medium flex"> <div class="feedback-box flex flex--stack flex--justify waffle waffle--none waffle--large@medium"> <div class="flex__column flex__column--shrink"> <div class="feedback-box__content"> <h3>Was this page helpful?</h3> <div class="flex gutter gutter--large"> <div class="flex__column flex__column--shrink"> <button class="button button-hollow gutter gutter--small" data-feedback-button="helpful" data-active-class="button-fill button-fill--secondary"> <span class="button__icon"> <svg width="16" height="14" viewBox="0 0 16 14" xmlns="http://www.w3.org/2000/svg"> <path d="M15.992 8.626c-.08-.58-.73-.96-1.43-1.05a6.75 6.75 0 00-.49-.05c.06-.01.11-.01.16-.02.71-.08 1.23-.47 1.15-1.05-.08-.58-.73-.96-1.43-1.05-.34-.04-.72-.07-1.13-.09h-.01c-.24-.01-.49-.02-.75-.02-.48-.02-1.11-.04-1.59-.08-.36-.03-.41-.28-.37-.53.35-.9.54-1.91.5-2.91-.04-.85-.6-1.679-1.41-1.769-.671-.07-1.161.39-.991.98.56 1.93-2.07 4.22-4.2 5.51v5.999c1.66 1.03 4.35 1.56 7.48 1.5.19 0 .39-.01.62-.02h.09c.22-.01.46-.03.73-.05.71-.06 1.54-.51 1.5-1.09-.03-.51-.4-.79-.87-.93.27-.02.54-.04.79-.06.71-.06 1.24-.45 1.17-1.04-.06-.58-.7-.97-1.41-1.07-.02 0-.05-.01-.07-.01.29-.02.57-.03.81-.05.71-.03 1.23-.47 1.15-1.05zM2 6.006H0v7h2c.55 0 1-.45 1-1v-5c0-.56-.45-1-1-1z" fill-rule="nonzero"/> </svg> </span> <span>Yes</span> </button> </div> <div class="flex__column flex__column--shrink"> <button class="button button-hollow gutter gutter--small" data-feedback-button="unhelpful" data-active-class="button-fill button-fill--gray"> <span class="button__icon"> <svg width="16" height="14" viewBox="0 0 16 14" xmlns="http://www.w3.org/2000/svg"> <path d="M15.992 5.374c-.08.58-.73.96-1.43 1.05-.15.02-.32.04-.49.05.06.01.11.01.16.02.71.08 1.23.47 1.15 1.05-.08.58-.73.96-1.43 1.05-.34.04-.72.07-1.13.09h-.01c-.24.01-.49.02-.75.02-.48.02-1.11.04-1.59.08-.36.03-.41.28-.37.53.35.9.54 1.91.5 2.91-.04.85-.6 1.679-1.41 1.769-.671.07-1.161-.39-.991-.98.56-1.93-2.07-4.22-4.2-5.51V1.505c1.66-1.03 4.35-1.56 7.48-1.5.19 0 .39.01.62.02h.09c.22.01.46.03.73.05.71.06 1.54.51 1.5 1.09-.03.51-.4.79-.87.93.27.02.54.04.79.06.71.06 1.24.45 1.17 1.04-.06.58-.7.97-1.41 1.07-.02 0-.05.01-.07.01.29.02.57.03.81.05.71.03 1.23.47 1.15 1.05zM2 7.994H0v-7h2c.55 0 1 .45 1 1v5c0 .56-.45 1-1 1z" fill-rule="nonzero"/> </svg> </span> <span>No</span> </button> </div> </div> <div class="widget__content" data-feedback-content hidden> <p>Thanks for your feedback!</p> <p>Can we improve this doc? <a href="#" data-feedback-button="alternate">Send us feedback!</a></p> </div> </div> </div> </div> </div> </div> <hr> <div class="callout"> <h3>Get started with Segment</h3> <div class="callout__content"> Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools. </div> <div class="callout__form-wrapper flex flex--wrap flex--middle gutter gutter--none gutter--xlarge@xlarge"> <div class="flex__column flex__column--12 flex__column--6@xlarge"> <form class="callout__form gutter gutter--none gutter--medium@medium flex flex--wrap" id="demoForm"> <div class="flex__column"> <input class="callout__input input input--expand" id="demoEmailInput" type="email" required placeholder="Your work e-mail"> </div> <div class="flex__column flex__column--12 flex__column--shrink@medium"> <button class="button button--expand button-fill">Request Demo</button> </div> </form> </div> <div class="callout__separator flex__column flex__column--12"> <span>or</span> </div> <a href="https://app.segment.com/signup" class="button button-fill button-fill--white callout__link-button flex__column flex__column--12 flex__column--shrink@xlarge"> Create free account </a> </div> </div> </div> <div class="docs__sidebar page__sidebar"> <div class="sidebar sidebar--sticky sidebar--scroll"> <div> <a href="https://github.com/segmentio/segment-docs/edit/develop/src/connections/sources/catalog/libraries/mobile/ios/index.md" class="button edit flex no-icon" target="_blank"> <span class="button__icon"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M11.8544 6.26742L10.4403 4.85243C10.2459 4.65803 9.92761 4.65803 9.73336 4.85333L5.23324 9.3524L4.70703 12L7.35445 11.4736L11.8544 6.97454C12.0488 6.78013 12.0488 6.46182 11.8544 6.26742Z" fill="#A5B0BA"/> <path d="M9.00004 3.49989L5.5 0V3.49989H9.00004Z" fill="#A5B0BA"/> <path d="M4.31156 8.85982L8.67232 4.49996H5.50004C4.94772 4.49996 4.50011 4.05175 4.50011 3.49989V0H1.00007C0.447761 0 0 0.447161 0 0.998875V10.9999C0 11.5522 0.447761 12 1.00007 12H3.68709L4.31156 8.85982Z" fill="#A5B0BA"/> </svg> </span> <span class="button__text">Edit this page</span> </a> <a href="https://github.com/segmentio/segment-docs/issues/new/choose?body=File:%20[connections/sources/catalog/libraries/mobile/ios/index.md](https://segment.com/docs/)" class="button edit no-icon" target="_blank"> <span class="button__icon"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6 0C2.688 0 0 2.688 0 6C0 9.312 2.688 12 6 12C9.312 12 12 9.312 12 6C12 2.688 9.312 0 6 0ZM9 6.6H6.6V9H5.4V6.6H3V5.4H5.4V3H6.6V5.4H9V6.6Z" fill="#A5B0BA"/> </svg> </span> <span class="button__text">Request docs change</span> </a> </div> <div data-anchors-indicator data-sections="h2" data-active-class="menu-side__link--active"> <p class="destination-menu__title">On this page</p> <ul class="menu-side"> <li><a href="#analytics-ios-and-unique-identifiers" class="menu-side__link">Analytics-iOS and Unique Identifiers</a></li> <li><a href="#api-call-queueing-in-analytics-ios" class="menu-side__link">API call queueing in Analytics-iOS</a></li> <li><a href="#getting-started" class="menu-side__link">Getting Started</a></li> <li><a href="#data-collection" class="menu-side__link">Data Collection</a></li> <li><a href="#context" class="menu-side__link">Context</a></li> <li><a href="#selecting-destinations" class="menu-side__link">Selecting Destinations</a></li> <li><a href="#logging" class="menu-side__link">Logging</a></li> <li><a href="#proxy-https-calls" class="menu-side__link">Proxy HTTP(S) Calls</a></li> <li><a href="#ad-tracking-and-idfa" class="menu-side__link">Ad Tracking and IDFA</a></li> <li><a href="#bleeding-edge-releases" class="menu-side__link">Bleeding Edge Releases</a></li> <li><a href="#packaging-device-mode-destination-sdks" class="menu-side__link">Packaging device-mode destination SDKs</a></li> </ul> </div> <div class="widget"> <p class="widget__heading">Was this page helpful?</p> <div class="flex"> <div class="flex__column flex__column--6"> <button class="feedback-box__button button button-fill button-fill--white gutter gutter--small" data-section="right-bar" data-feedback-button="helpful" data-active-class="button-fill--secondary"> <span class="button__icon"> <svg width="16" height="14" viewBox="0 0 16 14" xmlns="http://www.w3.org/2000/svg"> <path d="M15.992 8.626c-.08-.58-.73-.96-1.43-1.05a6.75 6.75 0 00-.49-.05c.06-.01.11-.01.16-.02.71-.08 1.23-.47 1.15-1.05-.08-.58-.73-.96-1.43-1.05-.34-.04-.72-.07-1.13-.09h-.01c-.24-.01-.49-.02-.75-.02-.48-.02-1.11-.04-1.59-.08-.36-.03-.41-.28-.37-.53.35-.9.54-1.91.5-2.91-.04-.85-.6-1.679-1.41-1.769-.671-.07-1.161.39-.991.98.56 1.93-2.07 4.22-4.2 5.51v5.999c1.66 1.03 4.35 1.56 7.48 1.5.19 0 .39-.01.62-.02h.09c.22-.01.46-.03.73-.05.71-.06 1.54-.51 1.5-1.09-.03-.51-.4-.79-.87-.93.27-.02.54-.04.79-.06.71-.06 1.24-.45 1.17-1.04-.06-.58-.7-.97-1.41-1.07-.02 0-.05-.01-.07-.01.29-.02.57-.03.81-.05.71-.03 1.23-.47 1.15-1.05zM2 6.006H0v7h2c.55 0 1-.45 1-1v-5c0-.56-.45-1-1-1z" fill-rule="nonzero"/> </svg> </span> <span>Yes</span> </button> </div> <div class="flex__column flex__column--6"> <button class="feedback-box__button button button-fill button-fill--white gutter gutter--small" data-section="right-nav" data-feedback-button="unhelpful" data-active-class="button-fill--gray"> <span class="button__icon"> <svg width="16" height="14" viewBox="0 0 16 14" xmlns="http://www.w3.org/2000/svg"> <path d="M15.992 5.374c-.08.58-.73.96-1.43 1.05-.15.02-.32.04-.49.05.06.01.11.01.16.02.71.08 1.23.47 1.15 1.05-.08.58-.73.96-1.43 1.05-.34.04-.72.07-1.13.09h-.01c-.24.01-.49.02-.75.02-.48.02-1.11.04-1.59.08-.36.03-.41.28-.37.53.35.9.54 1.91.5 2.91-.04.85-.6 1.679-1.41 1.769-.671.07-1.161-.39-.991-.98.56-1.93-2.07-4.22-4.2-5.51V1.505c1.66-1.03 4.35-1.56 7.48-1.5.19 0 .39.01.62.02h.09c.22.01.46.03.73.05.71.06 1.54.51 1.5 1.09-.03.51-.4.79-.87.93.27.02.54.04.79.06.71.06 1.24.45 1.17 1.04-.06.58-.7.97-1.41 1.07-.02 0-.05.01-.07.01.29.02.57.03.81.05.71.03 1.23.47 1.15 1.05zM2 7.994H0v-7h2c.55 0 1 .45 1 1v5c0 .56-.45 1-1 1z" fill-rule="nonzero"/> </svg> </span> <span>No</span> </button> </div> </div> <div class="widget__content" data-feedback-content hidden> <p>Thanks for your feedback!</p> <p>Can we improve<br> this doc? <br><a href="#" data-feedback-button="alternate">Send us feedback!</a></p> </div> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <div class="footer__container"> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 27.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 151.6 36.3" style="enable-background:new 0 0 151.6 36.3; width: 126px" xml:space="preserve"> <style type="text/css"> .st0{fill:#FFFFFF;} </style> <g id="Segment"> <g> <g> <g> <g> <g> <path class="st0" d="M41.6,29v-3.5c2.2,1.6,4.6,2.3,6.9,2.3c1.8,0,2.9-0.8,2.9-2.5s-1.5-2-3.6-2.3c-3.7-0.6-6.5-1.3-6.5-5.4 c0-4,2.8-6.1,6.9-6.1c2.7,0,5.1,0.8,6.4,1.6v3.3c-1.8-1.2-4.3-1.9-6.5-1.9c-1.8,0-3,0.8-3,2.5c0,1.6,1.4,2,3.5,2.3 c3.6,0.6,6.6,1.3,6.6,5.3c0,4.1-2.7,6.2-6.7,6.2C45.5,31,43.3,30.2,41.6,29z"/> <path class="st0" d="M56.9,23.6v-0.4c0-4.4,2.9-7.3,6.7-7.3c4,0,6.4,2.3,6.4,7v1.5h-9.4c0.2,2.3,1.9,3.6,4.7,3.6 c1.5,0,2.8-0.4,4.2-1v2.8c-1.1,0.6-2.7,1.1-5,1.1C59.9,31,56.9,28.5,56.9,23.6z M60.6,22.2h5.8c-0.1-2.4-1.2-3.5-2.8-3.5 C61.8,18.6,60.8,20,60.6,22.2z"/> <path class="st0" d="M70.9,33.7c0-1.3,1.2-2.4,3.8-3c-2.2-0.3-2.9-1.1-2.9-2.1c0-1.2,1-2.2,3.4-2.9c-2.2-0.7-3.3-2.3-3.3-4.4 c0-3.2,2.9-5,6.1-5h7.8v2.9h-2.4c0.4,0.5,0.7,1.3,0.7,2c0,3-2.6,4.9-6.1,4.9h-0.6c-0.9,0-2.2,0.4-2.2,1.2 c0,0.5,0.5,0.7,1.8,0.7h3.7c3.1,0,4.9,0.9,4.9,3.4c0,3-2.8,5-8.2,5h-0.8C74.1,36.3,70.9,35.8,70.9,33.7z M81.9,32.1 c0-1-0.8-1.2-2.3-1.2h-2.1c-1.8,0-3,0.7-3,1.7c0,1,1.2,1.3,2.8,1.3h0.9C80.5,33.8,81.9,33.2,81.9,32.1z M80.5,21.3 c0-1.5-0.8-2.6-2.5-2.6s-2.5,1.1-2.5,2.6s0.8,2.6,2.5,2.6C79.8,23.9,80.5,22.7,80.5,21.3z"/> <path class="st0" d="M87.5,16.3h3.6v3.2c1.1-2.1,2.8-3.6,5.1-3.6c2.2,0,3.5,1.5,3.7,3.6c1.2-2.2,2.8-3.6,5-3.6 c2.6,0,4.2,1.6,4.2,5.2v9.5h-3.8V22c0-2-0.7-3.1-2.3-3.1c-1.1,0-1.9,0.7-2.3,1.4c-0.3,0.5-0.5,1.2-0.5,1.8l-0.1,8.5h-3.7v-8.5 c0-2.2-0.7-3.2-2.3-3.2c-1.2,0-1.9,0.7-2.3,1.4c-0.3,0.5-0.5,1.1-0.5,1.8v8.5h-3.8L87.5,16.3L87.5,16.3z"/> <path class="st0" d="M111.4,23.6v-0.4c0-4.4,2.9-7.3,6.7-7.3c4,0,6.4,2.3,6.4,7v1.5h-9.4c0.2,2.3,1.9,3.6,4.7,3.6 c1.5,0,2.8-0.4,4.2-1v2.8c-1.1,0.6-2.7,1.1-5,1.1C114.3,31,111.4,28.5,111.4,23.6z M115.1,22.2h5.8c-0.1-2.4-1.2-3.5-2.8-3.5 C116.3,18.6,115.2,20,115.1,22.2z"/> <path class="st0" d="M126.9,16.3h3.6v3.2c1.1-2.2,2.7-3.6,5.1-3.6c2.7,0,4.2,1.7,4.2,5.2v9.5H136V22c0-1.9-0.8-3-2.4-3 c-1.1,0-2,0.5-2.4,1.4c-0.4,0.5-0.5,1.1-0.5,1.8v8.4h-3.8C126.9,30.6,126.9,16.3,126.9,16.3z"/> <path class="st0" d="M144,26.6v-7.3h-2.6v-2.8h1.1c0.9,0,1.7-0.3,1.8-1.9l0.2-2.8h3.4v4.5h3.7v2.9h-3.8V26c0,1.5,0.8,2,2.2,2 c0.4,0,1.1-0.1,1.4-0.2v2.6c-0.5,0.2-1.7,0.5-2.9,0.5C145.3,31,144,29.6,144,26.6z"/> </g> </g> </g> </g> </g> <g> <g> <g> <g> <g> <path class="st0" d="M43.4,2.4h-1.6V1.2h4.8v1.2h-1.7v4.8h-1.5V2.4z"/> <path class="st0" d="M48,1.2h1.5l0.9,4.5l0.9-4.5h1.8L54,5.7l1-4.5h1.5l-1.3,6h-2l-0.9-4.3l-0.9,4.3h-2L48,1.2z"/> <path class="st0" d="M58.2,1.2h1.5v6h-1.5V1.2z"/> <path class="st0" d="M62,1.2h1.5v4.7h2.4v1.3H62V1.2z"/> <path class="st0" d="M67.7,1.2h1.5v6h-1.5V1.2z"/> <path class="st0" d="M71.1,4.2L71.1,4.2c0-2,1.1-3.2,2.8-3.2c1.6,0,2.7,1.1,2.7,3.1v0.1c0,1.9-1.1,3.1-2.8,3.1 C72.1,7.3,71.1,6.2,71.1,4.2z M75.1,4.2L75.1,4.2c0-1.4-0.5-2-1.2-2c-0.8,0-1.2,0.5-1.2,1.9v0.1c0,1.4,0.5,1.9,1.2,1.9 S75.1,5.5,75.1,4.2z"/> </g> </g> </g> </g> </g> <g> <path class="st0" d="M28.9,14H13.1c-0.6,0-1.1-0.5-1.1-1.1V11c0-0.6,0.5-1.1,1.1-1.1H29c0.6,0,1.1,0.5,1.1,1.1v1.9 C30,13.5,29.5,14,28.9,14z"/> <path class="st0" d="M16.9,22H1.1C0.5,22,0,21.5,0,20.9V19c0-0.5,0.5-1,1.1-1H17c0.6,0,1.1,0.5,1.1,1.1V21 C18,21.5,17.5,22,16.9,22z"/> <circle class="st0" cx="6" cy="27" r="2"/> <circle class="st0" cx="24" cy="5" r="2"/> <g> <path class="st0" d="M15,28c-1.1,0-2.2-0.2-3.2-0.5c-0.5-0.1-1,0.1-1.2,0.6L9.9,30c-0.2,0.5,0.1,1.1,0.7,1.3 C12,31.8,13.5,32,15,32c6.5,0,12.1-3.9,14.6-9.5c0.2-0.5,0-1.2-0.6-1.4l-1.9-0.7c-0.5-0.2-1,0-1.2,0.5C24,25.1,19.9,28,15,28z"/> <path class="st0" d="M15,4c1.1,0,2.2,0.2,3.2,0.5c0.5,0.1,1-0.1,1.2-0.6L20.1,2c0.2-0.5-0.1-1.1-0.7-1.3C18,0.2,16.5,0,15,0 C8.5,0,2.9,3.9,0.4,9.5c-0.2,0.5,0,1.2,0.6,1.4l1.9,0.7c0.5,0.2,1,0,1.2-0.5C6,6.9,10.1,4,15,4z"/> </g> </g> </g> <g id="ANNOTATIONS"> </g> <g id="EXPORT_METHODS"> </g> <g id="GUIDES"> </g> </svg> <div class="footer__content"> <div class="flex flex--wrap waffle waffle--large"> <div class="flex__column"> <div class="nav"> <p class="nav__title">Product</p> <ul class="nav-list flex flex--stack waffle"> <li> <a class="nav-list__link" href="https://segment.com/product/connections/">Connections</a> </li> <li> <a class="nav-list__link" href="https://segment.com/product/protocols/">Protocols</a> </li> <li> <a class="nav-list__link" href="https://segment.com/product/twilio-engage/">Twilio Engage</a> </li> <li> <a class="nav-list__link" href="https://segment.com/catalog/">Integrations Catalog</a> </li> <li> <a class="nav-list__link" href="https://segment.com/pricing/">Pricing</a> </li> <li> <a class="nav-list__link" href="https://segment.com/security/">Security</a> </li> <li> <a class="nav-list__link" href="https://segment.com/product/gdpr/">GDPR</a> </li> </ul> </div> </div> <div class="flex__column"> <div class="nav"> <p class="nav__title">For Developers</p> <ul class="nav-list flex flex--stack waffle"> <li> <a class="nav-list__link" href="https://segment.com/docs/">Documentation</a> </li> <li> <a class="nav-list__link" href="https://segment.com/docs/api/public-api/">Segment API</a> </li> <li> <a class="nav-list__link" href="https://segment.com/partners/developer-center/">Build on Segment</a> </li> <li> <a class="nav-list__link" href="https://open.segment.com/">Open Source</a> </li> <li> <a class="nav-list__link" href="https://segment.com/engineering/">Engineering Team</a> </li> </ul> </div> </div> <div class="flex__column"> <div class="nav"> <p class="nav__title">Company</p> <ul class="nav-list flex flex--stack waffle"> <li> <a class="nav-list__link" href="https://segment.com/jobs/">Careers</a> </li> <li> <a class="nav-list__link" href="https://segment.com/blog/">Blog</a> </li> <li> <a class="nav-list__link" href="https://segment.com/press/">Press</a> </li> <li> <a class="nav-list__link" href="https://segment.com/podcast/">FTFY Podcast</a> </li> <li> <a class="nav-list__link" href="https://segment.com/events/">Events</a> </li> </ul> </div> </div> <div class="flex__column"> <div class="nav"> <p class="nav__title">Support</p> <ul class="nav-list flex flex--stack waffle"> <li> <a class="nav-list__link" href="https://segment.com/help/">Help Center</a> </li> <li> <a class="nav-list__link" href="https://segment.com/help/contact/">Contact us</a> </li> <li> <a class="nav-list__link" href="https://segment.com/resources/">Resources</a> </li> <li> <a class="nav-list__link" href="https://segment.com/recipes/">Recipes</a> </li> <li> <a class="nav-list__link" href="https://segment.com/security/bulletins/">Security Bulletins</a> </li> <li> <a class="nav-list__link" href="https://segment.com/partners/">Become a Partner</a> </li> </ul> </div> </div> </div> </div> </div> <div class="footer__aside"> <div class="footer__container"> <div class="footer__body flex flex--inline flex--stack flex--queue@large waffle waffle--large"> <div class="flex__column"> <div class="nav"> <ul class="nav-list flex flex--stack flex--queue@large waffle waffle--xlarge@large"> <li class="flex__column flex__column--shrink"> <p>© 2024 Segment.io, Inc.</p> </li> <li class="flex__column flex__column--shrink"> <a class="nav-list__link" href="https://segment.com/legal/privacy/">Privacy</a> </li> <li class="flex__column flex__column--shrink"> <a class="nav-list__link" href="https://segment.com/legal/terms/">Terms</a> </li> <li class="flex__column flex__column--shrink"> <a class="nav-list__link" href="#" id="open-consent-manager">Website Data Collection Preferences</a> </li> </ul> </div> </div> <div class="flex__column flex__column--shrink"> <ul class="social-list social-list--dark flex flex--inline flex--middle gutter gutter--xlarge"> <li> <a href="https://www.linkedin.com/company/segment-io/" class="social-list__link"> <svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M14.857 0H1.14C.511 0 0 .518 0 1.154v13.692C0 15.482.51 16 1.14 16h13.717A1.15 1.15 0 0016 14.846V1.154A1.15 1.15 0 0014.857 0zM4.836 13.714H2.464V6.08H4.84v7.635h-.003zM3.65 5.036a1.376 1.376 0 010-2.75c.757 0 1.375.618 1.375 1.375 0 .76-.614 1.375-1.375 1.375zm10.075 8.678h-2.371V10c0-.886-.018-2.025-1.233-2.025-1.235 0-1.425.964-1.425 1.96v3.78H6.325V6.078H8.6V7.12h.032c.318-.6 1.093-1.232 2.247-1.232 2.4 0 2.846 1.582 2.846 3.64v4.185z" fill-rule="nonzero"/></svg> </a> </li> <li> <a href="https://twitter.com/segment" class="social-list__link"> <svg width="16" height="13" xmlns="http://www.w3.org/2000/svg"><path d="M14.355 3.24c.01.142.01.284.01.426 0 4.337-3.299 9.334-9.33 9.334A9.264 9.264 0 010 11.527c.264.03.518.041.792.041a6.566 6.566 0 004.071-1.402 3.285 3.285 0 01-3.066-2.275c.203.03.406.051.62.051.294 0 .588-.04.862-.112A3.28 3.28 0 01.65 4.61v-.04c.437.244.945.396 1.483.417A3.278 3.278 0 01.67 2.255c0-.61.162-1.168.447-1.656a9.32 9.32 0 006.761 3.433 3.705 3.705 0 01-.081-.752A3.278 3.278 0 0111.077 0a3.27 3.27 0 012.395 1.036 6.455 6.455 0 002.081-.792 3.271 3.271 0 01-1.441 1.808c.66-.072 1.3-.254 1.888-.508a7.05 7.05 0 01-1.645 1.696z" fill-rule="nonzero"/></svg> </a> </li> <li> <a href="https://github.com/segmentio" class="social-list__link"> <svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M5.352 12.883c0 .066-.075.12-.168.12-.107.01-.18-.044-.18-.12 0-.066.073-.119.167-.119.097-.01.18.043.18.12zm-1.004-.149c-.022.066.042.143.14.162.083.033.18 0 .2-.066.018-.066-.043-.142-.14-.172-.083-.023-.177.01-.2.076zm1.426-.056c-.093.023-.158.086-.148.162.01.066.093.11.19.086.094-.023.158-.086.149-.152-.01-.063-.097-.106-.19-.096zM7.897 0C3.423 0 0 3.484 0 8.073c0 3.669 2.252 6.808 5.468 7.914.413.076.558-.186.558-.4 0-.206-.01-1.337-.01-2.032 0 0-2.258.496-2.732-.986 0 0-.368-.963-.897-1.211 0 0-.739-.52.052-.51 0 0 .803.067 1.245.854.706 1.277 1.89.91 2.351.692.075-.53.284-.897.517-1.115-1.804-.206-3.623-.474-3.623-3.656 0-.91.245-1.367.761-1.949-.084-.215-.358-1.102.084-2.246C4.448 3.213 6 4.32 6 4.32a7.402 7.402 0 012.026-.281c.687 0 1.38.096 2.026.28 0 0 1.551-1.11 2.225-.892.442 1.148.168 2.031.084 2.246.516.586.833 1.042.833 1.949 0 3.192-1.9 3.447-3.704 3.656.297.26.549.757.549 1.535 0 1.115-.01 2.494-.01 2.766 0 .215.148.476.558.4C13.813 14.88 16 11.742 16 8.073 16 3.483 12.371 0 7.897 0zM3.135 11.41c-.041.034-.032.11.023.173.052.053.126.076.168.033.042-.033.032-.11-.023-.172-.051-.053-.126-.076-.168-.033zm-.348-.267c-.022.043.01.096.074.129.052.033.116.023.139-.023.023-.043-.01-.096-.074-.13-.065-.02-.116-.01-.139.024zm1.045 1.178c-.051.043-.032.142.042.205.074.076.168.086.21.033.042-.043.022-.142-.042-.205-.071-.076-.168-.086-.21-.033zm-.367-.487c-.052.033-.052.12 0 .196.051.076.138.109.18.076.052-.043.052-.13 0-.205-.045-.077-.129-.11-.18-.067z" fill-rule="nonzero"/></svg> </a> </li> </ul> </div> </div> </div> </div> </div> </footer> </div> <a class="back-scrolling" data-back-scrolling data-active-class="back-scrolling--active"><svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.275 4.725L5.525.975A.68.68 0 005 .75a.68.68 0 00-.525.225l-3.75 3.75A.68.68 0 00.5 5.25c0 .45.375.75.75.75a.68.68 0 00.525-.225L4.25 3.3v7.2c0 .45.3.75.75.75s.75-.3.75-.75V3.3l2.475 2.475c.15.15.3.225.525.225.45 0 .75-.3.75-.75a.68.68 0 00-.225-.525z"/> </svg></a> <div style="display: none;" data-feedback-template="helpful"> <div class="feedback-template"> <textarea class="feedback-template__textarea" name="name" placeholder="Great! What did you like?" data-feedback-text ></textarea> <button class="button button-fill button-fill--primary" data-section="right-bar" data-send-button > Send </button> </div> </div> <div style="display: none;" data-feedback-template="unhelpful"> <div class="feedback-template"> <textarea class="feedback-template__textarea" name="name" placeholder="Sorry to hear that. What can we do better?" data-feedback-text ></textarea> <button class="button button-fill button-fill--primary" data-section="right-bar" data-send-button > Send </button> </div> </div> <div style="display: none;" data-feedback-template="alternate"> <div class="feedback-template"> <textarea class="feedback-template__textarea" name="name" placeholder="Do you have any suggestions?" data-feedback-text ></textarea> <button class="button button-fill button-fill--primary" data-section="right-bar" data-send-button > Send </button> </div> </div> <script src="/docs/assets/docs.bundle.js"></script><script type="application/ld+json"> [ { "@context": "http://schema.org", "@type": "WebSite", "name": "Segment", "url": "https://segment.com" }, { "@context": "http://schema.org", "@type": "Organization", "name": "Segment", "url": "https://segment.com", "logo": "https://segment.com/build/public/public/images/touch-icon.png", "sameAs": [ "https://twitter.com/segment", "https://www.linkedin.com/company/segment-io" ] } ] </script><script> window.consentManagerConfig = function (exports) { var React = exports.React var inCA = exports.inRegions(['CA']) var inEU = exports.inRegions(['EU']) var shouldRequireConsent = exports.inRegions(['CA', 'EU']) var caDefaultPreferences = { advertising: false, marketingAndAnalytics: true, functional: true } var euDefaultPreferences = { advertising: false, marketingAndAnalytics: false, functional: false } var closeBehavior = inCA() ? function (_categories) { return caDefaultPreferences } : inEU() ? 'deny' : 'accept' var initialPreferences = inCA() ? caDefaultPreferences : inEU() ? euDefaultPreferences : undefined var openConsentManager = exports.openConsentManager var openButton = document.getElementById('open-consent-manager') function buttonClick (e) { // Prevent the implicit consent from kicking in e.stopPropagation() e.preventDefault() openConsentManager() } openButton.addEventListener('click', buttonClick, false) var bannerContent = ( React.createElement( 'span', null, 'We use cookies (and other similar technologies) to collect data in order to improve our site. You have the option to opt-in or opt-out of certain cookie tracking technologies.' ) ) var bannerSubContent = 'To do so, click here.' var preferencesDialogTitle = 'Website Data Collection Preferences' var preferencesDialogContent = ( React.createElement( 'div', null, React.createElement( 'p', null, 'Segment uses data collected by cookies and JavaScript libraries to improve your browsing experience, analyze site traffic, deliver personalized advertisements, and increase the overall performance of our site.' ), React.createElement( 'p', null, 'By using our website, you\u2019re agreeing to our', ' ', React.createElement( 'a', { href: 'https://segment.com/legal/website-data-collection-policy/', target: '_blank' }, 'Website Data Collection Policy' ), '.' ), React.createElement( 'p', null, 'The table below outlines how we use this data by category. To opt out of a category of data collection, select \u201CNo\u201D and save your preferences.' ) ) ) var cancelDialogTitle = 'Are you sure you want to cancel?' var cancelDialogContent = ( React.createElement( 'div', null, 'Your preferences have not been saved. By continuing to use our website, you\u2019re agreeing to our', ' ', React.createElement( 'a', { href: '/https://segment.com/legal/website-data-collection-policy/', target: '_blank' }, 'Website Data Collection Policy' ), '.' ) ) return { container: '#consent-manager', writeKey: 'QAKKJEtNsXpsNfCCBeWCLNxkaaLO7pgp', bannerContent: bannerContent, bannerSubContent: bannerSubContent, preferencesDialogTitle: preferencesDialogTitle, preferencesDialogContent: preferencesDialogContent, cancelDialogTitle: cancelDialogTitle, cancelDialogContent: cancelDialogContent, closeBehavior: closeBehavior, shouldRequireConsent: shouldRequireConsent, initialPreferences: initialPreferences, } } </script> <script src="https://unpkg.com/@segment/consent-manager@4.2.2/standalone/consent-manager.js" defer > </script> <script> window.analytics = null !function(){var i="analytics",analytics=window[i]=window[i]||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"];analytics.factory=function(e){return function(){if(window[i].initialized)return window[i][e].apply(window[i],arguments);var n=Array.prototype.slice.call(arguments);if(["track","screen","alias","group","page","identify"].indexOf(e)>-1){var c=document.querySelector("link[rel='canonical']");n.push({__t:"bpc",c:c&&c.getAttribute("href")||void 0,p:location.pathname,u:location.href,s:location.search,t:document.title,r:document.referrer})}n.unshift(e);analytics.push(n);return analytics}};for(var n=0;n<analytics.methods.length;n++){var key=analytics.methods[n];analytics[key]=analytics.factory(key)}analytics.load=function(key,n){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.setAttribute("data-global-segment-analytics-key",i);t.src="https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r);analytics._loadOptions=n};analytics._writeKey="YOUR_WRITE_KEY";;analytics.SNIPPET_VERSION="5.2.1"; analytics.page(`Analytics-iOS`); // analytics.identify(); }}(); </script> <script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-rum-site-id="cc89ebe7-d997-4687-85e2-16680cf59710" data-netlify-deploy-branch="master" data-netlify-deploy-context="production" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiY2M4OWViZTctZDk5Ny00Njg3LTg1ZTItMTY2ODBjZjU5NzEwIiwiYWNjb3VudF9pZCI6IjVmNGQ5NDM5NDliYTJmMjFiZTg1NzRiOSIsImRlcGxveV9pZCI6IjY3M2Y4MmZlNmE2MTYxMDAwODQyNzM4MyIsImlzc3VlciI6Im5mc2VydmVyIn0.CFXEWD1Q625Y7Ou3LI-WDJ14s7-qYqIy7dclcQjx2Gg"></script></body> </html>

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