CINXE.COM
Source Functions | Segment Documentation
<!-- production --> <!-- page --> <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/functions/" /> <title> Source Functions | 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="Source Functions- 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="The technical documentation for Segment."> <meta property="og:description" content="The technical documentation for Segment." /><meta class="swiftype" name="section" data-type="enum" content="Connections" /> <meta class="swiftype" name="info" data-type="string" content="The technical documentation for Segment." /> <meta class="swiftype" name="description" data-type="enum" content="The technical documentation for Segment." /> <meta class="swiftype" name="title" data-type="string" content="Source Functions" /> <meta class="swiftype" name="priority" data-type="integer" content="2" /><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/functions/source-functions/" /> <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="#source-functions" 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> <div class="sidebar"> <div class="sidebar__content"> <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> <!-- functions - getting-started --> <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 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 " data-accordion data-class-active="menu-item--active"> <a class="menu-item__link 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> <!-- functions - 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> <!-- functions - connections --> <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 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 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"> 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 menu-item--active menu-item--indicator" data-accordion data-class-active="menu-item--active"> <a class="menu-item__link menu-item__link--icon menu-item__link--indicator 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> <!-- functions - 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> <!-- functions - 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> <!-- functions - 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> <!-- functions - 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> <!-- functions - 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> <!-- functions - 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> <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="https://segment.com/release-notes/" target="_blank"> <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> <li class="menu-item menu-item--separated"> <a class="menu-item__link menu-item__link--small menu-item__link--highlight" href="https://segment.com/">Back to Segment.com</a> </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="page" data-tracking-scroll data-swiftype-name="body" data-swiftype-type="text"> <div class="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/functions/"> Functions </a> </li> <li>/</li> <li class="breadcrumbs__item"> Source Functions </li> </ul> <h1 id="source-functions"> Source Functions </h1> <!-- The line below hides the grid if there's no matching data in products.yml--> <div class="mobile-menu-side"> <p class="destination-menu__title">On this page</p> <ul class="mobile-menu-side__list"> <li><a href="#create-a-source-function" class="mobile-menu-side__link">Create a source function</a></li> <li><a href="#code-the-source-function" class="mobile-menu-side__link">Code the source function</a></li> <li><a href="#create-settings-and-secrets" class="mobile-menu-side__link">Create settings and secrets</a></li> <li><a href="#test-the-source-function" class="mobile-menu-side__link">Test the source function</a></li> <li><a href="#save-and-deploy-the-function" class="mobile-menu-side__link">Save and deploy the function</a></li> <li><a href="#source-functions-logs-and-errors" class="mobile-menu-side__link">Source functions logs and errors</a></li> <li><a href="#managing-source-functions" class="mobile-menu-side__link">Managing source functions</a></li> <li><a href="#source-function-faqs" class="mobile-menu-side__link">Source function FAQs</a></li> </ul> <hr class="mobile-menu-side__divider"> </div> <div class="markdown" data-headings-anchors> <p>Source functions allow you to gather data from any third-party applications without worrying about setting up or maintaining any infrastructure.</p> <p>All functions are scoped to your workspace, so members of other workspaces cannot view or use them.</p> <div class="premonition info"><div class="fa fa-info-circle"></div><div class="content"><p>Functions is available to all customer plan types with a free allotment of usage hours. Read more about <a href="/docs/connections/functions/usage/">Functions usage limits</a>, or see <a href="https://app.segment.com/goto-my-workspace/settings/usage?metric=functions" target="_blank">your workspace’s Functions usage stats</a>.</p> </div></div> <p><img src="images/source_functions_overview.png" alt="A graphic illustrating Segment source functions" /></p> <h2 id="create-a-source-function">Create a source function</h2> <ol> <li>From your workspace, go to <strong>Connections > Catalog</strong> and click the <a href="https://app.segment.com/goto-my-workspace/functions/catalog" target="_blank">Functions tab</a>.</li> <li>Click <strong>New Function</strong>.</li> <li>Select <strong>Source</strong> as the function type and click <strong>Build</strong>.</li> </ol> <p>After you click <strong>Build</strong>, a code editor appears. Use the editor to write the code for your function, configure settings, and test the function’s behavior.</p> <div class="premonition success"><div class="fa fa-check-square"></div><div class="content"><p><strong>Tip:</strong> Want to see some example functions? Check out the templates available in the Functions UI, or in the open-source <a href="https://github.com/segmentio/functions-library" target="_blank">Segment Functions Library</a>. (Contributions welcome!)</p> </div></div> <p><img src="images/editor-source.png" alt="Functions Editor" /></p> <h2 id="code-the-source-function">Code the source function</h2> <p>Source functions must have an <code class="language-plaintext highlighter-rouge">onRequest()</code> function defined. This function is executed by Segment for each HTTPS request sent to this function’s webhook.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">,</span> <span class="nx">settings</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// Process incoming data</span> <span class="p">}</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">onRequest()</code> function receives two arguments:</p> <ul> <li><code class="language-plaintext highlighter-rouge">request</code> - an object describing the incoming HTTPS request.</li> <li><code class="language-plaintext highlighter-rouge">settings</code> - set of <a href="#create-️settings-and-secrets">settings</a> for this function.</li> </ul> <h3 id="request-processing">Request processing</h3> <p>To parse the JSON body of the request, use the <code class="language-plaintext highlighter-rouge">request.json()</code> method, as in the following example:</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">)</span> <span class="p">{</span> <span class="kd">const</span> <span class="nx">body</span> <span class="o">=</span> <span class="nx">request</span><span class="p">.</span><span class="nf">json</span><span class="p">()</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Hello</span><span class="dl">'</span><span class="p">,</span> <span class="nx">body</span><span class="p">.</span><span class="nx">name</span><span class="p">)</span> <span class="p">}</span> </code></pre></div></div> <p>Use the <code class="language-plaintext highlighter-rouge">request.headers</code> object to get values of request headers. Since it’s an instance of <a href="https://developer.mozilla.org/en-US/docs/Web/API/Headers" target="_blank"><code class="language-plaintext highlighter-rouge">Headers</code></a>, the API is the same in both the browser and in Node.js.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">)</span> <span class="p">{</span> <span class="kd">const</span> <span class="nx">contentType</span> <span class="o">=</span> <span class="nx">request</span><span class="p">.</span><span class="nx">headers</span><span class="p">.</span><span class="nf">get</span><span class="p">(</span><span class="dl">'</span><span class="s1">Content-Type</span><span class="dl">'</span><span class="p">)</span> <span class="kd">const</span> <span class="nx">authorization</span> <span class="o">=</span> <span class="nx">request</span><span class="p">.</span><span class="nx">headers</span><span class="p">.</span><span class="nf">get</span><span class="p">(</span><span class="dl">'</span><span class="s1">Authorization</span><span class="dl">'</span><span class="p">)</span> <span class="p">}</span> </code></pre></div></div> <p>To access the URL details, refer to <code class="language-plaintext highlighter-rouge">request.url</code> object, which is an instance of <a href="https://developer.mozilla.org/en-US/docs/Web/API/URL" target="_blank"><code class="language-plaintext highlighter-rouge">URL</code></a>.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// Access a query parameter (e.g. `?name=Jane`)</span> <span class="kd">const</span> <span class="nx">name</span> <span class="o">=</span> <span class="nx">request</span><span class="p">.</span><span class="nx">url</span><span class="p">.</span><span class="nx">searchParams</span><span class="p">.</span><span class="nf">get</span><span class="p">(</span><span class="dl">'</span><span class="s1">name</span><span class="dl">'</span><span class="p">)</span> <span class="p">}</span> </code></pre></div></div> <h4 id="sending-messages">Sending messages</h4> <p>You can send messages to the Segment API using the <code class="language-plaintext highlighter-rouge">Segment</code> object:</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">)</span> <span class="p">{</span> <span class="nx">Segment</span><span class="p">.</span><span class="nf">identify</span><span class="p">({</span> <span class="na">userId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">user_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">traits</span><span class="p">:</span> <span class="p">{</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Jane Hopper</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> <span class="nx">Segment</span><span class="p">.</span><span class="nf">track</span><span class="p">({</span> <span class="na">event</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Page Viewed</span><span class="dl">'</span><span class="p">,</span> <span class="na">userId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">user_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">properties</span><span class="p">:</span> <span class="p">{</span> <span class="na">page_name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Summer Collection 2020</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> <span class="nx">Segment</span><span class="p">.</span><span class="nf">group</span><span class="p">({</span> <span class="na">groupId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">group_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">traits</span><span class="p">:</span> <span class="p">{</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Clearbit</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> <span class="nx">Segment</span><span class="p">.</span><span class="nf">set</span><span class="p">({</span> <span class="na">collection</span><span class="p">:</span> <span class="dl">'</span><span class="s1">products</span><span class="dl">'</span><span class="p">,</span> <span class="na">id</span><span class="p">:</span> <span class="dl">'</span><span class="s1">product_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">properties</span><span class="p">:</span> <span class="p">{</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Nike Air Max</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> <span class="p">}</span> </code></pre></div></div> <h5 id="identify">Identify</h5> <p>Use <a href="/docs/connections/spec/identify/">Identify calls</a> to connect users with their actions, and to record traits about them.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Segment</span><span class="p">.</span><span class="nf">identify</span><span class="p">({</span> <span class="na">userId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">user_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">traits</span><span class="p">:</span> <span class="p">{</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Jane Hopper</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">Segment.identify()</code> method accepts an object with the following fields:</p> <ul> <li><code class="language-plaintext highlighter-rouge">userId</code> - Unique identifier for the user in your database.</li> <li><code class="language-plaintext highlighter-rouge">anonymousId</code> - A pseudo-unique substitute for a User ID, for cases when you don’t have an absolutely unique identifier.</li> <li><code class="language-plaintext highlighter-rouge">traits</code> - Object with data about or related to the user, like <code class="language-plaintext highlighter-rouge">name</code> or <code class="language-plaintext highlighter-rouge">email</code>.</li> <li><code class="language-plaintext highlighter-rouge">context</code> - Object with extra information that provides useful context, like <code class="language-plaintext highlighter-rouge">locale</code> or <code class="language-plaintext highlighter-rouge">country</code>.</li> </ul> <h5 id="track">Track</h5> <p><a href="/docs/connections/spec/track/">Track calls</a> record actions that users perform, along with any properties that describe the action.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Segment</span><span class="p">.</span><span class="nf">track</span><span class="p">({</span> <span class="na">event</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Page Viewed</span><span class="dl">'</span><span class="p">,</span> <span class="na">userId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">user_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">properties</span><span class="p">:</span> <span class="p">{</span> <span class="na">page_name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Summer Collection 2020</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">Segment.track()</code> method accepts an object with the following fields:</p> <ul> <li><code class="language-plaintext highlighter-rouge">userId</code> - Unique identifier for the user in your database.</li> <li><code class="language-plaintext highlighter-rouge">anonymousId</code> - A pseudo-unique substitute for a User ID, for cases when you don’t have an absolutely unique identifier.</li> <li><code class="language-plaintext highlighter-rouge">properties</code> - Object with data that is relevant to the action, like <code class="language-plaintext highlighter-rouge">product_name</code> or <code class="language-plaintext highlighter-rouge">price</code>.</li> <li><code class="language-plaintext highlighter-rouge">context</code> - Object with extra information that provides useful context, like <code class="language-plaintext highlighter-rouge">locale</code> or <code class="language-plaintext highlighter-rouge">country</code>.</li> </ul> <h5 id="group">Group</h5> <p><a href="/docs/connections/spec/group/">Group calls</a> associate users with a group, like a company, organization, account, project, or team.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Segment</span><span class="p">.</span><span class="nf">group</span><span class="p">({</span> <span class="na">groupId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">group_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">traits</span><span class="p">:</span> <span class="p">{</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Clearbit</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">Segment.group()</code> method accepts an object with the following fields:</p> <ul> <li><code class="language-plaintext highlighter-rouge">groupId</code> - Unique identifier for the group in your database.</li> <li><code class="language-plaintext highlighter-rouge">traits</code> - Object with data that is relevant to the group, like <code class="language-plaintext highlighter-rouge">group_name</code> or <code class="language-plaintext highlighter-rouge">team_name</code>.</li> <li><code class="language-plaintext highlighter-rouge">context</code> - Object with extra information that provides useful context, like <code class="language-plaintext highlighter-rouge">locale</code> or <code class="language-plaintext highlighter-rouge">country</code>.</li> </ul> <h5 id="page">Page</h5> <p><a href="/docs/connections/spec/page/">Page calls</a> record whenever a user sees a page of your website, along with any other properties about the page.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Segment</span><span class="p">.</span><span class="nf">page</span><span class="p">({</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Shoe Catalog</span><span class="dl">'</span><span class="p">,</span> <span class="na">properties</span><span class="p">:</span> <span class="p">{</span> <span class="na">url</span><span class="p">:</span> <span class="dl">'</span><span class="s1">https://myshoeshop.com/catalog</span><span class="dl">'</span> <span class="p">}</span> <span class="p">})</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">Segment.page()</code> method accepts an object with the following fields:</p> <ul> <li><code class="language-plaintext highlighter-rouge">userId</code> - Unique identifier for the user in your database.</li> <li><code class="language-plaintext highlighter-rouge">anonymousId</code> - A pseudo-unique substitute for a User ID, for cases when you don’t have an absolutely unique identifier.</li> <li><code class="language-plaintext highlighter-rouge">name</code> - Name of the page.</li> <li><code class="language-plaintext highlighter-rouge">properties</code> - Object with information about the page, like <code class="language-plaintext highlighter-rouge">page_name</code> or <code class="language-plaintext highlighter-rouge">page_url</code>.</li> <li><code class="language-plaintext highlighter-rouge">context</code> - Object with extra information that provides useful context, like <code class="language-plaintext highlighter-rouge">locale</code> or <code class="language-plaintext highlighter-rouge">country</code>.</li> </ul> <h5 id="screen">Screen</h5> <p><a href="/docs/connections/spec/screen/">Screen calls</a> record when a user sees a screen, the mobile equivalent of <a href="#page">Page</a>, in your mobile app.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Segment</span><span class="p">.</span><span class="nf">screen</span><span class="p">({</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Shoe Feed</span><span class="dl">'</span><span class="p">,</span> <span class="na">properties</span><span class="p">:</span> <span class="p">{</span> <span class="na">feed_items</span><span class="p">:</span> <span class="mi">5</span> <span class="p">}</span> <span class="p">})</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">Segment.screen()</code> method accepts an object with the following fields:</p> <ul> <li><code class="language-plaintext highlighter-rouge">userId</code> - Unique identifier for the user in your database.</li> <li><code class="language-plaintext highlighter-rouge">anonymousId</code> - A pseudo-unique substitute for a User ID, for cases when you don’t have an absolutely unique identifier.</li> <li><code class="language-plaintext highlighter-rouge">name</code> - Name of the screen.</li> <li><code class="language-plaintext highlighter-rouge">properties</code> - Object with data about the screen, like <code class="language-plaintext highlighter-rouge">screen_name</code>.</li> <li><code class="language-plaintext highlighter-rouge">context</code> - Object with extra information that provides useful context, like <code class="language-plaintext highlighter-rouge">locale</code> or <code class="language-plaintext highlighter-rouge">country</code>.</li> </ul> <h5 id="alias">Alias</h5> <p>The <a href="/docs/connections/spec/alias/">Alias call</a> merges two user identities, effectively connecting two sets of user data as one.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Segment</span><span class="p">.</span><span class="nf">alias</span><span class="p">({</span> <span class="na">previousId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">old-email@example.com</span><span class="dl">'</span><span class="p">,</span> <span class="na">userId</span><span class="p">:</span> <span class="dl">'</span><span class="s1">new-email@example.com</span><span class="dl">'</span> <span class="p">})</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">Segment.alias()</code> method accepts an object with the following fields:</p> <ul> <li><code class="language-plaintext highlighter-rouge">previousId</code> - Previous unique identifier for the user.</li> <li><code class="language-plaintext highlighter-rouge">userId</code> - Unique identifier for the user in your database.</li> <li><code class="language-plaintext highlighter-rouge">anonymousId</code> - A pseudo-unique substitute for a User ID, for cases when you don’t have an absolutely unique identifier.</li> </ul> <h5 id="set">Set</h5> <p>The Set call uses <a href="/docs/connections/sources/catalog/libraries/server/object-api/">the object API</a> to save object data to your Redshift, BigQuery, Snowflake, or other data warehouses supported by Segment.</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Segment</span><span class="p">.</span><span class="nf">set</span><span class="p">({</span> <span class="na">collection</span><span class="p">:</span> <span class="dl">'</span><span class="s1">products</span><span class="dl">'</span><span class="p">,</span> <span class="na">id</span><span class="p">:</span> <span class="dl">'</span><span class="s1">product_id</span><span class="dl">'</span><span class="p">,</span> <span class="na">properties</span><span class="p">:</span> <span class="p">{</span> <span class="na">name</span><span class="p">:</span> <span class="dl">'</span><span class="s1">Nike Air Max 90</span><span class="dl">'</span><span class="p">,</span> <span class="na">size</span><span class="p">:</span> <span class="mi">11</span> <span class="p">}</span> <span class="p">})</span> </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">Segment.set()</code> method accepts an object with the following fields:</p> <ul> <li><code class="language-plaintext highlighter-rouge">collection</code> - A collection name, which must be lowercase.</li> <li><code class="language-plaintext highlighter-rouge">id</code> - An object’s unique identifier.</li> <li><code class="language-plaintext highlighter-rouge">properties</code> - An object with free-form data.</li> </ul> <div class="premonition warning"><div class="fa fa-exclamation-circle"></div><div class="content"><p>When you use the <code class="language-plaintext highlighter-rouge">set()</code> method, you won’t see events in the Source Debugger. Segment only sends events to connected warehouses.</p> </div></div> <h3 id="runtime-and-dependencies">Runtime and dependencies</h3> <p>On March 26, 2024, Segment is upgrading the Functions runtime environment to Node.js v18, which is the current long-term support (LTS) release.</p> <p>This upgrade keeps your runtime current with industry standards. Based on the <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html" target="_blank">AWS Lambda</a> and <a href="https://nodejs.org/en/about/previous-releases" target="_blank">Node.js</a> support schedule, Node.js v16 is no longer in <em>Maintenance LTS</em>. Production applications should only use releases of Node.js that are in <em>Active LTS</em> or <em>Maintenance LTS</em>.</p> <p>All new functions will use Node.js v18 starting March 26, 2024.</p> <p>For existing functions, this change automatically occurs as you update and deploy an existing function. Segment recommends that you check your function post-deployment to ensure everything’s working. Your function may face issues due to the change in sytax between different Node.js versions and dependency compatibility.</p> <div class="premonition warning"><div class="fa fa-check-square"></div><div class="content"><p class="header">Limited time opt-out option </p><p> If you need more time to prepare, you can opt out of the update before March 19, 2024. <br /><br /> Note that if you opt out: <br /> - The existing functions will continue working on Node.js v16. <br /> - You won’t be able to create new functions after July 15, 2024. <br /> - You won’t be able to update existing functions after August 15, 2024. <br /> - You won’t receive future bug fixes, enhancements, and dependency updates to the functions runtime. <br /><br /> <a href="https://segment.com/help/contact/" target="_blank">Contact Segment</a> to opt-out or with any questions. </p></div></div> <div class="premonition success"><div class="fa fa-check-square"></div><div class="content"><p class="header">Node.js 18 </p><p>Segment strongly recommends updating to Node.js v18 to benefit from future runtime updates, the latest security, and performance improvements.</p></div></div> <p>Functions do not currently support importing dependencies, but you can <a href="https://segment.com/help/contact/" target="_blank">contact Segment Support</a> to request that one be added.</p> <p>The following dependencies are installed in the function environment by default.</p> <ul> <li><a href="https://www.npmjs.com/package/atob" target="_blank"><code class="language-plaintext highlighter-rouge">atob v2.1.2</code></a> exposed as <code class="language-plaintext highlighter-rouge">atob</code></li> <li><a href="https://www.npmjs.com/package/aws-sdk" target="_blank"><code class="language-plaintext highlighter-rouge">aws-sdk v2.488.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">AWS</code></li> <li><a href="https://www.npmjs.com/package/btoa" target="_blank"><code class="language-plaintext highlighter-rouge">btoa v1.2.1</code></a> exposed as <code class="language-plaintext highlighter-rouge">btoa</code></li> <li><a href="https://www.npmjs.com/package/fetch-retry" target="_blank"><code class="language-plaintext highlighter-rouge">fetch-retry</code></a> exposed as <code class="language-plaintext highlighter-rouge">fetchretrylib.fetchretry</code></li> <li><a href="https://www.npmjs.com/package/form-data" target="_blank"><code class="language-plaintext highlighter-rouge">form-data v2.4.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">FormData</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/automl" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/automl v2.2.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.automl</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/bigquery" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/bigquery v5.3.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.bigquery</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/datastore" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/datastore v6.2.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.datastore</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/firestore" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/firestore v4.4.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.firestore</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/functions" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/functions v1.1.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.functions</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/pubsub" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/pubsub v2.6.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.pubsub</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/storage" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/storage v5.3.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.storage</code></li> <li><a href="https://www.npmjs.com/package/@google-cloud/tasks" target="_blank"><code class="language-plaintext highlighter-rouge">@google-cloud/tasks v2.6.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">google.cloud.tasks</code></li> <li><a href="https://www.npmjs.com/package/@hubspot/api-client" target="_blank"><code class="language-plaintext highlighter-rouge">hubspot-api-nodejs</code></a> exposed as <code class="language-plaintext highlighter-rouge">hubspotlib.hubspot</code></li> <li><a href="https://www.npmjs.com/package/jsforce" target="_blank"><code class="language-plaintext highlighter-rouge">jsforce v1.11.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">jsforce</code></li> <li><a href="https://www.npmjs.com/package/jsonwebtoken" target="_blank"><code class="language-plaintext highlighter-rouge">jsonwebtoken v8.5.1</code></a> exposed as <code class="language-plaintext highlighter-rouge">jsonwebtoken</code></li> <li><a href="https://www.npmjs.com/package/libphonenumber-js" target="_blank"><code class="language-plaintext highlighter-rouge">libphonenumber-js</code></a> exposed as <code class="language-plaintext highlighter-rouge">libphonenumberjslib.libphonenumberjs</code></li> <li><a href="https://www.npmjs.com/package/lodash" target="_blank"><code class="language-plaintext highlighter-rouge">lodash v4.17.19</code></a> exposed as <code class="language-plaintext highlighter-rouge">_</code></li> <li><a href="https://www.npmjs.com/package/@mailchimp/mailchimp_marketing" target="_blank"><code class="language-plaintext highlighter-rouge">mailchimp marketing</code></a> exposed as <code class="language-plaintext highlighter-rouge">mailchimplib.mailchimp</code></li> <li><a href="https://www.npmjs.com/package/node-mailjet" target="_blank"><code class="language-plaintext highlighter-rouge">mailjet</code></a> exposed as <code class="language-plaintext highlighter-rouge">const mailJet = nodemailjet.nodemailjet;</code></li> <li><a href="https://www.npmjs.com/package/moment-timezone/v/0.5.31" target="_blank"><code class="language-plaintext highlighter-rouge">moment-timezone v0.5.31</code></a> exposed as <code class="language-plaintext highlighter-rouge">moment</code></li> <li><a href="https://www.npmjs.com/package/node-fetch" target="_blank"><code class="language-plaintext highlighter-rouge">node-fetch v2.6.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">fetch</code></li> <li><a href="https://www.npmjs.com/package/oauth" target="_blank"><code class="language-plaintext highlighter-rouge">oauth v0.9.15</code></a> exposed as <code class="language-plaintext highlighter-rouge">OAuth</code></li> <li><a href="https://www.npmjs.com/package/@sendgrid/client" target="_blank"><code class="language-plaintext highlighter-rouge">@sendgrid/client v7.4.7</code></a> exposed as <code class="language-plaintext highlighter-rouge">sendgrid.client</code></li> <li><a href="https://www.npmjs.com/package/@sendgrid/mail" target="_blank"><code class="language-plaintext highlighter-rouge">@sendgrid/mail v7.4.7</code></a> exposed as <code class="language-plaintext highlighter-rouge">sendgrid.mail</code></li> <li><a href="https://www.npmjs.com/package/skyflow-node" target="_blank"><code class="language-plaintext highlighter-rouge">skyflow</code></a> exposed as <code class="language-plaintext highlighter-rouge">skyflowlib.skyflow</code></li> <li><a href="https://www.npmjs.com/package/stripe" target="_blank"><code class="language-plaintext highlighter-rouge">stripe v8.115.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">stripe</code></li> <li><a href="https://www.npmjs.com/package/twilio" target="_blank"><code class="language-plaintext highlighter-rouge">twilio v3.68.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">twilio</code></li> <li><a href="https://www.npmjs.com/package/uuidv5" target="_blank"><code class="language-plaintext highlighter-rouge">uuidv5 v1.0.0</code></a> exposed as <code class="language-plaintext highlighter-rouge">uuidv5.uuidv5</code></li> <li><a href="https://www.npmjs.com/package/winston" target="_blank"><code class="language-plaintext highlighter-rouge">winston v2.4.6</code></a> exposed as <code class="language-plaintext highlighter-rouge">const winston = winstonlib.winston</code></li> <li><a href="https://www.npmjs.com/package/xml" target="_blank"><code class="language-plaintext highlighter-rouge">xml v1.0.1</code></a> exposed as <code class="language-plaintext highlighter-rouge">xml</code></li> <li><a href="https://www.npmjs.com/package/xml2js" target="_blank"><code class="language-plaintext highlighter-rouge">xml2js v0.4.23</code></a> exposed as <code class="language-plaintext highlighter-rouge">xml2js</code></li> <li> <p><a href="https://www.npmjs.com/package/zlib" target="_blank"><code class="language-plaintext highlighter-rouge">zlib v1.0.5</code></a> exposed as <code class="language-plaintext highlighter-rouge">zlib.zlib</code></p> <p><br /> <code class="language-plaintext highlighter-rouge">uuidv5</code> is exposed as an object. Use <code class="language-plaintext highlighter-rouge">uuidv5.uuidv5</code> to access its functions. For example:</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">,</span> <span class="nx">settings</span><span class="p">)</span> <span class="p">{</span> <span class="nx">uuidv5</span> <span class="o">=</span> <span class="nx">uuidv5</span><span class="p">.</span><span class="nx">uuidv5</span><span class="p">;</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="k">typeof</span> <span class="nx">uuidv5</span><span class="p">);</span> <span class="c1">//Generate a UUID in the default URL namespace</span> <span class="kd">var</span> <span class="nx">urlUUID</span> <span class="o">=</span> <span class="nf">uuidv5</span><span class="p">(</span><span class="dl">'</span><span class="s1">url</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">http://google/com/page</span><span class="dl">'</span><span class="p">);</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="nx">urlUUID</span><span class="p">);</span> <span class="c1">//Default DNS namespace</span> <span class="kd">var</span> <span class="nx">dnsUUID</span> <span class="o">=</span> <span class="nf">uuidv5</span><span class="p">(</span><span class="dl">'</span><span class="s1">dns</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">google.com</span><span class="dl">'</span><span class="p">);</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="nx">dnsUUID</span><span class="p">);</span> <span class="p">}</span> </code></pre></div> </div> <p><code class="language-plaintext highlighter-rouge">zlib</code>’s asynchronous methods <code class="language-plaintext highlighter-rouge">inflate</code> and <code class="language-plaintext highlighter-rouge">deflate</code> must be used with <code class="language-plaintext highlighter-rouge">async</code> or <code class="language-plaintext highlighter-rouge">await</code>. For example:</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">zlib</span> <span class="o">=</span> <span class="nx">zlib</span><span class="p">.</span><span class="nx">zlib</span><span class="p">;</span> <span class="c1">// Required to access zlib objects and associated functions</span> <span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">,</span> <span class="nx">settings</span><span class="p">)</span> <span class="p">{</span> <span class="kd">const</span> <span class="nx">body</span> <span class="o">=</span> <span class="nx">request</span><span class="p">.</span><span class="nf">json</span><span class="p">();</span> <span class="kd">const</span> <span class="nx">input</span> <span class="o">=</span> <span class="dl">'</span><span class="s1">something</span><span class="dl">'</span><span class="p">;</span> <span class="c1">// Calling inflateSync method</span> <span class="kd">var</span> <span class="nx">deflated</span> <span class="o">=</span> <span class="nx">zlib</span><span class="p">.</span><span class="nf">deflateSync</span><span class="p">(</span><span class="nx">input</span><span class="p">);</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="nx">deflated</span><span class="p">.</span><span class="nf">toString</span><span class="p">(</span><span class="dl">'</span><span class="s1">base64</span><span class="dl">'</span><span class="p">));</span> <span class="c1">// Calling inflateSync method</span> <span class="kd">var</span> <span class="nx">inflated</span> <span class="o">=</span> <span class="nx">zlib</span><span class="p">.</span><span class="nf">inflateSync</span><span class="p">(</span><span class="k">new</span> <span class="nx">Buffer</span><span class="p">.</span><span class="k">from</span><span class="p">(</span><span class="nx">deflated</span><span class="p">)).</span><span class="nf">toString</span><span class="p">();</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="nx">inflated</span><span class="p">);</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Done</span><span class="dl">'</span><span class="p">);</span> <span class="p">}</span> </code></pre></div> </div> </li> </ul> <p>The following Node.js modules are available:</p> <ul> <li><a href="https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html" target="_blank"><code class="language-plaintext highlighter-rouge">crypto</code> Node.js module</a> exposed as <code class="language-plaintext highlighter-rouge">crypto</code>.</li> <li><a href="https://nodejs.org/api/https.html" target="_blank"><code class="language-plaintext highlighter-rouge">https</code> Node.js module</a> exposed as <code class="language-plaintext highlighter-rouge">https</code>.</li> </ul> <p><a href="https://nodejs.org/api/modules.html" target="_blank">Other built-in Node.js modules</a> aren’t available.</p> <p>For more information on using the <code class="language-plaintext highlighter-rouge">aws-sdk</code> module, see how to <a href="/docs/connections/functions/aws-apis/">set up functions for calling AWS APIs</a>.</p> <h3 id="caching">Caching</h3> <p>Basic cache storage is available through the <code class="language-plaintext highlighter-rouge">cache</code> object, which has the following methods defined:</p> <ul> <li><code class="language-plaintext highlighter-rouge">cache.load(key: string, ttl: number, fn: async () => any): Promise<any></code> <ul> <li>Obtains a cached value for the provided <code class="language-plaintext highlighter-rouge">key</code>, invoking the callback if the value is missing or has expired. The <code class="language-plaintext highlighter-rouge">ttl</code> is the maximum duration in milliseconds the value can be cached. If omitted or set to <code class="language-plaintext highlighter-rouge">-1</code>, the value will have no expiry.</li> </ul> </li> <li><code class="language-plaintext highlighter-rouge">cache.delete(key: string): void</code> <ul> <li>Immediately remove the value associated with the <code class="language-plaintext highlighter-rouge">key</code>.</li> </ul> </li> </ul> <p>Some important notes about the cache:</p> <ul> <li>When testing functions in the code editor, the cache will be empty because each test temporarily deploys a new instance of the function.</li> <li>Values in the cache are not shared between concurrently-running function instances; they are process-local which means that high-volume functions will have many separate caches.</li> <li>Values may be expunged at any time, even before the configured TTL is reached. This can happen due to memory pressure or normal scaling activity. Minimizing the size of cached values can improve your hit/miss ratio.</li> <li>Functions that receive a low volume of traffic may be temporarily suspended, during which their caches will be emptied. In general, caches are best used for high-volume functions and with long TTLs. The following example gets a JSON value through the cache, only invoking the callback as needed:</li> </ul> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">const</span> <span class="nx">ttl</span> <span class="o">=</span> <span class="mi">5</span> <span class="o">*</span> <span class="mi">60</span> <span class="o">*</span> <span class="mi">1000</span> <span class="c1">// 5 minutes</span> <span class="kd">const</span> <span class="nx">val</span> <span class="o">=</span> <span class="k">await</span> <span class="nx">cache</span><span class="p">.</span><span class="nf">load</span><span class="p">(</span><span class="dl">"</span><span class="s2">mycachekey</span><span class="dl">"</span><span class="p">,</span> <span class="nx">ttl</span><span class="p">,</span> <span class="k">async </span><span class="p">()</span> <span class="o">=></span> <span class="p">{</span> <span class="kd">const</span> <span class="nx">res</span> <span class="o">=</span> <span class="k">await</span> <span class="nf">fetch</span><span class="p">(</span><span class="dl">"</span><span class="s2">http://echo.jsontest.com/key/value/one/two</span><span class="dl">"</span><span class="p">)</span> <span class="kd">const</span> <span class="nx">data</span> <span class="o">=</span> <span class="k">await</span> <span class="nx">res</span><span class="p">.</span><span class="nf">json</span><span class="p">()</span> <span class="k">return</span> <span class="nx">data</span> <span class="p">})</span> </code></pre></div></div> <!-- TODO - could also go into the `runtime.md` include above, if applied identically to both types of functions. ## Batching in functions --> <h2 id="create-settings-and-secrets">Create settings and secrets</h2> <!-- usually placed under a heading called "Settings and Secrets" --> <p>Settings allow you to pass configurable variables to your function, which is the best way to pass sensitive information such as security tokens. For example, you might use <code class="language-plaintext highlighter-rouge">settings</code> as placeholders to use information such as an API endpoint and API key. This way, you can use the same code with different settings for different purposes. When you deploy a function in your workspace, you are prompted to fill out these settings to configure the function.</p> <p>First, add a setting in <strong>Settings</strong> tab in the code editor:</p> <p><img src="/docs/connections/functions/images/settings-tab-empty.png" alt="A screenshot of the functions settings tab" width="500" /></p> <p>Click <strong>Add Setting</strong> to add your new setting.</p> <p><img src="/docs/connections/functions/images/add-setting-dialog.png" alt="A screenshot of the "Add Setting" section of the functions settings tab, with apiKey settings included" /></p> <p>You can configure the details about this setting, which change how it’s displayed to anyone using your function:</p> <ul> <li><strong>Label</strong> - Name of the setting, which users see when configuring the function.</li> <li><strong>Name</strong> - Auto-generated name of the setting to use in function’s source code.</li> <li><strong>Type</strong> - Type of the setting’s value.</li> <li><strong>Description</strong> - Optional description, which appears below the setting name.</li> <li><strong>Required</strong> - Enable this to ensure that the setting cannot be saved without a value.</li> <li><strong>Encrypted</strong> - Enable to encrypt the value of this setting. Use this setting for sensitive data, like API keys.</li> </ul> <p>As you change the values, a preview to the right updates to show how your setting will look and work.</p> <p>Click <strong>Add Setting</strong> to save the new setting.</p> <p>Once you save a setting, it appears in the <strong>Settings</strong> tab for the function. You can edit or delete settings from this tab.</p> <p><img src="/docs/connections/functions/images/settings-tab-non-empty.png" alt="A screenshot of the functions settings tab, showing the apiKey setting" width="500" /></p> <p>Next, fill out this setting’s value in <strong>Test</strong> tab, so that you can run the function and check the setting values being passed.</p> <p>Note, this value is only for testing your function.</p> <p><img src="images/setting-in-test-tab.png" alt="Test Value For Setting" width="500" /></p> <p>Now that you’ve configured a setting and filled in a test value, you can add code to read its value and run the function:</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">,</span> <span class="nx">settings</span><span class="p">)</span> <span class="p">{</span> <span class="kd">const</span> <span class="nx">apiKey</span> <span class="o">=</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">apiKey</span> <span class="c1">//=> "super_secret_string"</span> <span class="p">}</span> </code></pre></div></div> <p>When you deploy a source function in your workspace, you are prompted to fill out settings to configure the source. You can access these settings later by navigating to the Source Settings page for the source function.</p> <p><img src="images/source-settings.png" alt="Source Function Settings" /></p> <h2 id="test-the-source-function">Test the source function</h2> <p>You can test your code directly from the editor in two ways: either by receiving real HTTPS requests through a webhook, or by manually constructing an HTTPS request from within the editor.</p> <p>The advantage of testing your source function with webhooks is that all incoming data is real, so you can test behavior while closely mimicking the production conditions.</p> <p>Note: Segment has updated the webhook URL to <code class="language-plaintext highlighter-rouge">api.segmentapis.com/functions</code>. To use webhooks with your function, you must:</p> <ul> <li><a href="https://docs.segmentapis.com/tag/Getting-Started/#section/Get-an-API-token" target="_blank">Generate a public API token</a>.</li> <li><a href="[url](https://app.segment.com/goto-my-workspace/settings/access-management/tokens)">Create a Public API Token</a>, or follow these steps: In your Segment Workspace, navigate to Settings → Workspace settings → Access Management → Token. Click <code class="language-plaintext highlighter-rouge">+ Create Token</code>. Create a description for the token and assign access. Click <code class="language-plaintext highlighter-rouge">Create</code> and save the access token before clicking <code class="language-plaintext highlighter-rouge">Done</code>.</li> <li>For POST calls, use this Public API token in the Authorization Header, as <code class="language-plaintext highlighter-rouge">Bearer Token : public_api_token</code></li> </ul> <h3 id="testing-source-functions-with-a-webhook">Testing source functions with a webhook</h3> <p>You can use webhooks to test the source function either by sending requests manually (using any HTTP client such as cURL, Postman, or Insomnia), or by pasting the webhook into an external server that supports webhooks (such as Slack). <em>A common Segment use case is to connect a Segment <a href="https://segment.com/docs/connections/destinations/catalog/webhooks/">webhooks destination</a> or <a href="https://segment.com/docs/connections/destinations/catalog/actions-webhook/">webhook actions destination</a> to a test source, where the Webhook URL/endpoint that is used corresponds to the provided source function’s endpoint, then you can trigger test events to send directly to that source, which are routed through your Webhook destination and continue on to the source function: Source → Webhook destination → Source Function.</em></p> <p>From the source function editor, copy the provided webhook URL (endpoint) from the “Auto-fill via Webhook” dialog. <em><strong>Note</strong> : When a new source is created that utilizes a source function, the new source’s endpoint (webhook URL) will differ from the URL that is provided in the source function’s test environment.</em></p> <p>To test the source function:</p> <ol> <li>Send a <code class="language-plaintext highlighter-rouge">POST</code> request to the source function’s provided endpoint (webhook URL)</li> <li>Include an event <code class="language-plaintext highlighter-rouge">body</code></li> <li>The request must include these Headers: <ul> <li><code class="language-plaintext highlighter-rouge">Content-Type : application/json</code> or <code class="language-plaintext highlighter-rouge">Content-Type : application/x-www-form-urlencoded</code></li> <li><code class="language-plaintext highlighter-rouge">Authorization : Bearer _your_public_api_token_</code></li> </ul> </li> </ol> <h3 id="testing-source-functions-manually">Testing source functions manually</h3> <p>You can also manually construct the headers and body of an HTTPS request inside the editor and test with this data without using webhooks. The <code class="language-plaintext highlighter-rouge">Content-Type</code> Header is required when testing the function:</p> <ul> <li><code class="language-plaintext highlighter-rouge">Content-Type : application/json</code> or <code class="language-plaintext highlighter-rouge">Content-Type : application/x-www-form-urlencoded</code></li> </ul> <p><img src="images/test-manual.png" alt="Test HTTPS Request" width="500" /></p> <h2 id="save-and-deploy-the-function">Save and deploy the function</h2> <p>After you finish building your source function, click <strong>Configure</strong> to name it, then click <strong>Create Function</strong> to save it. The source function appears on the <strong>Functions</strong> page in your workspace’s catalog.</p> <p>If you’re editing an existing function, you can <strong>Save</strong> changes without updating instances of the function that are already deployed and running.</p> <p>You can also choose to <strong>Save & Deploy</strong> to save the changes, and then choose which already-deployed functions to update with your changes. You might need <a href="#source-functions-permissions">additional permissions</a> to update existing functions.</p> <h2 id="source-functions-logs-and-errors">Source functions logs and errors</h2> <p>Your function may encounter errors that you missed during testing, or you might intentionally throw errors in your code (for example, if the incoming request is missing required fields).</p> <p>If your function throws an error, execution halts immediately. Segment captures the incoming request, any console logs the function printed, and the error, and displays this information in the function’s <strong>Errors</strong> tab. You can use this tab to find and fix unexpected errors.</p> <p><img src="images/error-logs-source.png" alt="Source Function Error Logs" /></p> <p>Functions can throw <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error" target="_blank">an Error or custom Error</a>, and you can also add additional helpful context in logs using the <a href="https://developer.mozilla.org/en-US/docs/Web/API/console" target="_blank"><code class="language-plaintext highlighter-rouge">console</code> API</a>. For example:</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">async</span> <span class="kd">function</span> <span class="nf">onRequest</span><span class="p">(</span><span class="nx">request</span><span class="p">,</span> <span class="nx">settings</span><span class="p">)</span> <span class="p">{</span> <span class="kd">const</span> <span class="nx">body</span> <span class="o">=</span> <span class="nx">request</span><span class="p">.</span><span class="nf">json</span><span class="p">()</span> <span class="kd">const</span> <span class="nx">userId</span> <span class="o">=</span> <span class="nx">body</span><span class="p">.</span><span class="nx">userId</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">User ID is</span><span class="dl">'</span><span class="p">,</span> <span class="nx">userId</span><span class="p">)</span> <span class="k">if </span><span class="p">(</span><span class="k">typeof</span> <span class="nx">userId</span> <span class="o">!==</span> <span class="dl">'</span><span class="s1">string</span><span class="dl">'</span> <span class="o">||</span> <span class="nx">userId</span><span class="p">.</span><span class="nx">length</span> <span class="o"><</span> <span class="mi">8</span><span class="p">)</span> <span class="p">{</span> <span class="k">throw</span> <span class="k">new</span> <span class="nc">Error</span><span class="p">(</span><span class="dl">'</span><span class="s1">User ID is invalid</span><span class="dl">'</span><span class="p">)</span> <span class="p">}</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">User ID is valid</span><span class="dl">'</span><span class="p">)</span> <span class="p">}</span> </code></pre></div></div> <div class="premonition warning"><div class="fa fa-exclamation-circle"></div><div class="content"><p><strong>Warning:</strong> Do not log sensitive data, such as personally-identifying information (PII), authentication tokens, or other secrets. You should especially avoid logging entire request/response payloads. Segment only retains the 100 most recent errors and logs for up to 30 days but the <strong>Errors</strong> tab may be visible to other workspace members if they have the necessary permissions.</p> </div></div> <h3 id="error-types">Error types</h3> <ul> <li><strong>Bad Request</strong>: is any error thrown by your code not covered by the other errors.</li> <li><strong>Invalid Settings</strong>: A configuration error prevented Segment from executing your code. If this error persists for more than an hour, <a href="https://segment.com/help/contact/" target="_blank">contact Segment Support</a>.</li> <li><strong>Message Rejected</strong>: Your code threw <code class="language-plaintext highlighter-rouge">InvalidEventPayload</code> or <code class="language-plaintext highlighter-rouge">ValidationError</code> due to invalid input.</li> <li><strong>Unsupported Event Type</strong>: Your code doesn’t implement a specific event type (for example, <code class="language-plaintext highlighter-rouge">onTrack()</code>) or threw an <code class="language-plaintext highlighter-rouge">EventNotSupported</code> error.</li> <li><strong><a href="/docs/connections/integration_error_codes/#:~:text=errors.awaiting%2Dretry,events%20in%20burst.">StatusCode: 429, TooManyRequestsException: Rate Exceeded</a></strong>: Rate limit exceeded. These events will be retried when the rate becomes available.</li> <li><strong><a href="/docs/connections/sources/catalog/libraries/server/http-api/#:~:text=Payload%20is%20too%20large%3A%20The%20HTTP%20API%20can%20handle%20API%20requests%20that%20are%2032KB%20or%20smaller.%20The%20batch%20API%20endpoint%20accepts%20a%20maximum%20of%20500KB%20per%20request%2C%20with%20a%20limit%20of%2032KB%20per%20event%20in%20the%20batch.%20If%20these%20limits%20are%20exceeded%2C%20Segment%20returns%20a%20400%20Bad%20Request%20error.">failed calling Tracking API: the message is too large and over the maximum 32KB limit</a></strong>: Segment’s Tracking API can only handle API requests that are 32KB or smaller. Reduce the size of the request for Segment to accept the event.</li> <li><strong>Retry</strong>: Your code threw <code class="language-plaintext highlighter-rouge">RetryError</code> indicating that the function should be retried.</li> </ul> <p>Segment only attempts to run your source function again if a <strong>Retry</strong> error occurs.</p> <h2 id="managing-source-functions">Managing source functions</h2> <h3 id="source-functions-permissions">Source functions permissions</h3> <p>Functions have specific roles which can be used for <a href="/docs/segment-app/iam/">access management</a> in your Segment workspace.</p> <p>Access to functions is controlled by two permissions <a href="/docs/segment-app/iam/roles/">roles</a>:</p> <ul> <li><strong>Functions Admin:</strong> Create, edit, and delete all functions, or a subset of specified functions.</li> <li><strong>Functions Read-only:</strong> View all functions, or a subset of specified functions.</li> </ul> <p>You also need additional <strong>Source Admin</strong> permissions to enable source functions, connect destination functions to a source, or to deploy changes to existing functions.</p> <h3 id="editing-and-deleting-source-functions">Editing and deleting source functions</h3> <p>If you are a <strong>Workspace Owner</strong> or <strong>Functions Admin</strong>, you can manage your source function from the <a href="https://app.segment.com/goto-my-workspace/functions/catalog" target="_blank">Functions</a> tab in the catalog.</p> <h3 id="connecting-source-functions">Connecting source functions</h3> <div class="premonition note"><div class="fa fa-check-square"></div><div class="content"><p>You must be a <strong>Workspace Owner</strong> or <strong>Source Admin</strong> to connect an instance of your function in your workspace.</p> </div></div> <p>From the <a href="https://app.segment.com/goto-my-workspace/functions/catalog" target="_blank">Functions tab</a>, click <strong>Connect Source</strong> and follow the prompts to set it up in your workspace.</p> <p>After configuring, find the webhook URL - either on the <strong>Overview</strong> or <strong>Settings → Endpoint</strong> page.</p> <p>Copy and paste this URL into the upstream tool or service to send data to this source.</p> <h2 id="source-function-faqs">Source function FAQs</h2> <h5 id="what-is-the-retry-policy-for-a-webhook-payload">What is the retry policy for a webhook payload?</h5> <p>Segment retries invocations that throw RetryError or Timeout errors up to six times. After six attempts, the request is dropped. The initial wait time for the retried event is a random value between one and three minutes. Wait time increases exponentially after every retry attempt. The maximum wait time between attempts can reach 20 minutes.</p> <h5 id="i-configured-retryerror-in-a-function-but-it-doesnt-appear-in-my-source-function-error-log">I configured RetryError in a function, but it doesn’t appear in my source function error log.</h5> <p>Retry errors only appear in the source function error logs if the event has exhausted all six retry attempts and, as a result, has been dropped.</p> <h5 id="what-is-the-maximum-payload-size-for-the-incoming-webhook">What is the maximum payload size for the incoming webhook?</h5> <p>The maximum payload size for an incoming webhook payload is 512 KiB.</p> <h5 id="what-is-the-timeout-for-a-function-to-execute">What is the timeout for a function to execute?</h5> <p>The execution time limit is five seconds, however Segment strongly recommends that you keep execution time as low as possible. If you are making multiple external requests you can use async / await to make them concurrently, which will help keep your execution time low.</p> <h4 id="does-segment-alter-incoming-payloads">Does Segment alter incoming payloads?</h4> <p>Segment alphabetizes payload fields that come in to <strong>deployed</strong> source functions. Segment doesn’t alphabetize payloads in the Functions tester. If you need to verify the exact payload that hits a source function, alphabetize it first. You can then make sure it matches what the source function ingests.</p> <h4 id="does-the-source-function-allow-get-requests">Does the source function allow <code class="language-plaintext highlighter-rouge">GET</code> requests?</h4> <p><code class="language-plaintext highlighter-rouge">GET</code> requests are not supported with a source function. Source functions can only receive data through <code class="language-plaintext highlighter-rouge">POST</code> requests.</p> <h4 id="can-i-use-a-source-function-in-place-of-adding-a-tracking-pixel-to-my-code">Can I use a Source Function in place of adding a Tracking Pixel to my code?</h4> <p>No. Tracking Pixels operate client-side only and need to be loaded onto your website directly. Source Functions operate server-side only, and aren’t able to capture or implement client-side tracking code. If the tool you’re hoping to integrate is server-side, then you can use a Source Function to connect it to Segment.</p> <h5 id="what-is-the-maximum-data-size-that-can-be-displayed-in-consolelogs-when-testing-a-function">What is the maximum data size that can be displayed in console.logs() when testing a Function?</h5> <p>The test function interface has a 4KB console logging limit. Outputs surpassing this limit will not be visible in the user interface.</p> <h4 id="can-i-send-a-custom-response-from-my-source-function-to-an-external-tool">Can I send a custom response from my Source Function to an external tool?</h4> <p>No, Source Functions can’t send custom responses to the tool that triggered the Function’s webhook. Source Functions can only send a success or failure response, not a custom one.</p> <h4 id="why-am-i-seeing-the-error-functions-are-unable-to-send-data-or-events-back-to-their-originating-source-when-trying-to-save-my-source-function">Why am I seeing the error “Functions are unable to send data or events back to their originating source” when trying to save my Source Function?</h4> <p>This error occurs because Segment prevents Source Functions from sending data back to their own webhook endpoint (<code class="language-plaintext highlighter-rouge">https://fn.segmentapis.com</code>). Allowing this could create an infinite loop where the function continuously triggers itself.</p> <p>To resolve this error, check your Function code and ensure the URL <code class="language-plaintext highlighter-rouge">https://fn.segmentapis.com</code> is not included. This URL is used to send data to a Source Function and shouldn’t appear in your outgoing requests. Once you remove this URL from your code, you’ll be able to save the Function successfully.</p> </div> <p class="last-modified">This page was last modified: 26 Nov 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/functions/source-functions.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/functions/source-functions.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/functions/source-functions.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/functions/source-functions.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="#create-a-source-function" class="menu-side__link">Create a source function</a></li> <li><a href="#code-the-source-function" class="menu-side__link">Code the source function</a></li> <li><a href="#create-settings-and-secrets" class="menu-side__link">Create settings and secrets</a></li> <li><a href="#test-the-source-function" class="menu-side__link">Test the source function</a></li> <li><a href="#save-and-deploy-the-function" class="menu-side__link">Save and deploy the function</a></li> <li><a href="#source-functions-logs-and-errors" class="menu-side__link">Source functions logs and errors</a></li> <li><a href="#managing-source-functions" class="menu-side__link">Managing source functions</a></li> <li><a href="#source-function-faqs" class="menu-side__link">Source function FAQs</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(`Source Functions`); // 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.eyJzaXRlX2lkIjoiY2M4OWViZTctZDk5Ny00Njg3LTg1ZTItMTY2ODBjZjU5NzEwIiwiYWNjb3VudF9pZCI6IjVmNGQ5NDM5NDliYTJmMjFiZTg1NzRiOSIsImRlcGxveV9pZCI6IjY3NDczYzY4ODlkYjJjMDAwOGFlNDVmNCIsImlzc3VlciI6Im5mc2VydmVyIn0.9VEIb_dzvFdezM_FLHBIlktxtcNtnUIiAB7I73tGemU"></script></body> </html>