CINXE.COM
The Product-Led Story
<!DOCTYPE html><!-- Last Published: Fri Nov 22 2024 17:57:47 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="countly.com" data-wf-page="6335696dd7ddbc2e646a3f6c" data-wf-site="61c1b7c3e2f3805325be4594" lang="en"><head><meta charset="utf-8"/><title>The Product-Led Story</title><meta content="Welcome to our story of building product-led software. We have built Countly Flex as the most affordable, private SaaS analytics that grows with you." name="description"/><meta content="The Product-Led Story" property="og:title"/><meta content="Welcome to our story of building product-led software. We have built Countly Flex as the most affordable, private SaaS analytics that grows with you." property="og:description"/><meta content="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/668ce80fb93226b6ad88d718_Meta%20Tag-Countly.com.png" property="og:image"/><meta content="The Product-Led Story" property="twitter:title"/><meta content="Welcome to our story of building product-led software. We have built Countly Flex as the most affordable, private SaaS analytics that grows with you." property="twitter:description"/><meta content="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/668ce80fb93226b6ad88d718_Meta%20Tag-Countly.com.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/61c1b7c3e2f3805325be4594/css/countly-revamp.webflow.eec6ca9d1.min.css" rel="stylesheet" type="text/css"/><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/61c1b7c3e2f3805325be4594/66c463f98ba261d454be2d2b_favcon.svg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/66c4642cdfcb2cef7128aec9_webclip.svg" rel="apple-touch-icon"/><link href="https://countly.com/product-led-story" rel="canonical"/><script type='text/javascript'> //some default pre init var Countly = Countly || {}; Countly.q = Countly.q || []; //provide countly initialization parameters if (window.location.hostname === "countly-revamp.webflow.io") { Countly.app_key = 'a00c023174edad117c415bdd0f3c627df02e7f48'; } else { Countly.app_key = '8ab5b99a3d881725717ae66c59313d581dfc7690'; } Countly.url = 'https://stats.count.ly'; Countly.force_post = true; Countly.q.push(['track_sessions']); Countly.q.push(['track_pageview']); Countly.q.push(['track_clicks']); Countly.q.push(['track_scrolls']); Countly.q.push(['track_errors']); Countly.q.push(['track_links']); Countly.q.push(['track_forms']); Countly.q.push(['collect_from_forms']); //load countly script asynchronously (function() { var cly = document.createElement('script'); cly.type = 'text/javascript'; cly.async = true; //enter url of script here cly.src = 'https://cdn.jsdelivr.net/npm/countly-sdk-web@23.12.6/lib/countly.min.js'; cly.onload = function(){Countly.init()}; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(cly, s); })(); </script> <script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js"></script></head><body><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" data-doc-height="1" role="banner" class="navbar-landing-page w-nav"><div class="w-layout-blockcontainer container-default w-container"><div class="block-nav-landing-page"><a href="/" class="brand-nav w-nav-brand"><img src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/61d44087e4df5f30c8ac6074_Logo-2021.svg" loading="lazy" width="118" alt="Countly logo" class="logo-nav"/></a><div class="block-nav-link-landing-page"><a href="/" target="_blank" class="link-black-font hidden-phone">Go to countly.com</a></div></div></div></div><div class="container-hero-home w-container"><div class="block-heading-hero-home-copy"><h1 class="font-72px-spacegrotesk-semibold center">The Product-Led Story ✨</h1></div><div class="block-text-hero-w700px"><p class="text-hero-20px">Unfiltered behind-the-scenes. Lessons learned. The moments that make us suffer, and the ones that make it all worthwhile. Welcome to <strong class="medium-font">our story of building a product-led SaaS.</strong></p></div></div><div><div class="container-default w-container"><div class="hero-blog"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="collection-item-3 w-dyn-item"><div class="grid-hero-led-story"><img src="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6570e00245c37e0986f27e5b_pl-story-3.png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6570e00245c37e0986f27e5b_pl-story-3-p-500.png 500w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6570e00245c37e0986f27e5b_pl-story-3-p-800.png 800w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6570e00245c37e0986f27e5b_pl-story-3-p-1080.png 1080w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6570e00245c37e0986f27e5b_pl-story-3-p-1600.png 1600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6570e00245c37e0986f27e5b_pl-story-3-p-2000.png 2000w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6570e00245c37e0986f27e5b_pl-story-3.png 2193w" class="image-hero-blog"/><a href="/product-led-story/open-source-saas-and-enterprise-can-we-pull-it-off" class="link-main-blog-post w-inline-block"><div class="block-date-tag"><div>December 7, 2023</div></div><h2>Open-Source, SaaS, and Enterprise, Can We Pull It Off?</h2><div class="font-16px">How and why we are integrating SaaS into our decade-long open-source and enterprise journey...</div><div class="block-link-green"><div>Read more</div><div><span class="text-span-arrow">→</span></div></div></a><link rel="prefetch" href="/product-led-story/open-source-saas-and-enterprise-can-we-pull-it-off"/></div></div><div role="listitem" class="collection-item-3 w-dyn-item"><div class="grid-hero-led-story"><img src="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of.png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of-p-500.png 500w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of-p-800.png 800w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of-p-1080.png 1080w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of-p-1600.png 1600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of-p-2000.png 2000w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of-p-2600.png 2600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of-p-3200.png 3200w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/64b5ad424d1bff1057a60a95_price-of.png 4386w" class="image-hero-blog"/><a href="/product-led-story/the-price-of-understanding-user-behaviour" class="link-main-blog-post w-inline-block"><div class="block-date-tag"><div>July 18, 2023</div></div><h2>The Price of Understanding User Behaviour</h2><div class="font-16px">Our journey of balancing user needs with operational realities and our thought process around fundamental pricing decisions…</div><div class="block-link-green"><div>Read more</div><div><span class="text-span-arrow">→</span></div></div></a><link rel="prefetch" href="/product-led-story/the-price-of-understanding-user-behaviour"/></div></div><div role="listitem" class="collection-item-3 w-dyn-item"><div class="grid-hero-led-story"><img src="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205.png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205-p-500.png 500w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205-p-800.png 800w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205-p-1080.png 1080w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205-p-1600.png 1600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205-p-2000.png 2000w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205-p-2600.png 2600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205-p-3200.png 3200w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6499465a1de37e6799f874ea_camp%205.png 4386w" class="image-hero-blog"/><a href="/product-led-story/the-birth-of-product-led-product-analytics" class="link-main-blog-post w-inline-block"><div class="block-date-tag"><div>June 26, 2023</div></div><h2>The Birth of Product-Led Product Analytics</h2><div class="font-16px">Kicking myCountly off, the tech stack decisions, wireframes, automation, timelines, positioning, and pricing are all on the table...</div><div class="block-link-green"><div>Read more</div><div><span class="text-span-arrow">→</span></div></div></a><link rel="prefetch" href="/product-led-story/the-birth-of-product-led-product-analytics"/></div></div><div role="listitem" class="collection-item-3 w-dyn-item"><div class="grid-hero-led-story"><img src="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road.png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road-p-500.png 500w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road-p-800.png 800w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road-p-1080.png 1080w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road-p-1600.png 1600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road-p-2000.png 2000w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road-p-2600.png 2600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road-p-3200.png 3200w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/6481b40fa664682e7e97e476_road.png 4386w" class="image-hero-blog"/><a href="/product-led-story/the-road-to-the-kick-off" class="link-main-blog-post w-inline-block"><div class="block-date-tag"><div>June 13, 2023</div></div><h2>The Road to the Kick-off</h2><div class="font-16px">From a documented idea to a refined concept, navigating challenges and embracing constraints in the road to the myCountly kick-off...</div><div class="block-link-green"><div>Read more</div><div><span class="text-span-arrow">→</span></div></div></a><link rel="prefetch" href="/product-led-story/the-road-to-the-kick-off"/></div></div><div role="listitem" class="collection-item-3 w-dyn-item"><div class="grid-hero-led-story"><img src="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/647f4938cf8b9930953b69d5_image-pl1.png" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/647f4938cf8b9930953b69d5_image-pl1-p-500.png 500w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/647f4938cf8b9930953b69d5_image-pl1-p-800.png 800w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/647f4938cf8b9930953b69d5_image-pl1-p-1080.png 1080w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/647f4938cf8b9930953b69d5_image-pl1-p-1600.png 1600w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/647f4938cf8b9930953b69d5_image-pl1-p-2000.png 2000w, https://cdn.prod.website-files.com/62039dc69cd2dbf94de461fd/647f4938cf8b9930953b69d5_image-pl1.png 2193w" class="image-hero-blog"/><a href="/product-led-story/the-journey-begins" class="link-main-blog-post w-inline-block"><div class="block-date-tag"><div>June 6, 2023</div></div><h2>The Journey Begins</h2><div class="font-16px">After nearly a decade in the analytics business, we're embarking on an exciting and somewhat daring journey, building our third product...</div><div class="block-link-green"><div>Read more</div><div><span class="text-span-arrow">→</span></div></div></a><link rel="prefetch" href="/product-led-story/the-journey-begins"/></div></div></div></div></div></div></div><div class="hero-center-section"><div class="container-hero w-container"></div></div><div class="card-two-column-section"><div class="container-default-5rem-up w-container"><div class="newsletter-ledstory"><div><h2 class="text-42px-spacegrotesk">Subscribe to 🗞️ the Product-led Story</h2><div>Join us as we continue to explore Countly's product-led story, revealing the challenges, triumphs, and lessons we've encountered along the way.</div></div><div id="wf-form-Product-Led-Story-Form" class="form-block w-node-e4915e75-a4be-c5bc-027c-6955b9ccebc0-646a3f6c w-form"><form method="get" name="wf-form-Product-Led-Story-Form" data-name="Product-Led Story Form" class="from-name-mail" data-wf-page-id="6335696dd7ddbc2e646a3f6c" data-wf-element-id="e4915e75-a4be-c5bc-027c-6955b9ccebc1"><div class="block-hor-form"><div class="block-form-long"><label for="Name-3" class="field-label-form">First Name</label><input class="text-field-form w-input" maxlength="256" name="Name" data-name="Name" placeholder="Enter your first name" type="text" id="Name-3" required=""/></div><div class="block-form-long"><label for="Email-3" class="field-label-form">Email Address</label><input class="text-field-form w-input" maxlength="256" name="Email" data-name="Email" placeholder="Enter your email address" type="email" id="Email-3" required=""/></div></div><label class="w-checkbox checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom checkbox"></div><input id="Checkbox-For-Policy" type="checkbox" name="Checkbox-For-Policy" data-name="Checkbox For Policy" required="" style="opacity:0;position:absolute;z-index:-1"/><span id="checkbox-policy" class="checkbox-label w-form-label" for="Checkbox-For-Policy">I have read and agree to the <a href="/legal/terms-of-service" class="text-link-white">Terms of Service</a> and <a href="#" class="text-link-white">Privacy Policy</a>, and would like to receive email newsletters from Countly<a href="/legal/terms-of-service"></a></span></label><input type="submit" data-wait="Please wait..." class="button-green-m1-5rem w-button" value="Subscribe to The Product-Led Story ->"/></form><div class="success-message-newsletter w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></div><div class="cookies-container w-container"><div fs-cc="banner" class="ck-cookie-w"><div class="cookie-wrapper"><div>🍪 We use cookies to ensure you get the best experience on our website.</div><div id="w-node-c8b61be3-51ec-7ed5-8afe-00ba26c26a19-3b6f40e9" class="div-buttons-cokkies"><a fs-cc="allow" href="#" class="cookies-button w-button">Accept</a><a id="w-node-_761affc5-41ed-9879-74a9-4f463b6f40ee-3b6f40e9" href="/legal/cookie-policy">Learn more</a></div><a fs-cc="close" id="w-node-_761affc5-41ed-9879-74a9-4f463b6f40f0-3b6f40e9" data-w-id="761affc5-41ed-9879-74a9-4f463b6f40f0" href="#" class="cookie-modal_closebutton w-inline-block"><div class="cookie-modal_closebutton_line is-left"></div><div class="cookie-modal_closebutton_line is-right"></div></a></div></div></div><footer id="footer" class="section-footer"><div class="container-footer w-container"><a href="#" class="footer-logo-link"><img src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/61d44087e4df5f30c8ac6074_Logo-2021.svg" width="118" alt="Countly logo" class="footer-image"/></a><div class="block-footer"><div class="w-layout-grid grid-footer"><div class="footer-list"><div class="font-footer-heading">Product</div><ul role="list" class="w-list-unstyled"><li class="item-footer"><a href="/product-analytics" class="font-footer-link">Product Analytics</a></li><li class="item-footer"><a href="/mobile-analytics" class="font-footer-link">Mobile Analytics</a></li><li class="item-footer"><a href="/web-analytics" class="font-footer-link">Web Analytics</a></li><li class="item-footer"><a href="/desktop-analytics" class="font-footer-link">Desktop Analytics</a></li><li class="item-footer"><a href="/privacy-by-design" class="font-footer-link">Privacy by Design</a></li><li class="item-footer"><a href="/teams" class="font-footer-link">Countly for Teams</a></li><li class="item-footer"><a href="/industries" class="font-footer-link">Countly for Industries</a></li><li class="item-footer"><a href="/alternatives" class="font-footer-link">Compare Countly</a></li><li class="item-footer"><a href="/why-countly" class="font-footer-link">Why Countly</a></li><li class="item-footer"><a href="/enterprise" class="font-footer-link">Countly Enterprise</a></li><li class="item-footer"><a href="/flex" class="font-footer-link">Countly Flex</a></li><li class="item-footer"><a href="/lite" class="font-footer-link">Countly Lite</a></li></ul></div><div class="footer-list"><div class="font-footer-heading">Company</div><ul role="list" class="w-list-unstyled"><li class="item-footer"><a href="/about" class="font-footer-link">About</a></li><li class="item-footer"><a href="/customers" class="font-footer-link">Customers</a></li><li class="item-footer"><a href="https://www.linkedin.com/company/countly/jobs/" target="_blank" class="font-footer-link">Jobs</a></li><li class="item-footer"><a href="/academic-program" class="font-footer-link">Academic Program</a></li><li class="item-footer"><a href="/security" class="font-footer-link">Security at Countly</a></li><li class="item-footer"><a href="/brand-guidelines" class="font-footer-link">Press</a></li></ul></div><div class="footer-list"><div class="font-footer-heading">Resources</div><ul role="list" class="w-list-unstyled"><li class="item-footer"><a href="/blog" target="_blank" class="font-footer-link">Blog</a></li><li class="item-footer"><a href="https://resources.count.ly/" target="_blank" class="font-footer-link">Documentation</a></li><li class="item-footer"><a href="https://support.count.ly/hc/en-us/articles/360037236571-Downloading-Installing-SDKs" target="_blank" class="font-footer-link">SDK Integrations</a></li><li class="item-footer"><a href="https://discord.gg/countly" target="_blank" class="font-footer-link">Community Area</a></li><li class="item-footer"><a href="https://github.com/Countly" target="_blank" class="font-footer-link">Open Source</a></li><li class="item-footer"><a href="/product-led-story" aria-current="page" class="font-footer-link w--current">The Product-Led Story</a></li></ul></div><div class="footer-list"><div class="font-footer-heading">Features</div><ul role="list" class="w-list-unstyled"><li class="item-footer"><a href="https://countly.com/feature/user-profiles" class="font-footer-link">User Profiles</a></li><li class="item-footer"><a href="https://countly.com/feature/crashes-errors" class="font-footer-link">Crashes and Errors</a></li><li class="item-footer"><a href="https://countly.com/feature/push-notifications" class="font-footer-link">Push Notifications</a></li><li class="item-footer"><a href="https://countly.com/feature/dashboards" class="font-footer-link">Dashboards</a></li><li class="item-footer"><a href="https://countly.com/feature/cohorts" class="font-footer-link">Cohorts</a></li><li class="item-footer"><a href="https://countly.com/feature/funnels" class="font-footer-link">Funnels</a></li><li class="item-footer"><a href="https://countly.com/feature/heatmaps" class="font-footer-link">Heatmaps</a></li><li class="item-footer"><a href="https://countly.com/feature/retention" class="font-footer-link">Retention</a></li><li class="item-footer"><a href="https://countly.com/feature/surveys" class="font-footer-link">Surveys</a></li></ul></div><div id="w-node-_13f2a1aa-f04f-11c0-0d5d-05a26e8cb94f-6e8cb8e7" class="footer-signup"><div class="font-24px-medium">Stay updated on the latest product analytics trends and Countly news.</div><div class="footer-form w-form"><form id="wf-form-Newsletter-2" name="wf-form-Newsletter-2" data-name="Newsletter" method="get" class="footer-form-container" data-wf-page-id="6335696dd7ddbc2e646a3f6c" data-wf-element-id="1349a856-ae55-31dc-5c68-d4a39786a796"><div class="font-18px medium">Sign up for our Newsletter.</div><div class="footer-form-block"><input class="footer-form-field w-input" maxlength="256" name="Email" data-name="Email" aria-label="Get product updates" placeholder="Your e-mail address" type="email" id="Email" required=""/><input type="submit" data-wait="Please wait..." class="footer-form-submit w-button" value=""/></div></form><div class="success-message-mycountly w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></div><div class="block-footer"><div class="block-logos-footer"><a href="https://www.youtube.com/gocountly" target="_blank" class="w-inline-block"><img src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/61d4415dd1269fc9bc49eb6a_Shape.svg" loading="lazy" width="25" height="25" alt="Youtube circle logo" class="social-medial-icon"/></a><a href="https://twitter.com/gocountly" target="_blank" class="w-inline-block"><img src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/636e32c218e574de2646954f_Subtract.svg" loading="lazy" width="25" height="25" alt="Black Twitter rounded logo" class="social-medial-icon"/></a><a href="https://www.linkedin.com/company/countly" target="_blank" class="w-inline-block"><img src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/61d441db6c73db833f90a18d_Shape-1.svg" loading="lazy" width="25" height="25" alt="LinkedIn circle logo" class="social-medial-icon"/></a><a href="https://discord.gg/countly" target="_blank" class="w-inline-block"><img src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/642ead48a4274c3c070c9514_discordb.svg" loading="lazy" width="25" height="25" alt="Discord Community Logo" class="social-medial-icon"/></a></div><div id="w-node-_13f2a1aa-f04f-11c0-0d5d-05a26e8cb96a-6e8cb8e7">© 2024 Countly Ltd. All rights reserved.</div><div id="w-node-_13f2a1aa-f04f-11c0-0d5d-05a26e8cb96c-6e8cb8e7" class="block-legal-links-footer"><a href="/legal/privacy-policy" class="font-footer-link">Privacy Policy</a><a href="/legal/terms-of-service" class="font-footer-link">Terms of Service</a><a href="/legal/cookie-policy" class="font-footer-link">Cookie Policy</a><a href="/sitemap" class="font-footer-link">Sitemap</a></div></div></div></footer><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=61c1b7c3e2f3805325be4594" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594/js/webflow.295f45a46.js" type="text/javascript"></script><script> // List of page paths where the script should NOT run var excludedPages = ['/getflex']; // Current page path var path = window.location.pathname; // Check if the current page is not in the excluded list if (!excludedPages.includes(path)) { window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 4708587, playbookUuid: '85402a77-0501-43d3-ab33-2ccac008d76e', version: 2 }; (function() { var w = window; if (w.LeadBooster) { console.warn('LeadBooster already exists'); } else { w.LeadBooster = { q: [], on: function(n, h) { this.q.push({ t: 'o', n: n, h: h }); }, trigger: function(n) { this.q.push({ t: 't', n: n }); }, }; } })(); var s = document.createElement('script'); s.src = "https://leadbooster-chat.pipedrive.com/assets/loader.js"; s.async = true; document.head.appendChild(s); } </script> <script> function getUrlParameter(name) { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(location.search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } // Handle specific "ref" cases and map them to utm_source function mapRefToUtmSource(ref) { if (ref === "newsletter") { return "product-hunt-newsletter"; } else if (ref === "producthunt") { return "product-hunt"; } return null; } // Redirect logic (function() { var ref = getUrlParameter("ref"); var utmSource = mapRefToUtmSource(ref); if (utmSource) { // Build a new URL with the updated utm_source var currentUrl = new URL(window.location.href); currentUrl.searchParams.set("utm_source", utmSource); // Add or update utm_source currentUrl.searchParams.delete("ref"); // Remove ref parameter // Redirect to the new URL window.location.href = currentUrl.toString(); } })(); // Store UTM parameters in local storage var utmParams = { utm_source: getUrlParameter("utm_source"), utm_medium: getUrlParameter("utm_medium"), utm_campaign: getUrlParameter("utm_campaign"), utm_content: getUrlParameter("utm_content"), utm_term: getUrlParameter("utm_term") }; if (utmParams.utm_source || utmParams.utm_medium || utmParams.utm_campaign || utmParams.utm_content || utmParams.utm_term) { // Serialize and store utmParams in local storage localStorage.setItem('utmParams', JSON.stringify(utmParams)); } $(document).ready(function() { // setTimeout 1s added to give Countly time to initialize setTimeout(function(){ var clyID = Countly.get_device_id(); // Deserialize utmParams from local storage var storedUtmParams = localStorage.getItem('utmParams'); var utmParams = storedUtmParams ? JSON.parse(storedUtmParams) : null; $("a[href*='flex.countly.com']").each(function() { var currentHref = $(this).attr('href'); var hasQueryParams = currentHref.indexOf('?') !== -1; var hasUtmParams = false; var queryParams = []; if (utmParams) { for (var utmKey in utmParams) { if (utmParams.hasOwnProperty(utmKey) && utmParams[utmKey]) { // Check if URL already has this UTM parameter if (currentHref.indexOf(utmKey + "=") !== -1) { hasUtmParams = true; break; } queryParams.push(utmKey + "=" + encodeURIComponent(utmParams[utmKey])); } } } // Add UTM parameters if they are not already in the URL if (!hasUtmParams) { queryParams = queryParams.length > 0 ? (hasQueryParams ? '&' : '?') + queryParams.join("&") : ''; } else { queryParams = ''; } // Always append cly_id parameter var clyParam = "cly_id=" + encodeURIComponent(clyID); var clyQueryString = hasQueryParams || queryParams.length > 0 ? '&' + clyParam : '?' + clyParam; $(this).attr('href', currentHref + queryParams + clyQueryString); }); }, 1000); }); </script> <script> $(document).ready(function() { var PATHNAME = window.location.pathname; // Track footer link clicks $("#footer").on("click", "a", function() { Countly.q.push(['add_event',{ key:"clickFooterLink", segmentation: { "link": $(this).attr("href") } }]); }); // Track header link clicks $(".nav-menu").on("click", "a", function() { Countly.q.push(['add_event',{ key:"clickHeaderLink", segmentation: { "link": $(this).attr("href") } }]); }); $("a[href='/demo']").on("click", function() { Countly.q.push(['add_event',{ key: "clickCTA", segmentation: { "type": "demo", "inPage": PATHNAME, "ctaName": $(this).text() } }]); }); $("a[href='/contact']").on("click", function() { Countly.q.push(['add_event',{ key: "clickCTA", segmentation: { "type": "contact", "inPage": PATHNAME, "ctaName": $(this).text() } }]); }); $(".footer-form-submit").on("click", function() { var emailAddress = $(".footer-form-block").find("input[name='Email']").val(); if (emailAddress) { Countly.q.push(['add_event',{ key: "subscribeToNL", segmentation: { "from": "footer", "inPage": PATHNAME, "email": emailAddress } }]); Countly.q.push(['user_details',{ "email": emailAddress }]); } }); var pagesToEvents = [ { pathname: "/feature/", event: "viewFeature", segment: "feature", segmentSource: ".block-main-features h1" }, { pathname: "/blog/", event: "viewBlog", segment: "post" }, ]; for (var i = 0; i < pagesToEvents.length; i++) { var pageToEventObj = pagesToEvents[i]; if (PATHNAME.substring(0, pageToEventObj.pathname.length) === pageToEventObj.pathname) { var eventObj = { key: pageToEventObj.event } if (pageToEventObj.segment) { eventObj.segmentation = {}; eventObj.segmentation[pageToEventObj.segment] = (pageToEventObj.segmentSource)? $(pageToEventObj.segmentSource).text() : $("head").find("title").text(); } Countly.q.push(['add_event', eventObj]); } } $("#wf-form-Contact").submit(function(e) { enrichFromInquiry({ name: $("#name").val(), email: $("#email-address").val(), company: $("#company").val(), title: $("#title").val(), companySize: $("#company-size").val(), companyLocation: $("#country").val(), heardFrom: $("#source").val(), message: $("#message").val(), subscribeToNL: $("#Checkbox-for-newsletter").prop('checked'), form: "Contact" }); }); $("#wf-form-Demo").submit(function(e) { enrichFromInquiry({ name: $("#name").val(), email: $("#email-address").val(), company: $("#company").val(), title: $("#title").val(), companySize: $("#company-size").val(), companyLocation: $("#country").val(), heardFrom: $("#source").val(), message: $("#message").val(), subscribeToNL: $("#Checkbox-for-newsletter").prop('checked'), form: "Demo" }); }); function enrichFromInquiry(formFields) { Countly.q.push(['add_event',{ key: "inquiry", segmentation: formFields }]); Countly.q.push(['user_details',{ "name": formFields.name, "email": formFields.email, "organization": formFields.company, "designation": formFields.title, "custom":{ "companySize": formFields.companySize, "companyLocation": formFields.companyLocation, "subscribeToNL": formFields.subscribeToNL } }]); Countly.q.push(['userData.save']); } }); </script> <script src="https://hubspotonwebflow.com/assets/js/form-124.js" type="text/javascript" integrity="sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/61c1b7c3e2f3805325be4594%2F65da374ca1ebd53e3cabb68c%2F66d9cdfe703b085b5dac502d%2Fevents_calendar_embed_script-0.0.1.js" type="text/javascript"></script></body></html>