CINXE.COM

User Onboarding | Userflow

<!DOCTYPE html><!-- Last Published: Mon Apr 07 2025 14:23:06 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.userflow.com" data-wf-page="6673bbd24b79d44010484b75" data-wf-site="666bc9172254723eadc4af82" lang="en" data-wf-locale="en"><head><meta charset="utf-8"/><title>User Onboarding | Userflow</title><meta content="Smarter and faster user onboarding. Userflow lets your whole team build customized in-app tours and checklists, without code. Power up your onboarding experience." name="description"/><meta content="User Onboarding | Userflow" property="og:title"/><meta content="Smarter and faster user onboarding. Userflow lets your whole team build customized in-app tours and checklists, without code. Power up your onboarding experience." property="og:description"/><meta content="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/668e64023deb80beb0b106ad_userflow-opengragh.png" property="og:image"/><meta content="User Onboarding | Userflow" property="twitter:title"/><meta content="Smarter and faster user onboarding. Userflow lets your whole team build customized in-app tours and checklists, without code. Power up your onboarding experience." property="twitter:description"/><meta content="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/668e64023deb80beb0b106ad_userflow-opengragh.png" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/css/userflow-victorflow.webflow.cd3066fc5.min.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({ google: { families: ["Work Sans:300,regular,500,600,700,800,900","Caveat:regular,500,600,700","Archivo:300,regular,500,600","Inter:300,regular,500,600,700"] }});</script><script src="https://use.typekit.net/rak3tdq.js" type="text/javascript"></script><script type="text/javascript">try{Typekit.load();}catch(e){}</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66b5b86db8a9fb5be70d77a7_userflow-favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66b5c0b225dfd91ca8f67ac9_userflow-webclip.webp" rel="apple-touch-icon"/><link href="https://www.userflow.com/user-onboarding" rel="canonical"/><style> body { -webkit-font-smoothing: antialiased; } .primary-button { color: #f7fdfa; background-image: linear-gradient(180deg, #23d777 0, #00b353 100%); box-shadow: 0 4px 16px -8px rgba(9, 19, 83, .35); text-shadow: 0 1px 6px rgba(0, 51, 17, .35); background-size: 100% 200%; background-repeat: no-repeat; background-position-y: 100%; } .secondary-button { color: #e9f1fb; background-image: linear-gradient(180deg, #0c196e 0, #060d37 100%); box-shadow: 0 4px 16px -8px rgba(9, 19, 83, .5); text-shadow: 0 1px 6px rgba(6, 13, 55, .9); background-size: 100% 200%; background-repeat: no-repeat; background-position-y: 100%; } .navbar.dark { background-color: transparent; } @media screen and (max-width: 991px) { .nav-menu.navigation.dark { background-color: #1a57e6; } } .nav-link.dark { color: var(--white); } .nav-dropdown-link.dark { color: var(--white); } .nav-icon-light.dark { opacity: 1; } .nav-icon-dark.dark { opacity: 0; } .nav-link.dark:hover { background: #1047c6 } .quote-bg { background: radial-gradient(50% 150% at 60% 50%, rgba(15, 230, 140, .7) 0, rgba(15, 230, 140, 0) 100%), radial-gradient(40% 100% at 0 0, #9747ff 0, #1a57e6 100%); } .illustration-tab-image-wrap { transform: perspective(2000px) rotateX(25deg) rotateY(0) rotateZ(0) translate3d(0, 0, -120px); } .illustration-userflow-layer, .illustration-tab-pane { transform: perspective(2000px) rotateX(25deg) rotateY(0) rotateZ(0) translate3d(0, 0, -120px); } .in-view { transform: perspective(2000px) rotateX(25deg) rotateY(0) rotateZ(0) translate3d(0, 0, 0); } .box-shadow { box-shadow: 0 0 1px 0 rgba(19, 43, 57, .25), 0 4px 24px -4px rgba(19, 43, 57, .1); background-color: var(--blue); } .product-icon-code>svg { height: 28px; vertical-align: -.125em; } .best-practices-code>svg { height: auto; vertical-align: -.125em; } .fa-secondary { opacity: 0.4; } .table_component { width: 100%; margin: 1rem 0; border-radius: 0.25rem; border-left: 1px solid #c3d5e0; border-right: 1px solid #c3d5e0; border-collapse: separate; } .table_header, .table_cell { padding: 0.5rem; border-bottom: 1px solid #c3d5e0; } .table_header { border-top: 1px solid #c3d5e0; } .table_header:first-child { border-top-left-radius: 3px; } .table_header:last-child { border-top-right-radius: 3px; } .table_head { background: #f4f8fb; } .case-study-logo { /* Standard filter property */ filter: grayscale(1) brightness(100); /* Vendor prefixes for older browser support */ -webkit-filter: grayscale(1) brightness(100); -moz-filter: grayscale(1) brightness(100); -ms-filter: grayscale(1) brightness(100); -o-filter: grayscale(1) brightness(100); } .case-study-feature-logo { /* Standard filter property */ filter: grayscale(1) brightness(0); /* Vendor prefixes for older browser support */ -webkit-filter: grayscale(1) brightness(0); -moz-filter: grayscale(1) brightness(0); -ms-filter: grayscale(1) brightness(0); -o-filter: grayscale(1) brightness(0); } </style> <style> @media (max-width: 768px) { p.blog-cta-text-link:before, p.blog-cta-text-link:after { content: "–"; } } </style> <!-- Mixpanel Code--> <script> (function (c, a) { if (!a.__SV) { var b = window; try { var d, m, j, k = b.location, f = k.hash; d = function (a, b) { return (m = a.match(RegExp(b + "=([^&]*)"))) ? m[1] : null }; f && d(f, "state") && (j = JSON.parse(decodeURIComponent(d(f, "state"))), "mpeditor" === j.action && (b.sessionStorage.setItem("_mpcehash", f), history.replaceState(j.desiredHash || "", c.title, k.pathname + k.search))) } catch (n) { } var l, h; window.mixpanel = a; a._i = []; a.init = function (b, d, g) { function c(b, i) { var a = i.split("."); 2 == a.length && (b = b[a[0]], i = a[1]); b[i] = function () { b.push([i].concat(Array.prototype.slice.call(arguments, 0))) } } var e = a; "undefined" !== typeof g ? e = a[g] = [] : g = "mixpanel"; e.people = e.people || []; e.toString = function (b) { var a = "mixpanel"; "mixpanel" !== g && (a += "." + g); b || (a += " (stub)"); return a }; e.people.toString = function () { return e.toString(1) + ".people (stub)" }; l = "disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset opt_in_tracking opt_out_tracking has_opted_in_tracking has_opted_out_tracking clear_opt_in_out_tracking start_batch_senders people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove".split(" "); for (h = 0; h < l.length; h++) c(e, l[h]); var f = "set set_once union unset remove delete".split(" "); e.get_group = function () { function a(c) { b[c] = function () { call2_args = arguments; call2 = [c].concat(Array.prototype.slice.call(call2_args, 0)); e.push([d, call2]) } } for (var b = {}, d = ["get_group"].concat(Array.prototype.slice.call(arguments, 0)), c = 0; c < f.length; c++) a(f[c]); return b }; a._i.push([b, d, g]) }; a.__SV = 1.2; b = c.createElement("script"); b.type = "text/javascript"; b.async = !0; b.src = "undefined" !== typeof MIXPANEL_CUSTOM_LIB_URL ? MIXPANEL_CUSTOM_LIB_URL : "file:" === c.location.protocol && "//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//) ? "https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js" : "//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"; d = c.getElementsByTagName("script")[0]; d.parentNode.insertBefore(b, d) } })(document, window.mixpanel || []); </script> <script> mixpanel.init("619494a9fdb43c4bb53cff4560b7155a", { batch_requests: true }) mixpanel.track('page_viewed', JSON.parse(atob('eyJwYXRobmFtZSI6Ii9kZW1vIn0='))) </script> <!-- Google tag manager and Google Analytics code --> <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-5ZL9DTJ'); </script> <script src="https://kit.fontawesome.com/d3dc32f4ba.js" crossorigin="anonymous" nonce=""></script> <script type="text/javascript"> window.heapReadyCb = window.heapReadyCb || [], window.heap = window.heap || [], heap.load = function (e, t) { window.heap.envId = e, window.heap.clientConfig = t = t || {}, window.heap.clientConfig.shouldFetchServerConfig = !1; var a = document.createElement("script"); a.type = "text/javascript", a.async = !0, a.src = "https://cdn.us.heap-api.com/config/" + e + "/heap_config.js"; var r = document.getElementsByTagName("script")[0]; r.parentNode.insertBefore(a, r); var n = ["init", "startTracking", "stopTracking", "track", "resetIdentity", "identify", "getSessionId", "getUserId", "getIdentity", "addUserProperties", "addEventProperties", "removeEventProperty", "clearEventProperties", "addAccountProperties", "addAdapter", "addTransformer", "addTransformerFn", "onReady", "addPageviewProperties", "removePageviewProperty", "clearPageviewProperties", "trackPageview"], i = function (e) { return function () { var t = Array.prototype.slice.call(arguments, 0); window.heapReadyCb.push({ name: e, fn: function () { heap[e] && heap[e].apply(heap, t) } }) } }; for (var p = 0; p < n.length; p++)heap[n[p]] = i(n[p]) }; heap.load("1561782827"); </script> <!-- Start RB2B --> <script>!function () { var reb2b = window.reb2b = window.reb2b || []; if (reb2b.invoked) return; reb2b.invoked = true; reb2b.methods = ["identify", "collect"]; reb2b.factory = function (method) { return function () { var args = Array.prototype.slice.call(arguments); args.unshift(method); reb2b.push(args); return reb2b; }; }; for (var i = 0; i < reb2b.methods.length; i++) { var key = reb2b.methods[i]; reb2b[key] = reb2b.factory(key); } reb2b.load = function (key) { var script = document.createElement("script"); script.type = "text/javascript"; script.async = true; script.src = "https://s3-us-west-2.amazonaws.com/b2bjsstore/b/" + key + "/4N210HEL206Z.js.gz"; var first = document.getElementsByTagName("script")[0]; first.parentNode.insertBefore(script, first); }; reb2b.SNIPPET_VERSION = "1.0.1"; reb2b.load("4N210HEL206Z"); }(); </script> <!-- Start VWO Async SmartCode --> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" /> <script type='text/javascript' id='vwoCode'> window._vwo_code || (function () { var account_id = 790360, version = 2.1, settings_tolerance = 2000, hide_element = 'body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', /* DO NOT EDIT BELOW THIS LINE */ f = false, w = window, d = document, v = d.querySelector('#vwoCode'), cK = '_vwo_' + account_id + '_settings', cc = {}; try { var c = JSON.parse(localStorage.getItem('_vwo_' + account_id + '_config')); cc = c && typeof c === 'object' ? c : {} } catch (e) { } var stT = cc.stT === 'session' ? w.sessionStorage : w.localStorage; code = { nonce: v && v.nonce, use_existing_jquery: function () { return typeof use_existing_jquery !== 'undefined' ? use_existing_jquery : undefined }, library_tolerance: function () { return typeof library_tolerance !== 'undefined' ? library_tolerance : undefined }, settings_tolerance: function () { return cc.sT || settings_tolerance }, hide_element_style: function () { return '{' + (cc.hES || hide_element_style) + '}' }, hide_element: function () { if (performance.getEntriesByName('first-contentful-paint')[0]) { return '' } return typeof cc.hE === 'string' ? cc.hE : hide_element }, getVersion: function () { return version }, finish: function (e) { if (!f) { f = true; var t = d.getElementById('_vis_opt_path_hides'); if (t) t.parentNode.removeChild(t); if (e) (new Image).src = 'https://dev.visualwebsiteoptimizer.com/ee.gif?a=' + account_id + e } }, finished: function () { return f }, addScript: function (e) { var t = d.createElement('script'); t.type = 'text/javascript'; if (e.src) { t.src = e.src } else { t.text = e.text } v && t.setAttribute('nonce', v.nonce); d.getElementsByTagName('head')[0].appendChild(t) }, load: function (e, t) { var n = this.getSettings(), i = d.createElement('script'), r = this; t = t || {}; if (n) { i.textContent = n; d.getElementsByTagName('head')[0].appendChild(i); if (!w.VWO || VWO.caE) { stT.removeItem(cK); r.load(e) } } else { var o = new XMLHttpRequest; o.open('GET', e, true); o.withCredentials = !t.dSC; o.responseType = t.responseType || 'text'; o.onload = function () { if (t.onloadCb) { return t.onloadCb(o, e) } if (o.status === 200 || o.status === 304) { _vwo_code.addScript({ text: o.responseText }) } else { _vwo_code.finish('&e=loading_failure:' + e) } }; o.onerror = function () { if (t.onerrorCb) { return t.onerrorCb(e) } _vwo_code.finish('&e=loading_failure:' + e) }; o.send() } }, getSettings: function () { try { var e = stT.getItem(cK); if (!e) { return } e = JSON.parse(e); if (Date.now() > e.e) { stT.removeItem(cK); return } return e.s } catch (e) { return } }, init: function () { if (d.URL.indexOf('__vwo_disable__') > -1) return; var e = this.settings_tolerance(); w._vwo_settings_timer = setTimeout(function () { _vwo_code.finish(); stT.removeItem(cK) }, e); var t; if (this.hide_element() !== 'body') { t = d.createElement('style'); var n = this.hide_element(), i = n ? n + this.hide_element_style() : '', r = d.getElementsByTagName('head')[0]; t.setAttribute('id', '_vis_opt_path_hides'); v && t.setAttribute('nonce', v.nonce); t.setAttribute('type', 'text/css'); if (t.styleSheet) t.styleSheet.cssText = i; else t.appendChild(d.createTextNode(i)); r.appendChild(t) } else { t = d.getElementsByTagName('head')[0]; var i = d.createElement('div'); i.style.cssText = 'z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;'; i.setAttribute('id', '_vis_opt_path_hides'); i.classList.add('_vis_hide_layer'); t.parentNode.insertBefore(i, t.nextSibling) } var o = window._vis_opt_url || d.URL, s = 'https://dev.visualwebsiteoptimizer.com/j.php?a=' + account_id + '&u=' + encodeURIComponent(o) + '&vn=' + version; if (w.location.search.indexOf('_vwo_xhr') !== -1) { this.addScript({ src: s }) } else { this.load(s + '&x=true') } } }; w._vwo_code = code; code.init(); })(); </script> <!-- End VWO Async SmartCode --> <!-- [Attributes by Finsweet] CMS Load --> <script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsload@1/cmsload.js"></script></head><body><div><div class="header-stickey"><div class="header-bar"><div class="w-layout-blockcontainer container w-container"></div></div><div class="nav-whole-area"><div data-animation="default" data-collapse="none" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav"><div class="container w-container"><div class="navbar-area navigation"><a href="/" class="brand-link w-nav-brand"><div class="brand-logo-embed w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="150" height="30" fill="none" viewBox="0 0 500 100"> <path class="userflow-logo-fg" fill="#23d777" d="m61.49 30.37-1.652 9.37c-1.762 10-11.293 18-21.244 18h-8.159c-10.011 0-16.628-8.09-14.876-18l3.313-18.77h9.42L24.98 39.74a6.992 6.992 0 0 0 1.405 6.088 7.007 7.007 0 0 0 5.713 2.542h8.16a10.77 10.77 0 0 0 6.58-2.553 10.747 10.747 0 0 0 3.58-6.077L52.9 25.67a5.849 5.849 0 0 1 5.536-4.7h17.43l1.081-6.15C78.4 6.63 72.943 0 64.734 0H24.689C16.499 0 8.67 6.63 7.239 14.82l-7.008 40C-1.21 63 4.236 69.63 12.445 69.63H52.49c8.199 0 16.018-6.63 17.45-14.81l4.314-24.45H61.49Z"></path> <path class="userflow-logo-bg" fill="#1a57e6" d="M87.62 30.37h-4.005l-6.097 34.57c-1.442 8.18-9.26 14.82-17.45 14.82h-36.09l-.951 5.43C21.575 93.37 27.03 100 35.24 100h40.045c8.19 0 16.018-6.63 17.45-14.81l7.008-40c1.531-8.18-3.935-14.82-12.124-14.82Z"></path> <path class="userflow-logo-txt" fill="#060d37" d="m347.79 3-2.253 13.112h-2.97c-5.94 0-6.864.922-8.197 9.22 0 .102-.203.716-.307 1.229h9.63l-2.253 12.497h-9.527c-2.766 15.57-6.863 38.722-6.863 38.722-2.971 17.414-5.634 22.331-20.693 22.331h-6.863l2.253-13.112h2.971c5.532 0 6.864-.922 8.298-9.22l9.219-52.55C323.205 6.073 327.611 3 343.693 3h4.097ZM129.936 26.56c8.093 0 11.474 4.508 9.322 15.571l-2.765 13.932c-1.332 6.556.717 10.346 6.35 10.346 5.123 0 8.708-5.122 10.142-12.497l5.327-27.351h14.341l-6.556 34.009c-.717 3.688-.102 5.02 3.176 5.02h2.048l-2.15 12.19h-6.66c-5.121 0-8.502-1.435-9.936-5.02-3.175 3.688-7.58 6.044-13.624 6.044-12.395.102-19.975-7.785-17.005-22.946l2.561-11.985c.82-3.995 0-5.122-2.868-5.122H120l2.254-12.19h7.682v-.001Zm65.356 52.244c12.6 0 20.692-6.249 22.229-15.263 1.946-11.371-7.273-14.956-15.059-17.312-5.429-1.64-10.243-2.664-9.731-5.327.41-2.459 2.663-4.098 6.453-4.098 4.713 0 8.298 2.356 10.552 5.737l11.37-7.376c-3.79-5.634-11.473-9.629-21.204-9.629-11.064 0-19.566 5.737-21 14.034-2.049 11.78 7.17 15.161 14.956 17.415 5.429 1.536 10.244 2.56 9.731 5.429-.512 2.97-3.175 4.61-6.863 4.61-5.122 0-9.015-2.766-11.576-7.069l-12.087 7.888c3.483 5.839 10.858 10.96 22.229 10.96v.001Zm233.695-52.243c8.093 0 11.27 4.507 9.116 15.57l-2.766 14.137c-1.33 6.863.31 10.346 5.84 10.346 5.326 0 9.22-5.634 10.653-13.112l4.713-26.941h14.24l-5.43 31.55c-.923 5.635 1.127 8.195 5.02 8.195 8.194 0 12.907-8.707 14.854-19.872 1.636-8.912.51-15.161-1.127-19.873h14.443c1.127 5.224 2.357 12.292.51 22.126-2.763 15.468-11.88 30.117-28.886 30.117-8.194 0-12.704-2.561-14.854-7.273-4.61 4.712-10.653 7.273-17.72 7.273-11.986 0-19.463-8.4-16.596-22.946l2.356-11.985c.82-3.995 0-5.122-2.87-5.122h-1.536l2.256-12.19h7.784Zm-40.77 52.243c15.263 0 25.713-10.346 28.273-23.458 2.867-15.264-6.453-29.81-24.277-29.81-14.65 0-25.713 10.346-28.273 23.458-2.87 15.264 6.453 29.81 24.277 29.81ZM233.468 57.19l.052.118-.044-.016c1.23 5.634 5.737 9.322 12.805 9.322 5.02 0 9.117-2.151 12.395-6.351l10.756 7.068c-5.02 6.863-12.087 11.473-23.97 11.473-18.644 0-27.146-14.649-24.483-29.605 2.327-13.03 13.617-21.916 25.65-23.432a25.133 25.133 0 0 1 3.41-.23h.237c.092 0 .18 0 .265.003 15.372.25 24.59 11.935 22.957 26.528l-.574 5.122h-39.456ZM366.64 3l-10.347 58.594c-.513 2.664.307 3.688 2.97 3.688h1.537l-2.253 12.498h-6.35c-11.474 0-11.68-7.069-10.04-16.288L352.4 3h14.24ZM284 26.56c6.658 0 9.116 3.176 9.526 8.093 3.688-5.531 8.912-8.092 15.366-8.092h6.556l-2.561 14.136h-5.634c-7.069 0-11.986 3.176-13.83 12.702l-4.814 24.38h-14.341l6.556-33.906c.922-3.688 0-5.122-3.278-5.122h-1.64l2.152-12.19h5.941l.001-.001Zm104.933 39.234c-7.99 0-12.803-7.273-11.473-15.16 1.23-7.478 7.683-12.293 14.033-12.293 8.197.205 12.807 7.478 11.474 15.366-1.227 7.478-7.374 12.087-14.034 12.087ZM260.05 45.921c-1.248-5.326-5.343-8.092-11.284-8.092-5.941 0-10.816 3.278-13.506 8.092h24.79Z"></path> </svg></div></a><div class="nav-menu-area"><nav role="navigation" class="nav-menu navigation w-nav-menu"><div class="nav-menu-wrap navigation"><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="nav-link w-dropdown-toggle"><div>Product</div><div class="nav-dropdown-icon-wrap"><div class="dropdown-arrow-code w-embed"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="currentColor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg></div></div></div><nav class="nav-dropdown-list w-dropdown-list"><a href="/product" class="nav-dropdown-link w-dropdown-link">Product Overview</a><a href="/resource-center" class="nav-dropdown-link w-dropdown-link">Resource Center</a><a href="/ai-assistant" class="nav-dropdown-link w-dropdown-link">AI Assistant</a><a href="/in-app-surveys" class="nav-dropdown-link w-dropdown-link">In-app surveys</a><a href="/feature-announcements" class="nav-dropdown-link w-dropdown-link">Feature announcements</a></nav></div><a href="/pricing" class="nav-link w-nav-link">Pricing</a><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="nav-link w-dropdown-toggle"><div>Resources </div><div class="nav-dropdown-icon-wrap"><div class="dropdown-arrow-code w-embed"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="currentColor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg></div></div></div><nav class="nav-dropdown-list w-dropdown-list"><a href="/blog" class="nav-dropdown-link w-dropdown-link">Blog</a><a href="https://docs.userflow.com/docs" class="nav-dropdown-link w-dropdown-link">Documentation</a><a href="/customers" class="nav-dropdown-link w-dropdown-link">Customers</a><a href="/best-practices" class="nav-dropdown-link w-dropdown-link">Best practices</a><a href="https://docs.userflow.com/docs/dev" class="nav-dropdown-link w-dropdown-link">Developer Docs</a></nav></div><div class="nav-button-wrap navigation"><a href="https://app.userflow.com/app/sign-in?__hstc=17958374.732a3001c521056a8c4cee5bb17d47c5.1721370265869.1729849049053.1730088044328.24&amp;__hssc=17958374.3.1730088044328&amp;__hsfp=3499748124" class="nav-link icon w-inline-block"><div class="nav-icon-wrap"><img loading="lazy" src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/671b266ef78f063b3417c33b_sign-in-light.svg" alt="sign" class="nav-icon-light"/><img loading="lazy" src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/671b210cefebad642f8669a1_sign-in.svg" alt="sign" class="nav-icon-dark"/></div></a><a href="/demo" class="secondary-button small navigation w-button">View a Demo</a><a href="https://app.userflow.com/app/create-account" class="primary-button navigation w-button">Start Free Trial</a></div></div></nav><div class="nav-menu-button-area"><a href="https://app.userflow.com/app/create-account" class="primary-button navigation mobile w-button">Start Free Trial</a><div data-w-id="70b3e3bc-be99-b6f6-e925-a9f4623c3870" class="nav-menu-button"><div class="nav-menu-line"></div><div class="nav-menu-line"></div><div class="nav-menu-line"></div></div></div></div></div></div></div></div></div><section class="product-banner-section"><div class="blog-hero-bg-wrap"><img loading="eager" src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/675c182c138d14f043db62c4_blog-hero-bg.jpg" alt="image" class="blog-hero-bg"/></div><div class="w-layout-blockcontainer container w-container"><div class="product-banner-area"><div class="product-banner-wrap features"><p class="product-hero-subtitle">Solutions</p><h1 class="product-hero-title">Smarter and faster user onboarding</h1><p class="product-banner-content inter-font">Userflow lets your whole team build customized in-app tours and checklists, without code.<br/>Power up your onboarding experience.</p><div class="product-button-wrap feature"><a href="https://app.userflow.com/app/create-account" class="primary-button medium w-button">Start Building Now</a><a href="/demo#schedule" class="secondary-button w-button">Schedule a Demo</a></div></div></div></div></section><section class="feature-section"><div class="w-layout-blockcontainer container w-container"><div class="feature-area"><div class="feature-wrap"><div class="customer-image-wrap display-frame"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b3d1fdf9c0360b37589_customer-1.jpg" loading="lazy" sizes="(max-width: 479px) 93vw, (max-width: 767px) 96vw, (max-width: 991px) 97vw, (max-width: 1279px) 57vw, 567px" srcset="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b3d1fdf9c0360b37589_customer-1-p-500.jpg 500w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b3d1fdf9c0360b37589_customer-1-p-800.jpg 800w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b3d1fdf9c0360b37589_customer-1-p-1080.jpg 1080w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b3d1fdf9c0360b37589_customer-1.jpg 1200w" alt="image" class="customer-image"/></div><div class="customer-content-wrap"><h2 class="section-title">Enable users to onboard themselves</h2><p class="section-content inter-font">Reduce the workload for your sales and customer success teams.</p><p class="section-content inter-font">Build self-service onboarding checklists and flows that enable your users to easily get started with your application.</p></div></div><div class="features-card-wrap"><div class="features-card"><div class="product-icon-wrap"><div class="product-icon-code w-embed"><svg class="fa-tasks" aria-hidden="true" focusable="false" data-prefix="fad" data-icon="tasks" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><g class="fa-duotone-group"><path class="fa-secondary" fill="currentColor" d="M160 416c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm64-160c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H256c-17.7 0-32 14.3-32 32zm32-128H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H256c-17.7 0-32 14.3-32 32s14.3 32 32 32z"></path><path class="fa-primary" fill="currentColor" d="M153.8 72.1c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 101.1 41 79C31.6 69.7 16.4 69.7 7 79s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zm0 160c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 261.1 41 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zM48 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"></path></g></svg></div></div><div class="product-text-wrap"><h3 class="product-title inter-font">Onboarding checklists</h3><p class="product-content inter-font">Give your customers a structured on-demand onboarding experience through our easy-to-build checklists.</p></div></div><div class="features-card"><div class="product-icon-wrap"><div class="product-icon-code w-embed"><svg class="fa-code-branch" aria-hidden="true" focusable="false" data-prefix="fad" data-icon="code-branch" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg=""><g class="fa-duotone-group"><path class="fa-secondary" fill="currentColor" d="M112 153.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7L48 352l0 6.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V352c0-35.3 28.7-64 64-64h96c70.7 0 128-57.3 128-128v-6.7c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7V160c0 35.3-28.7 64-64 64H176c-23.3 0-45.2 6.2-64 17.1V153.3z"></path><path class="fa-primary" fill="currentColor" d="M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 80 0a80 80 0 1 0 0 160zM368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 368 0a80 80 0 1 0 0 160zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0A80 80 0 1 0 0 432a80 80 0 1 0 160 0z"></path></g></svg></div></div><div class="product-text-wrap"><h3 class="product-title inter-font">In-app product guides</h3><p class="product-content inter-font">Guide users to your key features to create more “Aha” moments and reduce the need for support.</p></div></div><div class="features-card"><div class="product-icon-wrap"><div class="product-icon-code w-embed"><svg class="fa-dot-circle" aria-hidden="true" focusable="false" data-prefix="fad" data-icon="dot-circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><g class="fa-duotone-group"><path class="fa-secondary" fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path><path class="fa-primary" fill="currentColor" d="M256 160a96 96 0 1 0 0 192 96 96 0 1 0 0-192z"></path></g></svg></div></div><div class="product-text-wrap"><h3 class="product-title inter-font">Feature highlights</h3><p class="product-content inter-font">Highlight and guide customers to your new or unused features to drive retention and expansion.</p></div></div></div></div></div></section><section class="feature-section"><div class="w-layout-blockcontainer container w-container"><div class="customer-area"><div class="customer-wrap"><div class="customer-content-wrap"><h2 class="section-title">Fastest Flow Builder on the market</h2><p class="section-content inter-font">Flows that would previously take weeks of developer time, can now be built by anyone in just minutes with Userflow’s intuitive Flow Builder.</p></div><div class="customer-image-wrap display-frame"><img sizes="(max-width: 479px) 93vw, (max-width: 767px) 96vw, (max-width: 991px) 97vw, (max-width: 1279px) 57vw, 567px" srcset="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b5b2269557049924be0_customer-2-p-500.png 500w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b5b2269557049924be0_customer-2-p-800.png 800w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b5b2269557049924be0_customer-2-p-1080.png 1080w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b5b2269557049924be0_customer-2.png 1136w" alt="image" loading="lazy" src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66712b5b2269557049924be0_customer-2.png" class="customer-image"/></div></div><div class="features-card-wrap"><div class="features-card"><div class="product-icon-wrap"><div class="product-icon-code w-embed"><svg class="fa-smile-beam" aria-hidden="true" focusable="false" data-prefix="fad" data-icon="smile-beam" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><g class="fa-duotone-group"><path class="fa-secondary" fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm53.5-96.7l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z"></path><path class="fa-primary" fill="currentColor" d="M217.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z"></path></g></svg></div></div><div class="product-text-wrap"><h3 class="product-title inter-font">Visual, intuitive and no-code</h3><p class="product-content inter-font">Point and click. Drag and drop. No technical skills required.</p></div></div><div class="features-card"><div class="product-icon-wrap"><div class="product-icon-code w-embed"><svg class="fa-crosshairs" aria-hidden="true" focusable="false" data-prefix="fad" data-icon="crosshairs" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><g class="fa-duotone-group"><path class="fa-secondary" fill="currentColor" d="M42.4 224C56.3 130.3 130.3 56.3 224 42.4v65C165.7 119.9 119.9 165.7 107.4 224h-65zm0 64h65c12.5 58.3 58.4 104.1 116.6 116.6v65C130.3 455.7 56.3 381.7 42.4 288zM288 469.6v-65c58.3-12.5 104.1-58.4 116.6-116.6h65c-13.9 93.7-88 167.7-181.6 181.6zM469.6 224h-65C392.1 165.7 346.3 119.9 288 107.4v-65c93.7 13.9 167.7 88 181.6 181.6z"></path><path class="fa-primary" fill="currentColor" d="M256 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm256 32H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32zM256 352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32zM128 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32z"></path></g></svg></div></div><div class="product-text-wrap"><h3 class="product-title inter-font">Intelligent element selection</h3><p class="product-content inter-font">Our proprietary element selection algorithm can identify elements in your app based on simple text.</p></div></div><div class="features-card"><div class="product-icon-wrap"><div class="product-icon-code w-embed"><svg class="fa-play" aria-hidden="true" focusable="false" data-prefix="fad" data-icon="play" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><g class="fa-duotone-group"><path class="fa-secondary" fill="currentColor" d="M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"></path><path class="fa-primary" fill="currentColor" d=""></path></g></svg></div></div><div class="product-text-wrap"><h3 class="product-title inter-font">Preview directly in your own app</h3><p class="product-content inter-font">Easily preview and live-edit your flows in draft mode before publishing to your users.</p></div></div></div></div></div></section><section class="feature-section"><div class="w-layout-blockcontainer container w-container"><div class="feature-area"><div class="feature-wrap"><div class="customer-image-wrap display-frame"><img sizes="(max-width: 479px) 93vw, (max-width: 767px) 96vw, (max-width: 991px) 97vw, (max-width: 1279px) 57vw, 567px" srcset="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666c2f6596d47aba902c3cac_see-example-image-p-500.png 500w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666c2f6596d47aba902c3cac_see-example-image-p-800.png 800w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666c2f6596d47aba902c3cac_see-example-image-p-1080.png 1080w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666c2f6596d47aba902c3cac_see-example-image.png 1136w" alt="image" loading="lazy" src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666c2f6596d47aba902c3cac_see-example-image.png" class="customer-image"/></div><div class="customer-content-wrap"><h2 class="section-title">See an example</h2><p class="section-content inter-font">See what a full Userflow onboarding experience can look like from your users&#x27; perspective.</p><div class="feature-button-wrap"><a href="/demo#example" class="section-link w-inline-block"><div>See example onboarding flow</div><div class="link-arrow-code w-embed"><svg class="svg-inline--fa fa-long-arrow-right" aria-hidden="true" focusable="false" data-prefix="far" data-icon="long-arrow-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M505 273c9.4-9.4 9.4-24.6 0-33.9L369 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l95 95L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l406.1 0-95 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 273z"></path></svg></div></a></div></div></div></div></div></section><section class="product-cta-section"><div class="w-layout-blockcontainer container w-container"><div class="product-overview-cta"><div class="product-cta-title-wrap"><h2 class="product-cta-title">Experience Userflow’s
Power Firsthand</h2></div><p class="blog-cta-content">From setup to success, see how Userflow transforms your user onboarding.</p><div class="blog-cta-start-wrap"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/67b5b055b38c931c20ddfeed_cta-star.svg" loading="lazy" alt="star icon" class="blog-cta-star"/></div><div class="product-cta-rating-text-wrap"><div href="https://www.g2.com/products/userflow/reviews" class="product-cta-rating-text">4.8 rating on</div><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/67b5b11694aa76221e4690c3_rating-g2-icon.svg" loading="lazy" alt="rating icon"/></div><div class="blog-cta-button-wrap"><a href="https://app.userflow.com/app/create-account" class="blog-cta-text-link cta">Start Free Trial</a><p class="blog-cta-text-link">or</p><a href="/demo" class="primary-button large w-button">Schedule a Demo</a></div><p class="product-cta-text">No installation required - start building in your own app immediately. The first 14 days are on us.</p></div></div></section><section class="footer-section"><div class="w-layout-blockcontainer container w-container"><div class="footer-area"><div class="footer-link-wrap"><a href="/" class="footer-logo-link w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666c4067646925e7d0491ec2_footer-logo.svg" alt="icon" class="footer-logo-image"/></a></div><div class="footer-wrap"><div class="footer-list-area"><div class="footer-list-whole-wrap"><h2 class="footer-list-title">PRODUCT</h2><div class="footer-list-wrap"><a href="/product" class="footer-link">Product overview<br/></a><a href="/resource-center" class="footer-link">Resource Center<br/></a><a href="/ai-assistant" class="footer-link">AI Assistant<br/></a><a href="/in-app-surveys" class="footer-link">In-app surveys</a><a href="/feature-announcements" class="footer-link">Feature announcements</a><a href="/pricing" class="footer-link">Pricing <br/></a><a href="/alternatives" class="footer-link">Alternatives<br/></a></div></div></div><div class="footer-list-area"><div class="footer-list-whole-wrap"><h2 class="footer-list-title">SOLUTIONS</h2><div class="footer-list-wrap"><a href="/user-onboarding" aria-current="page" class="footer-link w--current">User onboarding</a><a href="/product-tours" class="footer-link">Product tours</a><a href="/product-led-growth" class="footer-link">Product-led growth</a><a href="/customer-self-service" class="footer-link">Customer self-service</a><a href="/trial-conversion" class="footer-link">Trial conversion</a></div></div><div class="footer-list-whole-wrap"><h2 class="footer-list-title">DEVELOPERS</h2><div class="footer-list-wrap"><a href="https://docs.userflow.com/docs/dev" class="footer-link">Developer docs</a><a href="https://docs.userflow.com/docs/dev/userflow-js-installation" class="footer-link">Userflow.js Installation</a><a href="https://docs.userflow.com/docs/userflow-js#userflow-js-reference" class="footer-link">Userflow.js Reference</a><a href="https://docs.userflow.com/docs/api#userflow-api-reference" class="footer-link">API Reference</a></div></div></div><div class="footer-list-area"><div class="footer-list-whole-wrap"><h2 class="footer-list-title">RESOURCES</h2><div class="footer-list-wrap"><a href="/blog" class="footer-link">Blog</a><a href="/customers" class="footer-link">Customers</a><a href="https://docs.userflow.com/docs" class="footer-link">Documentation</a><a href="/first-userflow-onboarding" class="footer-link">First Userflow onboarding</a><a href="/userflow-tips-and-tricks" class="footer-link">Userflow tips and tricks</a><a href="/onboarding-best-practices" class="footer-link">Onboarding best practices</a><a href="/resource-center-best-practices" class="footer-link">Resource center best practices</a><a href="/product-led-at-userflow" class="footer-link">Product-led at Userflow</a></div></div></div><div class="footer-list-area"><div class="footer-list-whole-wrap"><div class="nav-button-wrap footer"><div class="footer-secondary-button"><a href="https://app.userflow.com/app/create-account" class="primary-button navigation w-button">Start Free Trial</a></div><a href="/demo" class="secondary-button small navigation w-button">View a Demo</a></div></div><div class="footer-list-whole-wrap"><h2 class="footer-list-title">© USERFLOW INC. 2025</h2><div class="footer-list-wrap"><a href="https://status.userflow.com/" class="footer-link">System status</a><a href="/policies/security" class="footer-link">Security</a><a href="/policies/privacy-regulations" class="footer-link">Privacy Regulations (GDPR)</a><a href="/policies/terms" class="footer-link">Terms of Service</a><a href="/policies/privacy" class="footer-link">Privacy Policy</a><a href="/policies" class="footer-link">All policies</a></div></div></div></div><div class="footer-badge-wrap"><img loading="lazy" src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66706c96f6aa024c3c6c9d93_footer-badge.png" alt="image" class="footer-badge-image"/></div></div></div></section></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=666bc9172254723eadc4af82" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/js/webflow.schunk.4a394eb5af8156f2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/js/webflow.schunk.8085171f981a85d3.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/js/webflow.dd6e4937.21e5a6e92997484f.js" type="text/javascript"></script><!-- Userflow initialization and identification (For All Pages) --> <script nonce="68a4db1c-aead-432a-b3bb-f1066735b2f6"> !function () { var e = "undefined" == typeof window ? {} : window, t = e.userflow, r = e.history; function n(t, n) { return function () { var o = new CustomEvent(n), s = Array.prototype.slice.call(arguments), a = t.apply(r, s); return e.dispatchEvent(o), a } } if (r) { e.__userflowStatePatched = !0; var o = r.pushState, s = r.replaceState; r.pushState = n(o, "userflow:pushstate"), r.replaceState = n(s, "userflow:replacestate") } if (!t) { var a = "https://js.userflow.com/", l = null; t = e.userflow = { _stubbed: !0, load: function () { return l || (l = new Promise((function (t, r) { var n = document.createElement("script"); n.async = !0; var o = e.USERFLOWJS_ENV_VARS || {}; "es2020" === (o.USERFLOWJS_BROWSER_TARGET || function (e) { for (var t = [[/Edg\//, /Edg\/(\d+)/, 80], [/OPR\//, /OPR\/(\d+)/, 67], [/Chrome\//, /Chrome\/(\d+)/, 80], [/CriOS\//, /CriOS\/(\d+)/, 100], [/Safari\//, /Version\/(\d+)/, 14], [/Firefox\//, /Firefox\/(\d+)/, 74]], r = 0; r < t.length; r++) { var n = t[r], o = n[0], s = n[1], a = n[2]; if (e.match(o)) { var l = e.match(new RegExp(s)); if (l && parseInt(l[1], 10) >= a) return "es2020"; break } } return "legacy" }(navigator.userAgent)) ? (n.type = "module", n.src = o.USERFLOWJS_ES2020_URL || a + "es2020/userflow.js") : n.src = o.USERFLOWJS_LEGACY_URL || a + "legacy/userflow.js", n.onload = function () { t() }, n.onerror = function () { document.head.removeChild(n), l = null; var e = new Error("Could not load Userflow.js"); console.warn(e.message), r(e) }, document.head.appendChild(n) }))), l } }; var u = e.USERFLOWJS_QUEUE = e.USERFLOWJS_QUEUE || [], i = function (e) { t[e] = function () { var r = Array.prototype.slice.call(arguments); t.load(), u.push([e, null, r]) } }, c = function (e) { t[e] = function () { var r, n = Array.prototype.slice.call(arguments); t.load(); var o = new Promise((function (e, t) { r = { resolve: e, reject: t } })); return u.push([e, r, n]), o } }, d = function (e, r) { t[e] = function () { return r } }; i("_setTargetEnv"), i("closeResourceCenter"), i("disableEvalJs"), i("init"), i("off"), i("on"), i("prepareAudio"), i("registerCustomInput"), i("remount"), i("reset"), i("setBaseZIndex"), i("setCustomInputSelector"), i("setCustomNavigate"), i("setCustomScrollIntoView"), i("setInferenceAttributeFilter"), i("setInferenceAttributeNames"), i("setInferenceClassNameFilter"), i("setResourceCenterLauncherHidden"), i("setScrollPadding"), i("setServerEndpoint"), i("setShadowDomEnabled"), i("setPageTrackingDisabled"), i("setUrlFilter"), i("setLinkUrlDecorator"), i("openResourceCenter"), i("toggleResourceCenter"), c("endAll"), c("endAllFlows"), c("endChecklist"), c("group"), c("identify"), c("identifyAnonymous"), c("start"), c("startFlow"), c("startWalk"), c("track"), c("updateGroup"), c("updateUser"), d("getResourceCenterState", null), d("isIdentified", !1) } }(); userflow.init('evao4c7wsve27lu324gtqrtfia') userflow.identify( 'visitor-6cb4e048-408f-4376-af65-a43fe0873aef', { user_type: 'visitor' }, { signature: '2353b8f7a7dd6989a24a6d32a31d4cb9d61b642cd06328dc164182891824bb3e' } ) </script> <script> window.intercomSettings = { api_base: "https://api-iam.intercom.io", app_id: "yq7qhyvw", }; </script> <script> // We pre-filled your app ID in the widget URL: 'https://widget.intercom.io/widget/yq7qhyvw' (function () { var w = window; var ic = w.Intercom; if (typeof ic === "function") { ic('reattach_activator'); ic('update', w.intercomSettings); } else { var d = document; var i = function () { i.c(arguments); }; i.q = []; i.c = function (args) { i.q.push(args); }; w.Intercom = i; var l = function () { var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://widget.intercom.io/widget/yq7qhyvw'; var x = d.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); }; if (document.readyState === 'complete') { l(); } else if (w.attachEvent) { w.attachEvent('onload', l); } else { w.addEventListener('load', l, false); } } })(); </script> <!--Script to toggle the display of elements with the 'security-policies' class based on the current page (For Security Single Page)--> <script> document.addEventListener('DOMContentLoaded', function () { function isSecurityPoliciesPage() { return window.location.pathname === '/policies/security'; } function toggleSecurityPolicies() { const securityPoliciesElements = document.querySelectorAll('.security-policies'); if (isSecurityPoliciesPage()) { securityPoliciesElements.forEach(element => { element.style.display = 'block'; }); } else { securityPoliciesElements.forEach(element => { element.style.display = 'none'; }); } } toggleSecurityPolicies(); window.addEventListener('popstate', toggleSecurityPolicies); }); </script> <!-- JavaScript code to handle Nav Header Colour Changing Functionality (For All Pages) --> <script> const heroSection = document.querySelector('.hero-section'); if (heroSection) { const headerSticky = document.querySelector('.header-stickey'); const svgPaths = document.querySelectorAll('.header-stickey .nav-whole-area .container .navbar-area .brand-link .w-embed svg path'); // Select all elements to apply the 'dark' class const navbar = document.querySelector('.header-stickey .nav-whole-area .navbar'); const navMenuLinks = document.querySelectorAll('.header-stickey .nav-whole-area .container .navbar-area .nav-menu .nav-menu-wrap .nav-link'); const navDropdownLinks = document.querySelectorAll('.nav-dropdown-link'); // New selector const navIconsLight = document.querySelectorAll('.nav-icon-light'); const navIconsDark = document.querySelectorAll('.nav-icon-dark'); const navMenuNavigation = document.querySelector('.nav-menu.navigation'); // Initial setup - apply dark mode to elements svgPaths.forEach(path => { path.style.fill = '#fff'; }); navbar.classList.add('dark'); navMenuLinks.forEach(link => { link.classList.add('dark'); }); navDropdownLinks.forEach(link => { link.classList.add('dark'); }); // Apply dark class to dropdown links navIconsLight.forEach(icon => { icon.classList.add('dark'); }); navIconsDark.forEach(icon => { icon.classList.add('dark'); }); if (navMenuNavigation) navMenuNavigation.classList.add('dark'); const heroSectionHeight = heroSection.offsetHeight; let scrolledIntoHero = false; window.addEventListener('scroll', function () { const scrollPosition = window.scrollY; const heroTop = heroSection.offsetTop; const heroBottom = heroSection.offsetTop + heroSectionHeight; if (scrollPosition >= heroTop && scrollPosition <= heroBottom) { if (!scrolledIntoHero) { // Apply dark mode to elements svgPaths.forEach(path => { path.style.fill = '#fff'; }); navbar.classList.add('dark'); navMenuLinks.forEach(link => { link.classList.add('dark'); }); navDropdownLinks.forEach(link => { link.classList.add('dark'); }); // Apply dark class to dropdown links navIconsLight.forEach(icon => { icon.classList.add('dark'); }); navIconsDark.forEach(icon => { icon.classList.add('dark'); }); if (navMenuNavigation) navMenuNavigation.classList.add('dark'); scrolledIntoHero = true; } } else { if (scrolledIntoHero) { // Remove dark mode from elements svgPaths.forEach(path => { path.style.fill = ''; }); navbar.classList.remove('dark'); navMenuLinks.forEach(link => { link.classList.remove('dark'); }); navDropdownLinks.forEach(link => { link.classList.remove('dark'); }); // Remove dark class from dropdown links navIconsLight.forEach(icon => { icon.classList.remove('dark'); }); navIconsDark.forEach(icon => { icon.classList.remove('dark'); }); if (navMenuNavigation) navMenuNavigation.classList.remove('dark'); scrolledIntoHero = false; } } }); function resetFunctionalities() { svgPaths.forEach(path => { path.style.fill = ''; }); navbar.classList.remove('dark'); navMenuLinks.forEach(link => { link.classList.remove('dark'); }); navDropdownLinks.forEach(link => { link.classList.remove('dark'); }); // Reset dark class on dropdown links navIconsLight.forEach(icon => { icon.classList.remove('dark'); }); navIconsDark.forEach(icon => { icon.classList.remove('dark'); }); if (navMenuNavigation) navMenuNavigation.classList.remove('dark'); scrolledIntoHero = false; } } </script> <!-- Function to add the box-shadow class on scroll --> <script> function addBoxShadowOnScroll() { const navElement = document.querySelector('.nav-whole-area'); if (!navElement) return; // Exit if the element is not found window.addEventListener('scroll', () => { if (window.scrollY > 0) { navElement.classList.add('box-shadow'); } else { navElement.classList.remove('box-shadow'); } }); } addBoxShadowOnScroll(); </script> <!--Cookie notice functionality <script> import { uLocalStorage } from '../../shared/util/local-storage-wrapper'; const key = 'cookieNoticeDismissed'; if (!uLocalStorage.getItem(key)) { const div = document.createElement('div'); div.className = 'cookie-notice mdh-16'; div.innerHTML = ` <div> We use cookies to help us improve userflow.com </div> <a href="/policies/privacy">Learn more</a>`; document.body.appendChild(div); const button = document.getElementById('cookie-notice-accept')!; button.addEventListener('click', e => { e.preventDefault(); document.body.removeChild(div); uLocalStorage.setItem(key, '1'); }); } </script>--> <script> // Helpers to manipulate localStorage, which also work in tests running in // Node.js environment class StorageWrapper { constructor(type) { this.type = type; this.testState = {}; } formatKey(key) { return `userflow:${key}`; } isSupported() { if (process.env.NODE_ENV === 'test') { return true; } if (typeof window === 'undefined') { return false; } // Check if access is denied by the browser try { return window[this.type] != null; } catch { return false; } } getItem(key) { key = this.formatKey(key); if (process.env.NODE_ENV === 'test') { const v = this.testState[key]; return v == null ? null : v; } else { if (!this.isSupported()) { return null; } return window[this.type].getItem(key); } } setItem(key, value) { key = this.formatKey(key); if (process.env.NODE_ENV === 'test') { this.testState[key] = value; } else { if (!this.isSupported()) { return; } window[this.type].setItem(key, value); } } removeItem(key) { key = this.formatKey(key); if (process.env.NODE_ENV === 'test') { delete this.testState[key]; } else { if (!this.isSupported()) { return; } return window[this.type].removeItem(key); } } clear() { if (process.env.NODE_ENV === 'test') { this.testState = {}; } else { if (!this.isSupported()) { return; } return window[this.type].clear(); } } } const uLocalStorage = new StorageWrapper('localStorage'); const uSessionStorage = new StorageWrapper('sessionStorage'); </script> <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/9255119.js"></script> <!-- End of HubSpot Embed Code --> <script> function emptyToNull(val) { if (val === "" || val === undefined) { return null; } return val; } function buildEvent(input, annotations) { var attributes = input.attributes; var path = attributes.path; var event = { metadata: { schema_name: "marketing_routes", }, attributes: { host: emptyToNull(attributes.host), path: emptyToNull(attributes.path), hash_path: emptyToNull(attributes.hash_path), referrer: emptyToNull(attributes.referrer), search: emptyToNull(attributes.search), }, annotations: annotations, }; return event; } function send(geminiEvent) { var xhr = new XMLHttpRequest(); xhr.responseType = "json"; xhr.open("POST", "https://app.userflow.com/gemini-collector"); xhr.setRequestHeader("content-type", "application/json"); xhr.setRequestHeader("accept", "application/json"); xhr.withCredentials = true; return new Promise(function (res) { xhr.onload = function () { return res(xhr.response); }; xhr.send(JSON.stringify(geminiEvent)); }); } function trackPageView() { var attributes = { host: location.host, path: location.pathname, hash_path: location.hash, referrer: document.referrer, search: location.search, }; var event = buildEvent({ attributes: attributes, }); send(event).catch(function (Err) { console.log("Gemini error: ", Err); }); } trackPageView(); </script> <!-- FS Cookie Consent --> <!-- Finsweet Cookie Consent --> <script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-in"></script> <script> // Function to handle style changes for label wrap on focus function setupFeatureSearchStyleChanges() { // Select the input and label wrap elements const searchField = document.querySelector('.feature-search-field'); const labelTextWrap = document.getElementById('labelTextWrap'); // Check if both elements exist if (!searchField || !labelTextWrap) return; // Media query to check if screen width is below 480px const isMobileView = () => window.innerWidth < 480; // Function to apply styles on focus const applyFocusStyles = () => { if (isMobileView()) { labelTextWrap.style.borderColor = 'transparent'; } }; // Function to reset styles when focus is lost const resetStyles = () => { if (isMobileView()) { labelTextWrap.style.borderColor = ''; // Reset to original } }; // Add event listeners for focus and blur searchField.addEventListener('focus', applyFocusStyles); searchField.addEventListener('blur', resetStyles); // Handle responsive design changes window.addEventListener('resize', () => { if (!isMobileView()) { labelTextWrap.style.borderColor = ''; // Reset on larger screens } }); } // Run the setup when the DOM is fully loaded document.addEventListener('DOMContentLoaded', setupFeatureSearchStyleChanges); </script> <!-- Sub nav Code --> <script> // Selectors for product sections and Table of Contents (ToC) links const wrapper = document.querySelector('.product-whole-wrapper'); const customerSections = wrapper.querySelectorAll('.customer-section, .product-section'); const tocLinks = document.querySelectorAll('.product-toc-link'); const tocWrap = document.querySelector('.product-toc-links-wrap'); const leftArrow = document.querySelector('.sub-nav-arrow-wrap.left-arrow'); const rightArrow = document.querySelector('.sub-nav-arrow-wrap.right-arrow'); // Assign IDs to each customer section dynamically customerSections.forEach((section, index) => { const sectionId = `customer-section-${index + 1}`; section.setAttribute('id', sectionId); }); // Add smooth and immediate scrolling to ToC links if (tocLinks.length === customerSections.length) { tocLinks.forEach((link, index) => { link.addEventListener('click', () => { const targetId = `#customer-section-${index + 1}`; const targetSection = document.querySelector(targetId); if (targetSection) { targetSection.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); }); } // Observe sections for visibility and toggle active class on ToC links const observerOptions = { root: null, rootMargin: '0px', threshold: 0.5, }; const observerCallback = (entries) => { entries.forEach((entry) => { const sectionIndex = Array.from(customerSections).indexOf(entry.target); if (entry.isIntersecting) { tocLinks.forEach((link, i) => { link.classList.toggle('active', i === sectionIndex); }); // Trigger custom "classChange" event for jQuery handling $(link).trigger("classChange"); } }); }; const observer = new IntersectionObserver(observerCallback, observerOptions); customerSections.forEach((section) => observer.observe(section)); // Handle horizontal scrolling for ToC links const childElements = Array.from(tocWrap.children); const averageChildWidth = childElements.reduce((total, el) => total + el.offsetWidth, 0) / childElements.length; const scrollContainer = (direction) => { const scrollAmount = direction === 'left' ? -averageChildWidth : averageChildWidth; tocWrap.scrollBy({ left: scrollAmount, behavior: 'smooth' }); }; leftArrow.addEventListener('click', () => scrollContainer('left')); rightArrow.addEventListener('click', () => scrollContainer('right')); $(document).ready(function () { // Function to scroll the active element into view with smooth scrolling const scrollToActiveElement = () => { const container = $(".product-toc-links-wrap"); const activeElement = container.find(".active"); if (activeElement.length) { const containerScrollLeft = container.scrollLeft(); const containerWidth = container.width(); const elementOffsetLeft = activeElement.position().left + containerScrollLeft; const elementWidth = activeElement.outerWidth(); // Check if the active element is out of view on the left side if (elementOffsetLeft < containerScrollLeft) { container.animate({ scrollLeft: elementOffsetLeft }, 50); // Smooth scroll to the left } // Check if the active element is out of view on the right side else if (elementOffsetLeft + elementWidth > containerScrollLeft + containerWidth) { container.animate( { scrollLeft: elementOffsetLeft + elementWidth - containerWidth }, 50 // Smooth scroll to the right ); } } }; // Call the function initially to align any pre-existing active element scrollToActiveElement(); // Re-align when the active class changes dynamically $(".product-toc-link").on("classChange", () => scrollToActiveElement()); // Optional: Observe for mutations to automatically handle class changes const mutationObserver = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.type === "attributes" && mutation.attributeName === "class") { scrollToActiveElement(); } }); }); $(".product-toc-link").each(function () { mutationObserver.observe(this, { attributes: true }); }); }); </script></body></html>

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