CINXE.COM
Product-led Growth | Userflow
<!DOCTYPE html><!-- Last Published: Fri Nov 22 2024 02:37:55 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.userflow.com" data-wf-page="6672a15f3bf55254c6b6a162" data-wf-site="666bc9172254723eadc4af82" lang="en"><head><meta charset="utf-8"/><title>Product-led Growth | Userflow</title><meta content="Userflow enables you to build customized product-led user onboarding flows increasing trial conversion, adoption and retention rates. Product-led growth without code." name="description"/><meta content="Product-led Growth | Userflow" property="og:title"/><meta content="Userflow enables you to build customized product-led user onboarding flows increasing trial conversion, adoption and retention rates. Product-led growth without code." property="og:description"/><meta content="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/668e64023deb80beb0b106ad_userflow-opengragh.png" property="og:image"/><meta content="Product-led Growth | Userflow" property="twitter:title"/><meta content="Userflow enables you to build customized product-led user onboarding flows increasing trial conversion, adoption and retention rates. Product-led growth without code." 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.2a36cba55.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"] }});</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/product-led-growth" 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: #1a57e6; } @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 } .footer-section { background: radial-gradient(100% 100% at 50% 100%, rgba(134, 90, 221, .2) 0, rgba(134, 90, 221, 0) 100%), #060d37; } .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: #fff; } .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; } </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 --></head><body><section id="dark-section" class="hero-section"><div class="header-stickey"><div class="header-bar"><div class="w-layout-blockcontainer container w-container"><div class="header-area"><div class="header-text-wrap"><p class="header-text">🎉 Userflow joins forces with Beamer to create all-in-one growth toolkit</p></div><a href="/blog/userflow-joins-forces-with-beamer" class="header-link w-inline-block"><div>Read more</div><div class="header-link-icon-wrap"><div class="header-arrow 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></div></a></div></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&__hssc=17958374.3.1730088044328&__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#schedule" class="secondary-button small navigation w-button">Book 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><div class="hero-area"><div class="w-layout-blockcontainer container w-container"><div class="hero-wrap"><div class="hero-bg"></div><div class="hero-bg right-bg"></div><div class="hero-content-wrap"><h1 class="hero-title">Product-led <span class="hero-title-subtext">growth</span></h1><p class="hero-content">Build customized product-led user onboarding flows increasing trial conversion, adoption and retention rates.</p><p class="hero-content">Product-led growth without code.<br/></p><div class="hero-button-wrap"><a href="https://app.userflow.com/app/create-account" class="primary-button large w-button">Start building now</a><a href="/demo#view" class="secondary-button large w-button">View a Demo</a></div></div></div></div></div><div class="client-logo-area"><h2 class="logos-title">Trusted by <span class="logo-title-subtext">500+ </span>software providers</h2><div data-w-id="18d0b516-54e7-3741-53a9-7a7809c8452f" class="client-logo-marquee-area"><div class="client-logo-wrap"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666bff2dc2de63f177dc0f84_client-logo.svg" loading="lazy" alt="icon" class="client-logo-image"/></div><div class="client-logo-wrap"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666bff2dc2de63f177dc0f84_client-logo.svg" loading="lazy" alt="icon" class="client-logo-image"/></div></div></div></section><section class="customer-section"><div class="w-layout-blockcontainer container w-container"><div class="customer-area"><div class="customer-wrap"><div class="customer-image-wrap"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/667679e2afd3ff36bc2f52a9_product-image-5.png" loading="lazy" sizes="(max-width: 479px) 93vw, (max-width: 991px) 96vw, (max-width: 1279px) 57vw, 599.00390625px" srcset="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/667679e2afd3ff36bc2f52a9_product-image-5-p-500.png 500w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/667679e2afd3ff36bc2f52a9_product-image-5-p-800.png 800w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/667679e2afd3ff36bc2f52a9_product-image-5-p-1080.png 1080w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/667679e2afd3ff36bc2f52a9_product-image-5.png 1136w" alt="image" class="customer-image"/></div><div class="customer-content-wrap"><h2 class="section-title">Let your product lead the way to onboard and retain users</h2><p class="section-content">Userflow gives you the tools you need to onboard and retain users through a product-led model.<br/></p><p class="section-content">Build best-practice product-led user onboarding and guidance.<br/></p></div></div><div class="product-features-wrap"><div id="w-node-_042ad6e5-00ad-77b9-aec1-793cb76d23b0-c6b6a162" class="product-feature-item"><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">Onboarding checklists</h3><p class="product-content">At Userflow we consider ourselves born product-led and always think product-first in everything we do.<br/></p></div></div><div id="w-node-_042ad6e5-00ad-77b9-aec1-793cb76d23b9-c6b6a162" class="product-feature-item"><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">In-app product guides</h3><p class="product-content">Guide users to your key features to create more “Aha” moments and reduce the need for support.</p></div></div><div id="w-node-_042ad6e5-00ad-77b9-aec1-793cb76d23c1-c6b6a162" class="product-feature-item"><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"><h1 class="product-title">Feature highlights</h1><p class="product-content">Highlight and guide customers to your new or unused features to drive retention and expansion.</p></div></div></div></div></div></section><section class="customer-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">The fastest way to a product-led onboarding flow</h2><p class="section-content">Userflow’s intuitive flow builder makes is easy for your product management, UX or customer success team to build and iteratively optimize your onboarding flows without using developers.<br/></p></div><div class="customer-image-wrap"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66716b097a87612649cdfa74_in-app-survey-1.png" loading="lazy" sizes="(max-width: 479px) 93vw, (max-width: 991px) 96vw, (max-width: 1279px) 57vw, 599.00390625px" srcset="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66716b097a87612649cdfa74_in-app-survey-1-p-500.png 500w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66716b097a87612649cdfa74_in-app-survey-1-p-800.png 800w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66716b097a87612649cdfa74_in-app-survey-1-p-1080.png 1080w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66716b097a87612649cdfa74_in-app-survey-1-p-1600.png 1600w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66716b097a87612649cdfa74_in-app-survey-1-p-2000.png 2000w, https://cdn.prod.website-files.com/666bc9172254723eadc4af82/66716b097a87612649cdfa74_in-app-survey-1.png 2560w" alt="image" class="customer-image"/></div></div><div class="product-features-wrap"><div id="w-node-_042ad6e5-00ad-77b9-aec1-793cb76d23d6-c6b6a162" class="product-feature-item"><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">Visual, intuitive and no-code</h3><p class="product-content">Point and click. Drag and drop. No technical skills required.</p></div></div><div id="w-node-_042ad6e5-00ad-77b9-aec1-793cb76d23df-c6b6a162" class="product-feature-item"><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">Intelligent element selection</h3><p class="product-content">Our proprietary element selection algorithm can identify elements in your app based on simple text.</p></div></div><div id="w-node-_042ad6e5-00ad-77b9-aec1-793cb76d23e7-c6b6a162" class="product-feature-item"><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">Preview directly in your own app</h3><p class="product-content">Easily preview and live-edit your flows in draft mode before publishing to your users.</p></div></div></div></div></div></section><section class="customer-section"><div class="w-layout-blockcontainer container w-container"><div class="customer-area"><div class="customer-wrap"><div class="customer-image-wrap"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666c2f6596d47aba902c3cac_see-example-image.png" loading="lazy" sizes="(max-width: 479px) 93vw, (max-width: 991px) 96vw, (max-width: 1279px) 57vw, 599.00390625px" 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" class="customer-image"/></div><div class="customer-content-wrap"><h2 class="section-title">See an example</h2><p class="section-content">See what a full Userflow onboarding experience can look like from your users' perspective.</p><div class="video-cta-link-area"><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="fas" 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="M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z"></path></svg></div></a></div></div></div></div></div></section><section class="footer-review-section"><div class="w-layout-blockcontainer container w-container"><div class="footer-review-area"><h2 class="section-title">Build your product-led onboarding flows today</h2><p class="review-content">Try the most-loved user onboarding product on the market, <br/>and see what everyone’s talking about.</p><div class="footer-review-wrap"><img src="https://cdn.prod.website-files.com/666bc9172254723eadc4af82/666be02c05726cb323fd1c4e_rating-star.svg" loading="lazy" alt="icon"/></div><div href="https://www.g2.com/products/userflow/reviews" class="review-rating-text">4.8 rating on G2</div><div class="footer-review-button-wrap"><a href="https://app.userflow.com/app/create-account" class="primary-button large w-button">Start Building Now</a></div><p class="review-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 survey<br/></a><a href="/feature-announcements" class="footer-link">Feature annoucements<br/></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" class="footer-link">User onboarding</a><a href="/product-tours" class="footer-link">Product tours</a><a href="/product-led-growth" aria-current="page" class="footer-link w--current">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#schedule" class="secondary-button small navigation w-button">Book a Demo</a></div></div><div class="footer-list-whole-wrap"><h2 class="footer-list-title">© USERFLOW INC. 2024</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><div class="set-all-components-to-display-none-and-use-this-div-to-create-a-symbol"><div fs-cc="banner" class="fs-cc-banner_component"><div class="cookie-banner"><div>We use cookies to help us improve userflow.com</div><a href="/policies" class="policy-link">Learn more</a><div class="fs-cc-banner_buttons-wrapper"><a fs-cc="open-preferences" href="#" class="fs-cc-banner_text-link hide">Preferences</a><a fs-cc="deny" href="#" class="fs-cc-banner_button fs-cc-button-alt hide w-button">Deny</a><a fs-cc="allow" href="#" class="cookie-accept-link w-button">OK</a><div fs-cc="close" class="fs-cc-banner_close hide"><div class="fs-cc-banner_close-icon w-embed"><svg fill="currentColor" aria-hidden="true" focusable="false" viewBox="0 0 16 16"> <path d="M9.414 8l4.293-4.293-1.414-1.414L8 6.586 3.707 2.293 2.293 3.707 6.586 8l-4.293 4.293 1.414 1.414L8 9.414l4.293 4.293 1.414-1.414L9.414 8z"></path> </svg></div></div></div></div><div fs-cc="interaction" class="fs-cc-banner_trigger"></div></div><div fs-cc="manager" class="fs-cc-manager_component hide"><div fs-cc="open-preferences" class="fs-cc-manager_button"><div class="fs-cc-manager_icon w-embed"><svg viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0)"> <path d="M52.631 30.3899C52.229 30.4443 51.8161 30.4769 51.3924 30.4769C47.5135 30.4769 44.2322 27.9344 43.1022 24.4358C42.9066 23.8382 42.4177 23.371 41.7984 23.2624C35.3553 22.0346 30.4877 16.3847 30.4877 9.5831C30.4877 6.72555 31.3461 4.07445 32.8237 1.86881C33.1714 1.34728 32.8781 0.641046 32.2588 0.521529C30.5529 0.173843 28.8036 0 27 0C12.093 0 0 12.093 0 27C0 41.907 12.093 54 27 54C40.4402 54 51.5553 44.2213 53.6415 31.3678C53.7392 30.7811 53.2068 30.303 52.631 30.3899Z" fill="#4264D1"/> <path d="M14.8093 21.7738C16.7355 21.7738 18.297 20.2123 18.297 18.2861C18.297 16.3599 16.7355 14.7984 14.8093 14.7984C12.883 14.7984 11.3215 16.3599 11.3215 18.2861C11.3215 20.2123 12.883 21.7738 14.8093 21.7738Z" fill="#6CE2FF"/> <path d="M16.5477 38.3215C17.9879 38.3215 19.1554 37.154 19.1554 35.7138C19.1554 34.2737 17.9879 33.1062 16.5477 33.1062C15.1075 33.1062 13.9401 34.2737 13.9401 35.7138C13.9401 37.154 15.1075 38.3215 16.5477 38.3215Z" fill="#6CE2FF"/> <path d="M38.2129 7.06237L37.963 8.56177C37.7565 9.78953 38.4519 10.9956 39.6254 11.441L41.8419 12.2668C43.2978 12.8101 44.9167 11.9626 45.297 10.4523L46.0901 7.3014C46.5791 5.33481 44.7429 3.58551 42.8089 4.16137L40.06 4.98712C39.093 5.26961 38.3759 6.07364 38.2129 7.06237Z" fill="#6CE2FF"/> <path d="M47.0354 16.5477L45.9815 17.0692C45.1557 17.4821 44.7972 18.4708 45.1557 19.3183L46.0032 21.2958C46.5139 22.4909 48.1111 22.7191 48.9477 21.7195L50.3058 20.0897C50.9469 19.3183 50.8056 18.1774 50.0125 17.5799L48.8608 16.7106C48.3284 16.3195 47.6221 16.2543 47.0354 16.5477Z" fill="#6CE2FF"/> <path d="M52.2615 13.06C53.2216 13.06 53.9999 12.2816 53.9999 11.3215C53.9999 10.3614 53.2216 9.5831 52.2615 9.5831C51.3014 9.5831 50.5231 10.3614 50.5231 11.3215C50.5231 12.2816 51.3014 13.06 52.2615 13.06Z" fill="#6CE2FF"/> <path d="M30.2704 50.7296C15.3634 50.7296 3.27042 38.6366 3.27042 23.7296C3.27042 17.1018 5.66076 11.039 9.61569 6.34528C3.73763 11.2998 0 18.7099 0 27C0 41.907 12.093 54 27 54C35.2901 54 42.7002 50.2732 47.6439 44.3952C42.9501 48.3501 36.8873 50.7296 30.2704 50.7296Z" fill="#4264D1"/> <path d="M42.2222 10.2459C40.7662 9.70263 39.897 8.19236 40.1469 6.64951L40.4403 4.86761L40.0274 4.98713C39.0712 5.26963 38.365 6.07365 38.202 7.06238L37.9521 8.56178C37.7457 9.78955 38.4411 10.9956 39.6145 11.4411L41.831 12.2668C43.0044 12.7014 44.2648 12.2342 44.9167 11.2563L42.2222 10.2459Z" fill="#4264D1"/> <path d="M47.8612 20.1658L46.905 17.9276C46.7203 17.5038 46.7095 17.0584 46.8181 16.6455L45.9815 17.0692C45.1557 17.4821 44.7972 18.4708 45.1557 19.3183L46.0032 21.2958C46.5139 22.491 48.1111 22.7191 48.9477 21.7195L49.2845 21.3175C48.6869 21.198 48.1328 20.8069 47.8612 20.1658Z" fill="#4264D1"/> <path d="M16.6563 19.9268C14.7332 19.9268 13.1686 18.3622 13.1686 16.4391C13.1686 15.961 13.2664 15.4938 13.4402 15.0809C12.1907 15.6133 11.3107 16.8519 11.3107 18.2861C11.3107 20.2093 12.8753 21.7739 14.7984 21.7739C16.2435 21.7739 17.4821 20.8938 18.0036 19.6443C17.6016 19.829 17.1344 19.9268 16.6563 19.9268Z" fill="white"/> <path d="M17.9059 36.9634C16.4608 36.9634 15.2982 35.79 15.2982 34.3557C15.2982 33.9863 15.3743 33.6386 15.5155 33.3235C14.592 33.7256 13.9401 34.6491 13.9401 35.7248C13.9401 37.1698 15.1135 38.3324 16.5477 38.3324C17.6234 38.3324 18.5469 37.6805 18.9489 36.757C18.623 36.8873 18.2753 36.9634 17.9059 36.9634Z" fill="white"/> <path d="M33.0954 41.8093C35.0216 41.8093 36.5831 40.2477 36.5831 38.3215C36.5831 36.3953 35.0216 34.8338 33.0954 34.8338C31.1692 34.8338 29.6077 36.3953 29.6077 38.3215C29.6077 40.2477 31.1692 41.8093 33.0954 41.8093Z" fill="#6CE2FF"/> <path d="M34.9425 39.9513C33.0193 39.9513 31.4547 38.3867 31.4547 36.4636C31.4547 35.9855 31.5525 35.5183 31.7264 35.1054C30.4769 35.6378 29.5968 36.8765 29.5968 38.3107C29.5968 40.2338 31.1614 41.7984 33.0845 41.7984C34.5296 41.7984 35.7682 40.9183 36.2898 39.6688C35.8877 39.8535 35.4314 39.9513 34.9425 39.9513Z" fill="white"/> <path d="M27.8063 22.9281C27.9601 21.9804 27.3165 21.0874 26.3688 20.9336C25.421 20.7798 24.5281 21.4234 24.3743 22.3711C24.2205 23.3188 24.864 24.2118 25.8118 24.3656C26.7595 24.5194 27.6525 23.8758 27.8063 22.9281Z" fill="#6CE2FF"/> <path d="M42.6785 35.6487C42.798 35.6487 42.9284 35.6161 43.0371 35.5618C43.4391 35.3553 43.602 34.8664 43.4065 34.4644L42.5373 32.726C42.3308 32.3239 41.8419 32.161 41.4399 32.3565C41.0379 32.563 40.8749 33.0519 41.0705 33.4539L41.9397 35.1924C42.0918 35.4857 42.3743 35.6487 42.6785 35.6487Z" fill="white"/> <path d="M33.0954 30.4225C33.2149 30.4225 33.3453 30.39 33.4539 30.3356L35.1923 29.4664C35.5944 29.26 35.7573 28.771 35.5618 28.369C35.3553 27.967 34.8664 27.804 34.4644 27.9996L32.726 28.8688C32.3239 29.0753 32.161 29.5642 32.3565 29.9662C32.5087 30.2596 32.802 30.4225 33.0954 30.4225Z" fill="white"/> <path d="M8.85515 28.2386C8.9964 28.5211 9.28976 28.6841 9.58312 28.6841C9.70263 28.6841 9.83302 28.6515 9.94167 28.5972C10.3437 28.3908 10.5067 27.9018 10.3111 27.4998L9.44187 25.7614C9.23543 25.3594 8.7465 25.1964 8.34449 25.392C7.94247 25.5984 7.7795 26.0873 7.97507 26.4894L8.85515 28.2386Z" fill="white"/> <path d="M22.2845 41.9505L20.5461 42.8197C20.1441 43.0262 19.9811 43.5151 20.1767 43.9171C20.3179 44.1996 20.6113 44.3626 20.9046 44.3626C21.0242 44.3626 21.1545 44.33 21.2632 44.2757L23.0016 43.4064C23.4036 43.2 23.5666 42.7111 23.371 42.3091C23.1755 41.907 22.6865 41.7441 22.2845 41.9505Z" fill="white"/> <path d="M23.2189 9.00724L22.3497 8.13802C22.0346 7.82293 21.5131 7.82293 21.198 8.13802C20.8829 8.45311 20.8829 8.97464 21.198 9.28973L22.0672 10.1589C22.2302 10.3219 22.4366 10.398 22.6431 10.398C22.8495 10.398 23.0559 10.3219 23.2189 10.1589C23.5449 9.84385 23.5449 9.32233 23.2189 9.00724Z" fill="white"/> <path d="M19.4596 28.1626C19.1445 28.4777 19.1445 28.9992 19.4596 29.3143L20.3288 30.1835C20.4918 30.3465 20.6982 30.4226 20.9047 30.4226C21.1111 30.4226 21.3175 30.3465 21.4805 30.1835C21.7956 29.8684 21.7956 29.3469 21.4805 29.0318L20.6113 28.1626C20.2853 27.8475 19.7747 27.8475 19.4596 28.1626Z" fill="white"/> <path d="M29.6729 47.0354V47.9046C29.6729 48.3501 30.0423 48.7195 30.4877 48.7195C30.9332 48.7195 31.3026 48.3501 31.3026 47.9046V47.0354C31.3026 46.5899 30.9332 46.2205 30.4877 46.2205C30.0423 46.2205 29.6729 46.5791 29.6729 47.0354Z" fill="white"/> <path d="M25.8374 15.3851L26.7067 14.5159C27.0217 14.2008 27.0217 13.6793 26.7067 13.3642C26.3916 13.0491 25.87 13.0491 25.5549 13.3642L24.6857 14.2334C24.3706 14.5485 24.3706 15.07 24.6857 15.3851C24.8487 15.5481 25.0551 15.6241 25.2616 15.6241C25.468 15.6241 25.6745 15.5372 25.8374 15.3851Z" fill="white"/> </g> <defs> <clipPath id="clip0"> <rect width="54" height="54" fill="white"/> </clipPath> </defs> </svg></div></div><div fs-cc="interaction" class="fs-cc-manager_trigger"></div></div><div fs-cc-scroll="disable" fs-cc="preferences" class="fs-cc-prefs_component w-form"><form id="cookie-preferences" name="wf-form-Cookie-Preferences" data-name="Cookie Preferences" method="get" class="fs-cc-prefs_form" data-wf-page-id="6672a15f3bf55254c6b6a162" data-wf-element-id="25c9b353-1b2e-0231-fe50-01f1a7f34005"><div fs-cc="close" class="fs-cc-prefs_close"><div class="fs-cc-prefs_close-icon w-embed"><svg fill="currentColor" aria-hidden="true" focusable="false" viewBox="0 0 16 24"> <path d="M9.414 8l4.293-4.293-1.414-1.414L8 6.586 3.707 2.293 2.293 3.707 6.586 8l-4.293 4.293 1.414 1.414L8 9.414l4.293 4.293 1.414-1.414L9.414 8z"></path> </svg></div></div><div class="fs-cc-prefs_content"><div class="fs-cc-prefs_space-small"><div class="fs-cc-prefs_title">Privacy Preference Center</div></div><div class="fs-cc-prefs_space-small"><div class="fs-cc-prefs_text">When you visit websites, they may store or retrieve data in your browser. This storage is often necessary for the basic functionality of the website. The storage may be used for marketing, analytics, and personalization of the site, such as storing your preferences. Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website.</div></div><div class="fs-cc-prefs_space-medium"><a fs-cc="deny" href="#" class="cookie-pref-button reject w-button">Reject all cookies</a><a fs-cc="allow" href="#" class="cookie-pref-button w-button">Allow all cookies</a></div><div class="fs-cc-prefs_space-small"><div class="fs-cc-prefs_title">Manage Consent Preferences by Category</div></div><div class="fs-cc-prefs_option"><div class="fs-cc-prefs_toggle-wrapper"><div class="fs-cc-prefs_label">Essential</div><div class="fs-cc-prefs_text"><strong>Always Active</strong></div></div><div class="fs-cc-prefs_text">These items are required to enable basic website functionality.</div></div><div class="fs-cc-prefs_option"><div class="fs-cc-prefs_toggle-wrapper"><div class="fs-cc-prefs_label">Marketing</div><label class="w-checkbox fs-cc-prefs_checkbox-field"><input type="checkbox" name="marketing-2" id="marketing-2" data-name="Marketing 2" fs-cc-checkbox="marketing" class="w-checkbox-input fs-cc-prefs_checkbox"/><span for="marketing-2" class="fs-cc-prefs_checkbox-label w-form-label">Essential</span><div class="fs-cc-prefs_toggle"></div></label></div><div class="fs-cc-prefs_text">These items are used to deliver advertising that is more relevant to you and your interests. They may also be used to limit the number of times you see an advertisement and measure the effectiveness of advertising campaigns. Advertising networks usually place them with the website operator’s permission.</div></div><div class="fs-cc-prefs_option"><div class="fs-cc-prefs_toggle-wrapper"><div class="fs-cc-prefs_label">Personalization</div><label class="w-checkbox fs-cc-prefs_checkbox-field"><input type="checkbox" name="personalization-2" id="personalization-2" data-name="Personalization 2" fs-cc-checkbox="personalization" class="w-checkbox-input fs-cc-prefs_checkbox"/><span for="personalization-2" class="fs-cc-prefs_checkbox-label w-form-label">Essential</span><div class="fs-cc-prefs_toggle"></div></label></div><div class="fs-cc-prefs_text">These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features. For example, a website may provide you with local weather reports or traffic news by storing data about your current location.</div></div><div class="fs-cc-prefs_option"><div class="fs-cc-prefs_toggle-wrapper"><div class="fs-cc-prefs_label">Analytics</div><label class="w-checkbox fs-cc-prefs_checkbox-field"><input type="checkbox" name="analytics-2" id="analytics-2" data-name="Analytics 2" fs-cc-checkbox="analytics" class="w-checkbox-input fs-cc-prefs_checkbox"/><span for="analytics-2" class="fs-cc-prefs_checkbox-label w-form-label">Essential</span><div class="fs-cc-prefs_toggle"></div></label></div><div class="fs-cc-prefs_text">These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues. This storage type usually doesn’t collect information that identifies a visitor.</div></div><div class="fs-cc-prefs_buttons-wrapper"><a fs-cc="submit" href="#" class="cookie-pref-button w-button">Confirm my preferences and close</a></div><input type="submit" data-wait="Please wait..." class="fs-cc-prefs_submit-hide w-button" value="Submit"/><div class="w-embed"><style> /* smooth scrolling on iOS devices */ .fs-cc-prefs_content{-webkit-overflow-scrolling: touch} </style></div></div></form><div class="w-form-done"></div><div class="w-form-fail"></div><div fs-cc="close" class="fs-cc-prefs_overlay"></div><div fs-cc="interaction" class="fs-cc-prefs_trigger"></div></div><div class="hide"></div></div></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.c86f7c51e.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"); 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></body></html>