PageSourceSearch

https://openpanel.dev/articles/self-hosted-product-analytics

html openpanel.dev collected 2026-10-02 04:21:43 UTC 338,662 bytes, 255 lines download raw bytes

1<!DOCTYPE html><!--OyZ7jCM5Tosf8o879UNIi--><html class="__className_629dad __variable_c29908" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/b7128b074288979a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/620188488ec88cd7.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-3903665e50a2a6d1.js"/>
1<script src="/_next/static/chunks/8389ce14-71e57149c559740a.js" async=""></script>
1<script src="/_next/static/chunks/6562-c8975a93832c8cfa.js" async=""></script>
1<script src="/_next/static/chunks/main-app-abde14ecc49187ce.js" async=""></script>
1<script src="/_next/static/chunks/f2e89c46-711e98a68326abdf.js" async=""></script>
1<script src="/_next/static/chunks/7120-fcddfc01e8dd1108.js" async=""></script>
1<script src="/_next/static/chunks/706-b73195aeff466d92.js" async=""></script>
1<script src="/_next/static/chunks/7717-2d09b3f3b9d55cd9.js" async=""></script>
1<script src="/_next/static/chunks/3758-7c3576fa69b4126b.js" async=""></script>
1<script src="/_next/static/chunks/1378-1837ba666f6c4091.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-2f28e69176d9612e.js" async=""></script>
1<script src="/_next/static/chunks/8957-be0c34e691cfa71d.js" async=""></script>
1<script src="/_next/static/chunks/8191-20f1f9effb30dbd2.js" async=""></script>
1<script src="/_next/static/chunks/630-5484c4fd07751ea2.js" async=""></script>
1<script src="/_next/static/chunks/9867-cf0a18a4543cc0b8.js" async=""></script>
1<script src="/_next/static/chunks/7032-993a7ffd2e8e3326.js" async=""></script>
1<script src="/_next/static/chunks/268-bce654556d353a45.js" async=""></script>
1<script src="/_next/static/chunks/334-67137bcfb86eaa2f.js" async=""></script>
1<script src="/_next/static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js" async=""></script>
1<script src="/_next/static/chunks/77-ab093fb5ba693156.js" async=""></script>
1<script src="/_next/static/chunks/app/(home)/layout-5a1e48df8deaee58.js" async=""></script>
1<link rel="preload" href="https://openpanel.dev/op1.js?v=1.2.0" as="script"/><meta name="next-size-adjust" content=""/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#fafafa"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#171717"/><title>Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics</title><meta name="description" content="Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership."/><link rel="manifest" href="/site.webmanifest"/><link rel="canonical" href="https://openpanel.dev/articles/self-hosted-product-analytics"/><meta property="og:title" content="Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics"/><meta property="og:description" content="Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership."/><meta property="og:url" content="https://openpanel.dev/articles/self-hosted-product-analytics"/><meta property="og:site_name" content="OpenPanel Analytics"/><meta property="og:image" content="http://localhost:3000/og/articles/self-hosted-product-analytics"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics"/><meta name="twitter:description" content="Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership."/><meta name="twitter:image" content="http://localhost:3000/og/articles/self-hosted-product-analytics"/><link rel="icon" href="/favicon.ico"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="flex min-h-screen flex-col bg-background"><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1<!--$--><div class="bg-fd-secondary/50 p-3 empty:hidden"></div><!--/$--><nav class="fixed top-0 z-50 w-full border-b py-4 transition-colors duration-500 border-border/0 bg-background/0"><div class="container"><div class="flex items-center justify-between"><div class="shrink-0"><a class="row items-center font-medium" href="/"><svg viewBox="0 0 61 35" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="text-black dark:text-white w-16 h-6"><rect x="34.0269" y="0.368164" width="10.3474" height="34.2258" rx="5.17372"></rect><rect x="49.9458" y="0.368164" width="10.3474" height="17.5109" rx="5.17372"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M14.212 0C6.36293 0 0 6.36293 0 14.212V20.02C0 27.8691 6.36293 34.232 14.212 34.232C22.0611 34.232 28.424 27.8691 28.424 20.02V14.212C28.424 6.36293 22.0611 0 14.212 0ZM14.2379 8.35999C11.3805 8.35999 9.06419 10.6763 9.06419 13.5337V20.6971C9.06419 23.5545 11.3805 25.8708 14.2379 25.8708C17.0953 25.8708 19.4116 23.5545 19.4116 20.6971V13.5337C19.4116 10.6763 17.0953 8.35999 14.2379 8.35999Z"></path></svg><span class="hidden [@media(min-width:850px)]:block">OpenPanel</span></a></div><div class="row items-center gap-8"><div class="hidden items-center space-x-8 text-sm md:flex"><a class="font-medium text-foreground/80 hover:text-foreground" href="/">Home</a><a class="font-medium text-foreground/80 hover:text-foreground" href="/pricing">Pricing</a><a class="font-medium text-foreground/80 hover:text-foreground" href="/docs">Docs</a><a class="font-medium text-foreground/80 hover:text-foreground" href="/articles">Articles</a></div><div class="flex items-center gap-2"><a class="hover:-translate-y-px inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-8 px-4 hidden md:flex" href="https://git.new/openpanel"><svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg>4.8k<!-- --> stars</a><a class="hover:-translate-y-px inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-foreground text-primary-foreground hover:bg-primary/90 h-8 px-4 hidden md:flex" href="https://dashboard.openpanel.dev/onboarding">Sign up</a><button class="hover:-translate-y-px items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-transparent hover:bg-transparent ring-0 border-none !px-0 !py-0 shadow-none relative hidden size-8 cursor-pointer overflow-hidden md:inline"><div style="opacity:1;transform:none"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-4" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg></div><span class="sr-only">Toggle theme</span></button>
1<button class="hover:-translate-y-px inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover:bg-accent hover:text-accent-foreground h-10 w-10 -my-2 md:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></div></div></nav><main><div><section class="relative z-10 overflow-hidden"><div class="absolute inset-0 w-screen overflow-x-clip"><div class="absolute" style="left:calc(50% - 1173px - 50px);top:-270px;opacity:0;transform:scale(0.9)"><img alt="Hero" loading="lazy" width="2346" height="1058.327902240326" decoding="async" data-nimg="1" class="hidden dark:block" style="color:transparent;width:2346px;min-width:2346px;height:1058.327902240326px" src="/hero-dark.webp"/><img alt="Hero" loading="lazy" width="2346" height="1058.327902240326" decoding="async" data-nimg="1" class="dark:hidden" style="color:transparent;width:2346px;min-width:2346px;height:1058.327902240326px" src="/hero-light.webp"/></div></div><div class="col sm:row container relative py-44 max-sm:pt-32" data-children="true"><div class="col"><a class="flex items-center gap-2 mb-4 text-muted-foreground" href="/articles"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left w-4 h-4" aria-hidden="true"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg><span>Back to all articles</span></a><div class="col gap-4 items-start text-left"><h1 class="text-3xl md:text-5xl font-semibold max-w-3xl leading-tight">Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)</h1><p class="text-muted-foreground max-w-3xl">Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership.</p></div><div class="row gap-4 items-center mt-8"><div class="size-10 center-center bg-black rounded-full"><svg viewBox="0 0 61 35" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="text-black dark:text-white w-6 h-6 fill-white"><rect x="34.0269" y="0.368164" width="10.3474" height="34.2258" rx="5.17372"></rect><rect x="49.9458" y="0.368164" width="10.3474" height="17.5109" rx="5.17372"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M14.212 0C6.36293 0 0 6.36293 0 14.212V20.02C0 27.8691 6.36293 34.232 14.212 34.232C22.0611 34.232 28.424 27.8691 28.424 20.02V14.212C28.424 6.36293 22.0611 0 14.212 0ZM14.2379 8.35999C11.3805 8.35999 9.06419 10.6763 9.06419 13.5337V20.6971C9.06419 23.5545 11.3805 25.8708 14.2379 25.8708C17.0953 25.8708 19.4116 23.5545 19.4116 20.6971V13.5337C19.4116 10.6763 17.0953 8.35999 14.2379 8.35999Z"></path></svg></div><div class="col"><p class="font-medium">OpenPanel Team</p><div class="row gap-2"><p class="text-muted-foreground text-sm">2026-02-16</p><p class="text-muted-foreground text-sm italic">Updated on <!-- -->2026-04-22</p></div></div></div></div></div><div class="absolute right-0 bottom-0 left-0 h-20 rounded-t-[3rem] border-border border-t bg-background shadow-[0_0_100px_var(--background)] md:rounded-t-[6rem]"></div></section>
1<script>(self.__next_s=self.__next_s||[]).push([0,{"type":"application/ld+json","children":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)\",\"datePublished\":\"2026-02-16T00:00:00.000Z\",\"dateModified\":\"2026-04-22T00:00:00.000Z\",\"author\":{\"@type\":\"Person\",\"name\":\"OpenPanel Team\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"OpenPanel\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://openpanel.dev/logo.png\"}},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://openpanel.dev/articles/self-hosted-product-analytics\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https://openpanel.dev/content/self-hosted-analytics.jpg\"}}","id":"article-schema"}])</script>
1<article class="container max-w-5xl col"><div class="grid grid-cols-1 md:grid-cols-[1fr_300px] gap-0"><div class="min-w-0"><div class="prose [&amp;_table]:w-auto [&amp;_img]:max-w-full [&amp;_img]:h-auto"><p>Product analytics tells you <em>what users do</em> inside your product — which features they use, where they drop off, how often they come back, and what paths they take before converting. It&#x27;s the difference between knowing &quot;we got 10,000 pageviews&quot; and knowing &quot;40% of users who start onboarding never finish step 3.&quot;</p>
2<p>If you want those insights without sending user behavior data to a third party, self-hosted product analytics is the way to go.</p>
3<p>But here&#x27;s the problem: most self-hosted analytics tools only cover <strong>web analytics</strong> — pageviews, traffic sources, and referrals. Product analytics features like funnels, retention, cohorts, and user identification require a different class of tool.</p>
4<p>We compared every self-hosted tool that offers real product analytics capabilities. Here&#x27;s what&#x27;s worth your time.</p>
5<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="quick-comparison"><a data-card="" href="#quick-comparison" class="peer">Quick comparison</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
6<div class="relative overflow-auto prose-no-margin my-6"><table><thead><tr><th>Tool</th><th>Focus</th><th>License</th><th>Self-Host Cost</th><th>Cloud Pricing (from)</th><th>Best For</th></tr></thead><tbody><tr><td><a href="#openpanel"><strong>OpenPanel</strong></a></td><td>Web + Product</td><td>AGPL-3.0</td><td>Free</td><td>$2.50/mo</td><td>Teams wanting Mixpanel-like analytics, self-hosted</td></tr><tr><td><a href="#posthog"><strong>PostHog</strong></a></td><td>Product + Web</td><td>MIT</td><td>Free</td><td>$0 + usage</td><td>Dev teams needing analytics + flags + experiments</td></tr><tr><td><a href="#countly"><strong>Countly</strong></a></td><td>Product + Mobile</td><td>AGPL-3.0</td><td>Free (Community)</td><td>Custom</td><td>Mobile-first product analytics</td></tr><tr><td><a href="#matomo"><strong>Matomo</strong></a></td><td>Web (+ Product plugins)</td><td>GPL-3.0</td><td>Free (core)</td><td>€29/mo</td><td>GA replacement with product add-ons</td></tr><tr><td><a href="#mitzu"><strong>Mitzu</strong></a></td><td>Product</td><td>Source Available</td><td>Paid</td><td>Custom</td><td>Warehouse-native product analytics</td></tr></tbody></table></div>
7<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="what-makes-product-analytics-different-from-web-analytics"><a data-card="" href="#what-makes-product-analytics-different-from-web-analytics" class="peer">What makes product analytics different from web analytics</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
8<p>Web analytics answers questions about your <strong>website traffic</strong>: where visitors come from, which pages they view, and how long they stay. Tools like <a href="/compare/plausible-alternative">Plausible</a>, <a href="/compare/umami-alternative">Umami</a>, and <a href="/compare/goatcounter-alternative">GoatCounter</a> do this well.</p>
9<p>Product analytics goes deeper. It answers questions about <strong>user behavior</strong>:</p>
10<ul>
11<li><strong>Funnels</strong>: What percentage of users complete signup? Where exactly do they drop off?</li>
12<li><strong>Retention</strong>: Are users coming back after their first week? First month?</li>
13<li><strong>User journeys</strong>: What do users do before upgrading to a paid plan?</li>
14<li><strong>Cohort analysis</strong>: Do users who onboard on mobile retain better than desktop users?</li>
15<li><strong>Event tracking</strong>: Which features get used? How often? By whom?</li>
16</ul>
17<p>If you&#x27;re building a SaaS, mobile app, or any product where understanding user behavior matters, you need product analytics — not just pageview counts.</p>
18<p>
18For a comparison of self-hosted tools focused purely on web analytics, see our <a href="/articles/self-hosted-web-analytics">self-hosted web analytics guide</a>.</p>
19<hr/>
20<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="openpanel"><a data-card="" href="#openpanel" class="peer">OpenPanel</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
21<p><strong>Best for: Teams that want Mixpanel-like product analytics with a self-hosted option</strong></p>
22<p><a href="/">OpenPanel</a> gives you what tools like <a href="/compare/mixpanel-alternative">Mixpanel</a> and <a href="/compare/amplitude-alternative">Amplitude</a> do without sending your data to a third party. It combines web analytics and product analytics in one platform, with cookieless tracking and a simple self-hosting setup.</p>
23<p><img alt="OpenPanel Dashboard" loading="lazy" width="2562" height="1626" decoding="async" data-nimg="1" class="rounded-lg" style="color:transparent" src="/_next/static/media/openpanel.a3ea9679.png"/></p>
24<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="product-analytics-features"><a data-card="" href="#product-analytics-features" class="peer">Product analytics features</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
25<ul>
26<li><strong><a href="/features/funnels">Funnels</a></strong>: Build multi-step conversion funnels with any events. See where users drop off and break down by properties.</li>
27<li><strong><a href="/features/retention">Retention</a></strong>: Analyze how many users come back over time. Compare retention across cohorts, plans, or acquisition channels.</li>
28<li><strong><a href="/features/event-tracking">Event tracking</a></strong>: Track any custom event with properties. Visualize with charts, tables, and breakdowns.</li>
29<li><strong>User identification</strong>: Link events to individual users. View complete user profiles with their full event history.</li>
30<li><strong><a href="/features/session-tracking">Session tracking</a></strong>: See individual sessions with the full sequence of events and pages.</li>
31<li><strong>Real-time dashboards</strong>: Custom dashboards with multiple chart types, updated in real time.</li>
32</ul>
33<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="deployment"><a data-card="" href="#deployment" class="peer">Deployment</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
34<p>Four commands to self-host:</p>
35<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&amp;_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> clone</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -b</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> self-hosting</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://github.com/Openpanel-dev/openpanel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> &amp;&amp; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> openpanel/self-hosting</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> &amp;&amp; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">./setup</span></span>
36<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">./start</span></span></code></pre></div></figure>
37<p>Runs on Docker Compose with ClickHouse, PostgreSQL, and Redis. A mid-range VPS (4 vCPU, 8 GB RAM) handles millions of events. The setup wizard handles configuration, database setup, and SSL.<
37/p>
38<p>Full guide: <a href="/articles/how-to-self-host-openpanel">How to self-host OpenPanel</a> | <a href="/docs/self-hosting/self-hosting">Self-hosting docs</a></p>
39<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pricing"><a data-card="" href="#pricing" class="peer">Pricing</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
40<p>Self-hosting is free. All features included — the self-hosted version is identical to the cloud version with no feature gating.</p>
41<p>Cloud plans start at $2.50/month (5,000 events) and scale to $90/month for 1 million events. Every tier includes every feature.</p>
42<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pros"><a data-card="" href="#pros" class="peer">Pros</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
43<ul>
44<li>Full product analytics (funnels, retention, user profiles) plus web analytics in one tool</li>
45<li>Simplest self-hosting setup among tools with comparable features</li>
46<li>Cookieless tracking — no consent banners needed</li>
47<li>Self-hosted and cloud versions are identical</li>
48<li>Multiple SDKs: JavaScript, React, Next.js, Vue, React Native, Flutter, and more</li>
49</ul>
50<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="cons"><a data-card="" href="#cons" class="peer">Cons</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
51<ul>
52<li>Newer project — smaller community than PostHog or Matomo</li>
53<li>No built-in heatmaps yet</li>
54<li>No built-in feature flags or A/B testing</li>
55</ul>
56<hr/>
57<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="posthog"><a data-card="" href="#posthog" class="peer">PostHog</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
58<p><strong>Best for: Engineering teams that want analytics, feature flags, and experiments in one platform</strong></p>
59<p><a href="https://posthog.com/" rel="noreferrer noopener" target="_blank">PostHog</a> is the most feature-rich self-hosted product analytics tool. It bundles product analytics with session replay, feature flags, A/B testing, surveys, and error tracking. If you want one tool that does everything for product development, PostHog is the most complete option.</p>
60<p><img alt="PostHog Dashboard" loading="lazy" width="2400" height="2000" decoding="async" data-nimg="1" class="rounded-lg" style="color:transparent" src="/_next/static/media/posthog.e2446534.png"/></p>
61<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="product-analytics-features-1"><a data-card="" href="#product-analytics-features-1" class="peer">Product analytics features</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
62<ul>
63<li><strong>Funnels</strong>: Multi-step funnel analysis with breakdown by user properties</li>
64<li><strong>Retention</strong>: Cohort-based retention analysis</li>
65<li><strong>User paths</strong>: Visualize how users navigate through your product</li>
66<li><strong>Cohorts</strong>: Group users by behavior, properties, or lifecycle stage</li>
67<li><strong>Session replay</strong>: Watch recordings of actual user sessions</li>
68<li><strong>Feature flags</strong>: Roll out features to specific user segments</li>
69<li><strong>A/B testing</strong>: Run experiments and measure impact on metrics</li>
70<li><strong>Surveys</strong>: Collect in-product feedback</li>
71</ul>
72<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="deployment-1"><a data-card="" href="#deployment-1" class="peer">Deployment</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
73<p>PostHog self-hosting uses Docker Compose for small deployments or Kubernetes (Helm charts) for production. The infrastru
73cture stack includes PostgreSQL, Redis, ClickHouse, and Kafka — significantly more complex than other options.</p>
74<p>Requirements: Minimum 4 vCPU, 16 GB RAM, 30 GB+ storage. PostHog recommends self-hosting only for up to ~300K events/month. Beyond that, they push you toward their cloud offering.</p>
75<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pricing-1"><a data-card="" href="#pricing-1" class="peer">Pricing</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
76<p>Self-hosting is free under MIT license. The cloud free tier covers 1 million analytics events, 5,000 session recordings, and 1 million feature flag requests per month. Past that, usage-based pricing kicks in (roughly $0.00005 per event for the next million).</p>
77<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pros-1"><a data-card="" href="#pros-1" class="peer">Pros</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
78<ul>
79<li>Most comprehensive feature set of any self-hosted analytics tool</li>
80<li>MIT license — very permissive</li>
81<li>Cloud free tier (1M events) to get started</li>
82<li>Active community and rapid development cycle</li>
83</ul>
84<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="cons-1"><a data-card="" href="#cons-1" class="peer">Cons</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
85<ul>
86<li>
86Complex self-hosting with multiple infrastructure dependencies</li>
87<li>Resource-heavy — needs 4x the RAM of simpler tools</li>
88<li>Self-hosted and cloud versions aren&#x27;t feature-equivalent</li>
89<li>Can be overwhelming — lots of features most teams won&#x27;t use</li>
90<li>PostHog actively discourages self-hosting at scale</li>
91</ul>
92<p>Compare with OpenPanel: <a href="/compare/posthog-alternative">PostHog vs OpenPanel</a></p>
93<hr/>
94<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="countly"><a data-card="" href="#countly" class="peer">Countly</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
95<p><strong>Best for: Mobile-first product analytics with self-hosting</strong></p>
96<p><a href="https://countly.com/" rel="noreferrer noopener" target="_blank">Countly</a> is a product analytics platform with strong mobile analytics roots. It supports web, mobile, and desktop apps with SDKs for iOS, Android, React Native, Flutter, and more. The Community Edition is self-hostable under AGPL-3.0.</p>
97<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="product-analytics-features-2"><a data-card="" href="#product-analytics-features-2" class="peer">Product analytics features</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
98<ul>
99<li><strong>Funnels</strong>: Define conversion funnels and track drop-off rates</li>
100<li><strong>Retention</strong>: Cohort retention analysis with configurable time periods</li>
101<li><strong>User profiles</strong>: Individual user tracking with event history</li>
102<li><strong>Segmentation</strong>: Filter and segment users by properties and behaviors</li>
103<li><strong>Push notifications</strong>: Built-in push notification system (mobile)</li>
104<li><strong>Crash reporting</strong>: Crash analytics for mobile apps</li>
105</ul>
106<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="deployment-2"><a data-card="" href="#deployment-2" class="peer">Deployment</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
107<p>Countly self-hosts with Docker or manual installation on Linux. It uses MongoDB as its primary database. The setup is straightforward but requires MongoDB expertise for production deployments.</p>
108<p>Requirements: 4 vCPU, 8 GB RAM minimum. MongoDB 6+. More resources needed for high-traffic mobile apps.</p>
109<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pricing-2"><a data-card="" href="#pricing-2" class="peer">Pricing</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
110<p>The Community Edition is free under AGPL-3.0 but has limited features. Enterprise pricing is custom and includes advanced analytics, push notifications, crash reporting, and dedicated support. Expect significant cost for the Enterprise version.</p>
111<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pros-2"><a data-card="" href="#pros-2" class="peer">Pros</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
112<ul>
113<li>
113Strong mobile analytics with native SDKs for all major platforms</li>
114<li>Built-in push notifications and crash reporting</li>
115<li>Established platform with enterprise customers</li>
116<li>Good for mobile-first or hybrid app analytics</li>
117</ul>
118<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="cons-2"><a data-card="" href="#cons-2" class="peer">Cons</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
119<ul>
120<li>Community Edition is feature-limited — most product analytics features require Enterprise</li>
121<li>Enterprise pricing is opaque and expensive</li>
122<li>MongoDB-only — no PostgreSQL or ClickHouse option</li>
123<li>UI feels dated compared to newer tools</li>
124<li>Smaller open source community than PostHog</li>
125</ul>
126<p>Compare with OpenPanel: <a href="/compare/countly-alternative">Countly vs OpenPanel</a></p>
127<hr/>
128<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="matomo"><a data-card="" href="#matomo" class="peer">Matomo</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
129<p><strong>Best for: Organizations that want a Google Analytics replacement with optional product analytics features</strong></p>
130<p><a href="https://matomo.org/" rel="noreferrer noopener" target="_blank">Matomo</a> is primarily a web analytics tool, but it offers product analytics capabilities through its plugin system. Heatmaps, session recordings, A/B testing, and funnels are available as paid plugins — even on self-hosted instances.</p>
131<p><img alt="Matomo Dashboard" loading="lazy" width="1368" height="844" decoding="async" data-nimg="1" class="rounded-lg" style="color:transparent" src="/_next/static/media/matomo.82dec70c.png"/></p>
132<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="product-analytics-features-3"><a data-card="" href="#product-analytics-features-3" class="peer">Product analytics features</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
133<ul>
134<li><strong>Funnels</strong> (paid plugin): Multi-step conversion funnels</li>
135<li><strong>Cohorts</strong> (paid plugin): Group users by behavior and analyze over time</li>
136<li><strong>Heatmaps</strong> (paid plugin): See where users click, scroll, and hover</li>
137<li><strong>Session recordings</strong> (paid plugin): Watch recordings of user sessions</li>
138<li><strong>A/B testing</strong> (paid plugin): Run experiments on your site</li>
139<li><strong>Custom events</strong>: Track custom events and goals</li>
140</ul>
141<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="deployment-3"><a data-card="" href="#deployment-3" class="peer">Deployment</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
142<p>Matomo runs on PHP + MySQL/MariaDB. Deploy on any LAMP stack or use their Docker images. More complex than Docker-only tools because it requires a PHP environment and web server configuration.</p>
143<p>Full details in our <a href="/articles/self-hosted-web-analytics#matomo">open source web analytics comparison</a>.</p>
144<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pricing-3"><a data-card="" href="#pricing-3" class="peer">Pricing</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
145<p>The core platform is free under GPL-3.0. Product analytics plugins are sold separately:</p>
146<ul>
147<li>Funnels: €199/year</li>
148<li>Heatmaps + Session Recording: €249/year</li>
149<li>A/B Testing: €199/year</li>
150<li>Cohorts: €79/year</li>
151</ul>
152<p>These costs add up. A full product analytics setup on self-hosted Matomo can cost €500-700+/year in plugin licenses.</p>
153<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pros-3"><a data-card="" href="#pros-3" class="peer">Pros</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
154<ul>
155<li>Most mature self-hosted analytics platform (since 2007)</li>
156<li>Closest feature parity to Google Analytics</li>
157<li>Large plugin library</li>
158<li>Strong compliance track record</li>
159</ul>
160<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="cons-3"><a data-card="" href="#cons-3" class="peer">Cons</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
161<ul>
162<li>Product analytics features are paid add-ons, not included in the core</li>
163<li>Plugin costs add up significantly</li>
164<li>PHP stack requires more maintenance</li>
165<li>Not a native product analytics tool — it&#x27;s web analytics with product features bolted on</li>
166</ul>
167<p>Compare with OpenPanel: <a href="/compare/matomo-alternative">Matomo vs OpenPanel</a></p>
168<hr/>
169<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="mitzu"><a data-card="" href="#mitzu" class="peer">Mitzu</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
170<p><strong>Best for: Data teams that want product analytics on top of their existing data warehouse</strong></p>
171<p><a href="https://www.mitzu.io/" rel="noreferrer noopener" target="_blank">Mitzu</a> takes a different approach. Instead of ingesting data into its own database, it runs analytics queries directly on your existing data warehouse (BigQuery, Snowflake, Databricks, etc.). If you already have event data in a warehouse, Mitzu gives you product analytics without duplicating data.</p>
172<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="product-analytics-features-4"><a data-card="" href="#product-analytics-features-4" class="peer">Product analytics features</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
173<ul>
174<li><strong>Funnels</strong>: Conversion funnel analysis running on your warehouse</li>
175<li><strong>Retention</strong>: Cohort retention directly on warehouse data</li>
176<li><strong>Segmentation</strong>: Filter users by any property in your warehouse</li>
177<li><strong>User journeys</strong>: Path analysis on warehouse data</li>
178<li><strong>Revenue analytics</strong>: Connect events to revenue data</li>
179</ul>
180<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="deployment-4"><a data-card="" href="#deployment-4" class="peer">Deployment</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
181<p>Mitzu deploys as a web application that connects to your existing warehouse. Self-hosting is available but requires a paid license.</p>
182<p>Requirements: An existing data warehouse (BigQuery, Snowflake, Databricks, ClickHouse, or PostgreSQL) with event data already flowing in.</p>
183<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pricing-4"><a data-card="" href="#pricing-4" class="peer">Pricing</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
184<p>Self-hosting requires a paid license (pricing available on request). Cloud plans are also custom-priced. There is no free tier for self-hosting.</p>
185<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="pros-4"><a data-card="" href="#pros-4" class="peer">Pros</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
186<ul>
187<li>No data duplication — queries your existing warehouse</li>
188<li>
188Works with the data infrastructure you already have</li>
189<li>Strong for data teams who live in SQL and warehouses</li>
190<li>Good for organizations with complex data pipelines</li>
191</ul>
192<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="cons-4"><a data-card="" href="#cons-4" class="peer">Cons</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
193<ul>
194<li>Requires an existing data warehouse with event data</li>
195<li>Self-hosting requires a paid license</li>
196<li>Not suitable for teams starting from scratch</li>
197<li>Smaller community and less documentation</li>
198</ul>
199<hr/>
200<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="self-hosted-product-analytics-vs-cloud-when-to-self-host"><a data-card="" href="#self-hosted-product-analytics-vs-cloud-when-to-self-host" class="peer">Self-hosted product analytics vs cloud: when to self-host</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
201<p>The case for self-hosting product analytics is even stronger than for web analytics. Product analytics involves <strong>user-level data</strong> — individual users, their behaviors, their journeys through your product. This data is more sensitive than aggregate pageview counts.</p>
202<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="self-host-product-analytics-when"><a data-card="" href="#self-host-product-analytics-when" class="peer">Self-host product analytics when:</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
203<ul>
204<li><strong>You handle sensitive user data.</strong> Healthcare (HIPAA), finance, or any industry where user behavior data is regulated. Self-hosting eliminates third-party data transfers entirely. See our <a href="/articles/better-compliance-self-hosted-analytics">compliance guide</a>.</li>
205<li><strong>You need user-level data control.</strong> Product analytics tracks individual users. Under GDPR, this is personal data. Self-hosting gives you full control over retention, deletion, and access.</li>
206<li><strong>You want cost predictability.</strong> Cloud product analytics pricing scales with events and identified users. At scale, this gets expensive fast. Self-hosting costs are your server costs.</li>
207<li><strong>You have data residency requirements.</strong> Some regulations require data to stay in specific geographic regions. Self-hosting on your own infrastructure solves this.</li>
208</ul>
209<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="use-cloud-when"><a data-card="" href="#use-cloud-when" class="peer">Use cloud when:</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
210<ul>
211<li><strong>You&#x27;re just getting started with product analytics.</strong>
211 Cloud gets you insights faster. Self-host later when you&#x27;ve validated the tool fits your needs.</li>
212<li><strong>You don&#x27;t have ops capacity.</strong> Product analytics tools with ClickHouse backends need some database knowledge to maintain.</li>
213<li><strong>You need guaranteed uptime.</strong> If analytics downtime directly impacts product decisions, a managed service with SLAs may be worth the cost.</li>
214</ul>
215<p>With <a href="/pricing">OpenPanel</a>, you can start on Cloud and migrate to self-hosting at any time. The features are identical in both versions.</p>
216<hr/>
217<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="how-to-get-started"><a data-card="" href="#how-to-get-started" class="peer">How to get started</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
218<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="1-pick-a-server"><a data-card="" href="#1-pick-a-server" class="peer">1. Pick a server</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
219<p>For self-hosted product analytics, you&#x27;ll want slightly more resources than for basic web analytics since product analytics involves more complex queries (funnels, retention calculations).</p>
220<p>Recommended starting point: 4 vCPU, 8 GB RAM, 80 GB SSD. This handles most small-to-medium products comfortably.</p>
221<ul>
222<li><strong><a href="https://hetzner.cloud/?ref=7Hq0H5mQh7tM" rel="noreferrer noopener" target="_blank">Hetzner</a></strong> — A CX31 (4 vCPU, 8 GB RAM) for around €8.50/month</li>
223<li><strong>DigitalOcean</strong> — Equivalent droplet for ~$48/month</li>
224<li><strong>Vultr</strong> — Similar pricing to DigitalOcean</li>
225</ul>
226<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="2-install-and-configure"><a data-card="" href="#2-install-and-configure" class="peer">2. Install and configure</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
227<p>For OpenPanel:</p>
228<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&amp;_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> clone</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -b</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> self-hosting</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://github.com/Openpanel-dev/openpanel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> &amp;&amp; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> openpanel/self-hosting</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> &amp;&amp; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">./setup</span></span>
229<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">./start</span></span></code></pre></div></figure>
230<p>The setup wizard walks you through domain configuration, database setup, SSL, and worker settings. Full guide: <a href="/articles/how-to-self-host-openpanel">How to self-host OpenPanel</a>.</p>
231<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="3-instrument-your-product"><a data-card="" href="#3-instrument-your-product" class="peer">3. Instrument your product</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
232<p>Product analytics requires event tracking in your codebase. With OpenPanel, install the SDK for your framework:</p>
233<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes g
233ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&amp;_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> @openpanel/nextjs</span></span>
234<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># or @openpanel/react, @openpanel/vue, @openpanel/sdk</span></span></code></pre></div></figure>
235<p>Then track events where they happen:</p>
236<figure dir="ltr" class="my-4 bg-fd-card rounded-xl shiki relative border shadow-sm not-prose overflow-hidden text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="-1"><div class="empty:hidden absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring p-1 [&amp;_svg]:size-4 hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></button></div><div role="region" tabindex="0" class="text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring" style="--padding-right:calc(var(--spacing) * 8)"><pre class="min-w-full w-max *:flex *:flex-col"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { op } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> &#x27;@openpanel/nextjs&#x27;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
237<span class="line"></span>
238<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Track a custom event</span></span>
239<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">op.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">track</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&#x27;signup_completed&#x27;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, {</span></span>
240<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  plan: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&#x27;pro&#x27;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
241<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  source: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&#x27;landing_page&#x27;</span></span>
242<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">});
242</span></span>
243<span class="line"></span>
244<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Identify a user</span></span>
245<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">op.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">identify</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
246<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  profileId: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&#x27;user_123&#x27;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
247<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  email: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&#x27;[email protected]&#x27;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
248<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  plan: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&#x27;pro&#x27;</span></span>
249<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">});</span></span></code></pre></div></figure>
250<p>See the <a href="/docs/get-started/install-openpanel">SDK documentation</a> for your specific framework.</p>
251<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="4-build-your-first-funnel"><a data-card="" href="#4-build-your-first-funnel" class="peer">4. Build your first funnel</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
252<p>Once events are flowing, create your first conversion funnel. A common starting point: <strong>Visit landing page &gt; Sign up &gt; Complete onboarding &gt; First key action</strong>. This immediately shows you where users drop off in your core flow.</p>
253<hr/>
254<div><div class="w-full max-w-screen-md self-center rounded-3xl border bg-background-dark [&amp;_button]:px-4 [&amp;_div.answer]:bg-background-light" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="border-b last:border-b-0 [&amp;_[role=region]]:px-4" itemProp="mainEntity" itemScope="" itemType="https://schema.org/Question"><h3 data-orientation="vertical" data-state="closed" class="flex not-prose"><button type="button" aria-controls="radix-_R_9vdbav5ubt5ujb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_1vdbav5ubt5ujb_" class="group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 cursor-pointer text-left" itemProp="name" data-radix-collection-item=""><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div>What is the best self-hosted product analytics tool?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_9vdbav5ubt5ujb_" hidden="" role="region" aria-labelledby="radix-_R_1vdbav5ubt5ujb_" data-orientation="vertical" class="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground" itemProp="acceptedAnswer" itemScope="" itemType="https://schema.org/Answer" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b last:border-b-0 [&amp;_[role=region]]:px-4" itemProp="mainEntity" itemScope="" itemType="https://schema.org/Question"><h3 data-orientation="vertical" data-state="closed" class="flex not-prose"><button type="button" aria-controls="radix-_R_avdbav5ubt5ujb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_2vdbav5ubt5ujb_" class="group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;
254svg]:rotate-180 cursor-pointer text-left" itemProp="name" data-radix-collection-item=""><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div>Can I self-host Mixpanel or Amplitude?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_avdbav5ubt5ujb_" hidden="" role="region" aria-labelledby="radix-_R_2vdbav5ubt5ujb_" data-orientation="vertical" class="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground" itemProp="acceptedAnswer" itemScope="" itemType="https://schema.org/Answer" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b last:border-b-0 [&amp;_[role=region]]:px-4" itemProp="mainEntity" itemScope="" itemType="https://schema.org/Question"><h3 data-orientation="vertical" data-state="closed" class="flex not-prose"><button type="button" aria-controls="radix-_R_bvdbav5ubt5ujb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_3vdbav5ubt5ujb_" class="group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 cursor-pointer text-left" itemProp="name" data-radix-collection-item=""><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div>What is the difference between product analytics and web analytics?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_bvdbav5ubt5ujb_" hidden="" role="region" aria-labelledby="radix-_R_3vdbav5ubt5ujb_" data-orientation="vertical" class="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground" itemProp="acceptedAnswer" itemScope="" itemType="https://schema.org/Answer" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b last:border-b-0 [&amp;_[role=region]]:px-4" itemProp="mainEntity" itemScope="" itemType="https://schema.org/Question"><h3 data-orientation="vertical" data-state="closed" class="flex not-prose"><button type="button" aria-controls="radix-_R_cvdbav5ubt5ujb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_4vdbav5ubt5ujb_" class="group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 cursor-pointer text-left" itemProp="name" data-radix-collection-item=""><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div>How much does self-hosted product analytics cost?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_cvdbav5ubt5ujb_" hidden="" role="region" aria-labelledby="radix-_R_4vdbav5ubt5ujb_" data-orientation="vertical" class="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground" itemProp="acceptedA
254nswer" itemScope="" itemType="https://schema.org/Answer" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b last:border-b-0 [&amp;_[role=region]]:px-4" itemProp="mainEntity" itemScope="" itemType="https://schema.org/Question"><h3 data-orientation="vertical" data-state="closed" class="flex not-prose"><button type="button" aria-controls="radix-_R_dvdbav5ubt5ujb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_5vdbav5ubt5ujb_" class="group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 cursor-pointer text-left" itemProp="name" data-radix-collection-item=""><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div>Do I need separate tools for web and product analytics?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_dvdbav5ubt5ujb_" hidden="" role="region" aria-labelledby="radix-_R_5vdbav5ubt5ujb_" data-orientation="vertical" class="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground" itemProp="acceptedAnswer" itemScope="" itemType="https://schema.org/Answer" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b last:border-b-0 [&amp;_[role=region]]:px-4" itemProp="mainEntity" itemScope="" itemType="https://schema.org/Question"><h3 data-orientation="vertical" data-state="closed" class="flex not-prose"><button type="button" aria-controls="radix-_R_evdbav5ubt5ujb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_6vdbav5ubt5ujb_" class="group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 cursor-pointer text-left" itemProp="name" data-radix-collection-item=""><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div>Is self-hosted product analytics GDPR compliant?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_evdbav5ubt5ujb_" hidden="" role="region" aria-labelledby="radix-_R_6vdbav5ubt5ujb_" data-orientation="vertical" class="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground" itemProp="acceptedAnswer" itemScope="" itemType="https://schema.org/Answer" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b last:border-b-0 [&amp;_[role=region]]:px-4" itemProp="mainEntity" itemScope="" itemType="https://schema.org/Question"><h3 data-orientation="vertical" data-state="closed" class="flex not-prose"><button type="button" aria-controls="radix-_R_fvdbav5ubt5ujb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_7vdbav5ubt5ujb_" class="group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;
254svg]:rotate-180 cursor-pointer text-left" itemProp="name" data-radix-collection-item=""><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div>Can I start with cloud and migrate to self-hosting later?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_fvdbav5ubt5ujb_" hidden="" role="region" aria-labelledby="radix-_R_7vdbav5ubt5ujb_" data-orientation="vertical" class="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground" itemProp="acceptedAnswer" itemScope="" itemType="https://schema.org/Answer" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div></div></div></div><aside class="pl-12 pb-12 gap-8 col"><div class="col group relative overflow-hidden rounded-3xl border bg-background p-6 gap-2"><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div><span class="text-lg font-semibold">Table of contents</span><ul><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#quick-comparison"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Quick comparison</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#what-makes-product-analytics-different-from-web-analytics"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">What makes product analytics different from web analytics</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#openpanel"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">OpenPanel</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#product-analytics-features"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Product analytics features</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#deployment"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Deployment</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pricing"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pricing</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pros"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pros</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#cons"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Cons</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#posthog"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">PostHog</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#product-analytics-features-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Product analytics features</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#deployment-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Deployment</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pricing-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pricing</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pros-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pros</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#cons-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Cons</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#countly"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Countly</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#product-analytics-features-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Product analytics features</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#deployment-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Deployment</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pricing-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pricing</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pros-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pros</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#cons-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Cons</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#matomo"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Matomo</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#product-analytics-features-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Product analytics features</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#deployment-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Deployment</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pricing-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pricing</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pros-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacit
254y" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pros</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#cons-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Cons</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#mitzu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Mitzu</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#product-analytics-features-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Product analytics features</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#deployment-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Deployment</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pricing-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pricing</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#pros-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Pros</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#cons-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Cons</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#self-hosted-product-analytics-vs-cloud-when-to-self-host"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Self-hosted product analytics vs cloud: when to self-host</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#self-host-product-analytics-when"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Self-host product analytics when:</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#use-cloud-when"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">Use cloud when:</span></a></li><li class="py-1" style="margin-left:0px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#how-to-get-started"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">How to get started</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#1-pick-a-server"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">1. Pick a server</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#2-install-and-configure"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">2. Install and configure</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#3-instrument-your-product"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">3. Instrument your product</span></a></li><li class="py-1" style="margin-left:16px"><a class="hover:underline row gap-2 items-center group/toc-item" title="[object Object]" href="#4-build-your-first-funnel"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="truncate text-sm">4. Build your first funnel</span></a></li></ul></div><div class="col group relative overflow-hidden rounded-3xl border bg-background p-6 gap-2"><div class="pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-trans
254parent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10"></div><span class="text-lg font-semibold">Try OpenPanel</span><p class="text-muted-foreground text-sm mb-4">Give it a spin for free. No credit card required.</p><a class="hover:-translate-y-px inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-foreground text-primary-foreground hover:bg-primary/90 h-12 px-8 group" href="https://dashboard.openpanel.dev/onboarding">Start free trial<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right size-4 transition-transform group-hover:translate-x-1 group-hover:scale-125" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></aside></div><div class="my-16"><h3 class="text-2xl font-bold mb-8">Related articles</h3><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"><a class="border rounded-lg overflow-hidden bg-background-light col hover:scale-105 transition-all duration-300 hover:shadow-lg hover:shadow-background-dark" href="/articles/mixpanel-alternatives"><img alt="13 Best Product Analytics Tools in 2026 (Ranked &amp; Compared)" loading="lazy" width="323" height="181" decoding="async" data-nimg="1" class="w-full" style="color:transparent" src="/content/cover-alternatives.jpg"/><span class="p-4 col flex-1"><span class="font-mono text-xs mb-2">Comparison</span><span class="flex-1 mb-6"><h2 class="text-xl font-semibold">13 Best Product Analytics Tools in 2026 (Ranked &amp; Compared)</h2></span><p class="text-sm text-muted-foreground">OpenPanel Team · 2025-07-18</p></span></a><a class="border rounded-lg overflow-hidden bg-background-light col hover:scale-105 transition-all duration-300 hover:shadow-lg hover:shadow-background-dark" href="/articles/self-hosted-web-analytics"><img alt="Self-Hosted Web Analytics 2026 — Plausible vs Matomo vs Umami vs OpenPanel" loading="lazy" width="323" height="181" decoding="async" data-nimg="1" class="w-full" style="color:transparent" src="/content/self-hosted-analytics.jpg"/><span class="p-4 col flex-1"><span class="font-mono text-xs mb-2">Comparison</span><span class="flex-1 mb-6"><h2 class="text-xl font-semibold">Self-Hosted Web Analytics 2026 — Plausible vs Matomo vs Umami vs OpenPanel</h2></span><p class="text-sm text-muted-foreground">OpenPanel Team · 2024-11-14</p></span></a><a class="border rounded-lg overflow-hidden bg-background-light col hover:scale-105 transition-all duration-300 hover:shadow-lg hover:shadow-background-dark" href="/articles/open-source-web-analytics"><img alt="Open Source Analytics Tools: 2026 Survey of Privacy-First Options" loading="lazy" width="323" height="181" decoding="async" data-nimg="1" class="w-full" style="color:transparent" src="/content/cover-best-web-analytics.jpg"/><span class="p-4 col flex-1"><span class="font-mono text-xs mb-2">Comparison</span><span class="flex-1 mb-6"><h2 class="text-xl font-semibold">Open Source Analytics Tools: 2026 Survey of Privacy-First Options</h2></span><p class="text-sm text-muted-foreground">OpenPanel Team · 2024-11-10</p></span></a></div></div></article><section class="my-32 col overflow-hidden"><div class="container mb-16"><div class="col gap-4 items-start text-left"><h2 class="text-3xl md:text-5xl font-semibold max-w-3xl leading-tight">Loved by builders everywhere</h2><p class="text-muted-foreground max-w-3xl">From indie hackers to global teams, OpenPanel helps people understand their users effortlessly.</p></div></div><div class="relative -mx-4 px-4"><div class="absolute left-0 top-0 bottom-0 w-32 z-10 pointer-events-none" style="background:linear-gradient(to right, hsl(var(--background)), transparent)"></div><div class="absolute right-0 top-0 bottom-0 w-32 z-10 pointer-events-none" style="background:linear-gradient(to left, hsl(var(--background)), transparent)"></div><div class="scroller relative z-20 overflow-hidden -ml-4 md:-ml-[1200px] w-screen md:w-[calc(100vw+1400px)] gap-8"><ul class="flex min-w-full shrink-0 gap-8 py-4 w-max flex-nowrap items-start hover:[animation-play-state:paused]"><li class="w-[310px] max-w-full relative shrink-0 md:w-[400px]"><div class="border rounded-3xl p-8 col gap-4 bg-background-light"><div class="row gap-4"><div class="size-12 rounded-full bg-muted overflow-hidden shrink-0"><img alt="Steven Tey" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" style="color:transparent" src="/twitter-steven.jpg"/></div><div class="col gap-4"><div class="col gap-2"><div class=""><span class="font-medium">Steven Tey</span></div><span class="text-muted-foreground text-sm leading-0">@<!-- -->steventey</span></div><p class="text-sm">Open-source Mixpanel alternative just dropped → http://git.new/openpanel</p><p class="text-sm">It combines the power of Mixpanel + the ease of use of @PlausibleHQ into a fully open-source product.</p><p class="text-sm">Built by @CarlLindesvard and it’s already tracking 750K+ events 🤩</p><div class="row gap-4 text-muted-foreground text-sm"><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle transition-all size-4 fill-background hover:fill-blue-500 hover:text-blue-500" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw transition-all size-4 fill-background hover:text-blue-500" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart transition-all size-4 fill-background hover:fill-rose-500 hover:text-rose-500" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg></div></div></div></div></div></li><li class="w-[310px] max-w-full relative shrink-0 md:w-[400px]"><div class="border rounded-3xl p-8 col gap-4 bg-background-light"><div class="row gap-4"><div class="size-12 rounded-full bg-muted overflow-hidden shrink-0"><img alt="Pontus Abrahamsson - oss/acc" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" style="color:transparent" src="/twitter-pontus.jpg"/></div><div class="col gap-4"><div class="col gap-2"><div class=""><span class="font-medium">Pontus Abrahamsson - oss/acc</span></div><span class="text-muted-foreground text-sm leading-0">@<!-- -->pontusab</span></div><p class="text-sm">Thanks, OpenPanel is a beast, love it!</p><div class="row gap-4 text-muted-foreground text-sm"><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle transition-all size-4 fill-background hover:fill-blue-500 hover:text-blue-500" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw transition-all size-4 fill-background hover:text-blue-500" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart transition-all size-4 fill-background hover:fill-rose-500 hover:text-rose-500" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg></div></div></div></div></div></li><li class="w-[310px] max-w-full relative shrink-0 md:w-[400px]"><div class="border rounded-3xl p-8 col gap-4 bg-background-light"><div class="row gap-4"><div class="size-12 rounded-full bg-muted overflow-hidden shrink-0"><img alt="Piotr Kulpinski" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" style="color:transparent" src="/twitter-piotr.jpg"/></div><div class="col gap-4"><div class="col gap-2"><div class=""><span class="font-medium">Piotr Kulpinski</span></div><span class="text-muted-foreground text-sm leading-0">@<!-- -->piotrkulpinski</span></div><p class="text-sm">The Overview tab in OpenPanel is great. It has everything I need from my analytics: the stats, the graph, traffic sources, locations, devices, etc.</p><p class="text-sm">The UI is beautiful ✨ Clean, modern look, very pleasing to the eye.</p><div class="row gap-4 text-muted-foreground text-sm"><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle transition-all size-4 fill-background hover:fill-blue-500 hover:text-blue-500" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw transition-all size-4 fill-background hover:text-blue-500" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart transition-all size-4 fill-background hover:fill-rose-500 hover:text-rose-500" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg></div></div></div></div></div></li><li class="w-[310px] max-w-full relative shrink-0 md:w-[400px]"><div class="border rounded-3xl p-8 col gap-4 bg-background-light"><div class="row gap-4"><div class="size-12 rounded-full bg-muted overflow-hidden shrink-0"><img alt="greg hodson 🍜" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" style="color:transparent" src="/twitter-greg.png"/></div><div class="col gap-4"><div class="col gap-2"><div class=""><span class="font-medium">greg hodson 🍜</span></div><span class="text-muted-foreground text-sm leading-0">@<!-- -->h0dson</span></div><p class="text-sm">i second this, openpanel is killing it</p><div class="row gap-4 text-muted-foreground text-sm"><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle transition-all size-4 fill-background hover:fill-blue-500 hover:text-blue-500" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw transition-all size-4 fill-background hover:text-blue-500" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart transition-all size-4 fill-background hover:fill-rose-500 hover:text-rose-500" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg></div></div></div></div></div></li><li class="w-[310px] max-w-full relative shrink-0 md:w-[400px]"><div class="border rounded-3xl p-8 col gap-4 bg-background-light"><div class="row gap-4"><div class="size-12 rounded-full bg-muted overflow-hidden shrink-0"><img alt="Jacob 🍀 Build in Public" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" style="color:transparent" src="/twitter-jacob.jpg"/></div><div class="col gap-4"><div class="col gap-2"><div class=""><span class="font-medium">Jacob 🍀 Build in Public</span></div><span class="text-muted-foreground text-sm leading-0">@<!-- -->javayhuwx</span></div><p class="text-sm">🤯 wow, it&#x27;s amazing! Just integrate @OpenPanelDev into http://indiehackers.site last night, and now I can see visitors coming from all roun
254d the world.</p><p class="text-sm">OpenPanel has a more beautiful UI and much more powerful features when compared to Umami.</p><p class="text-sm">#buildinpublic #indiehackers</p><div class="row gap-4 text-muted-foreground text-sm"><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle transition-all size-4 fill-background hover:fill-blue-500 hover:text-blue-500" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw transition-all size-4 fill-background hover:text-blue-500" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart transition-all size-4 fill-background hover:fill-rose-500 hover:text-rose-500" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg></div></div></div></div></div></li><li class="w-[310px] max-w-full relative shrink-0 md:w-[400px]"><div class="border rounded-3xl p-8 col gap-4 bg-background-light"><div class="row gap-4"><div class="size-12 rounded-full bg-muted overflow-hidden shrink-0"><img alt="Lee" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" style="color:transparent" src="/twitter-lee.jpg"/></div><div class="col gap-4"><div class="col gap-2"><div class=""><span class="font-medium">Lee</span></div><span class="text-muted-foreground text-sm leading-0">@<!-- -->DutchEngIishman</span></div><p class="text-sm">Day two of marketing.</p><p class="text-sm">I like this upward trend..</p><p class="text-sm">P.S. website went live on Sunday</p><p class="text-sm">P.P.S. Openpanel by @CarlLindesvard is awesome.</p><div class="row gap-4 text-muted-foreground text-sm"><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle transition-all size-4 fill-background hover:fill-blue-500 hover:text-blue-500" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw transition-all size-4 fill-background hover:text-blue-500" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart transition-all size-4 fill-background hover:fill-rose-500 hover:text-rose-500" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg></div></div></div></div></div></li><li class="w-[310px] max-w-full relative shrink-0 md:w-[400px]"><div class="border rounded-3xl p-8 col gap-4 bg-background-light"><div class="row gap-4"><div class="size-12 rounded-full bg-muted overflow-hidden shrink-0"><img alt="Thomas Sanlis" loading="lazy" width="48" height="48" decoding="async" data-nimg="1" style="color:transparent" src="/twitter-thomas.jpg"/></div><div class="col gap-4"><div class="col gap-2"><div class=""><span class="font-medium">Thomas Sanlis</span></div><span class="text-muted-foreground text-sm leading-0">@<!-- -->T_Zahil</span></div><p class="text-sm">We&#x27;re now sponsoring @OpenPanelDev with Uneed 🥳</p><p class="text-sm">If you&#x27;re looking for open source analytics, OpenPanel is BY FAR the best I&#x27;ve ever seen</p><p class="text-sm">Bonus: 1-click install on Coolify 🥰</p><div class="row gap-4 text-muted-foreground text-sm"><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle transition-all size-4 fill-background hover:fill-blue-500 hover:text-blue-500" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw transition-all size-4 fill-background hover:text-blue-500" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><div class="row gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart transition-all size-4 fill-background hover:fill-rose-500 hover:text-rose-500" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg></div></div></div></div></div></li></ul></div></div></section><div class="container"><section class="relative overflow-hidden border rounded-3xl py-16 px-4 md:px-16"><div class="size-px absolute left-12 bottom-12 rounded-full shadow-[0_0_250px_80px_var(--color-foreground)]"></div><div class="size-px absolute right-12 top-12 rounded-full shadow-[0_0_250px_80px_var(--color-foreground)]"></div><svg width="409" height="539" viewBox="0 0 409 539" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-foreground absolute left-0 bottom-0 -translate-x-1/2 translate-y-1/2 max-md:scale-50 opacity-50"><path d="M222.146 483.444C332.361 429.581 378.043 296.569 324.18 186.354C270.317 76.1395 137.306 30.4572 27.0911 84.3201" stroke="url
254(#paint0_linear_552_3808)" stroke-width="123.399"></path><defs><linearGradient id="paint0_linear_552_3808" x1="324.18" y1="186.354" x2="161.365" y2="265.924" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop offset="1" stop-color="currentColor" stop-opacity="0"></stop></linearGradient></defs></svg><svg width="409" height="539" viewBox="0 0 409 539" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-foreground absolute right-0 top-0 translate-x-1/2 -translate-y-1/2 rotate-105 max-md:scale-50 scale-75 opacity-50"><path d="M222.146 483.444C332.361 429.581 378.043 296.569 324.18 186.354C270.317 76.1395 137.306 30.4572 27.0911 84.3201" stroke="url(#paint0_linear_552_3808)" stroke-width="123.399"></path><defs><linearGradient id="paint0_linear_552_3808" x1="324.18" y1="186.354" x2="161.365" y2="265.924" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop offset="1" stop-color="currentColor" stop-opacity="0"></stop></linearGradient></defs></svg><div class="absolute inset-0 bg-linear-to-br from-foreground
254/5 via-transparent to-foreground/5"></div><div class="container relative z-10 col gap-6 center-center max-w-3xl"><h2 class="text-4xl md:text-4xl font-semibold text-center">Ready to understand your users better?<br/>Start tracking in minutes</h2><p class="text-muted-foreground text-center max-w-md">Join thousands of companies using OpenPanel. Free 30-day trial, no credit card required. Self-host for free or use our cloud.</p><a class="hover:-translate-y-px inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-foreground text-primary-foreground hover:bg-primary/90 h-12 px-8 group mt-4" href="https://dashboard.openpanel.dev/onboarding">Start free trial<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right size-4 transition-transform group-hover:translate-x-1 group-hover:scale-125" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></section></div></div><!--$--><!--/$--></main><div><footer class="relative overflow-hidden pt-32 text-sm"><div class="center-center pointer-events-none absolute right-0 -bottom-20 left-0 opacity-5 md:-bottom-32"><div class="absolute inset-0 bg-linear-to-b from-background to-transparent"></div><svg viewBox="0 0 61 35" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="text-black dark:text-white w-[900px] shrink-0"><rect x="34.0269" y="0.368164" width="10.3474" height="34.2258" rx="5.17372"></rect><rect x="49.9458" y="0.368164" width="10.3474" height="17.5109" rx="5.17372"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M14.212 0C6.36293 0 0 6.36293 0 14.212V20.02C0 27.8691 6.36293 34.232 14.212 34.232C22.0611 34.232 28.424 27.8691 28.424 20.02V14.212C28.424 6.36293 22.0611 0 14.212 0ZM14.2379 8.35999C11.3805 8.35999 9.06419 10.6763 9.06419 13.5337V20.6971C9.06419 23.5545 11.3805 25.8708 14.2379 25.8708C17.0953 25.8708 19.4116 23.5545 19.4116 20.6971V13.5337C19.4116 10.6763 17.0953 8.35999 14.2379 8.35999Z"></path></svg></div><div class="container relative grid grid-cols-1 gap-12 md:grid-cols-4 md:gap-8"><div class="col gap-3"><h3 class="font-medium">Useful links</h3><ul class="col gap-2 text-muted-foreground"><li class="truncate"><a class="transition-colors hover:text-foreground" title="About" href="/about">About</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Contact" href="/contact">Contact</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Become a supporter" href="/supporter">Become a supporter</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Free analytics for open source projects" href="/open-source">Free analytics for open source projects</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Open source analytics" href="/articles/self-hosted-web-analytics">Open source analytics</a></li></ul><div class="h-5"></div><h3 class="font-medium">Features</h3><ul class="col gap-2 text-muted-foreground"><li class="truncate"><a class="transition-colors hover:text-foreground" title="All features" href="/features">All features</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Conversion" href="/features/conversion">Conversion</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Data visualization" href="/features/data-visualization">Data visualization</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Event tracking" href="/features/event-tracking">Event tracking</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Funnels" href="/features/funnels">Funnels</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Identify users" href="/features/identify-users">Identify users</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Integrations" href="/features/integrations">Integrations</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="MCP" href="/features/mcp">MCP</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Notifications" href="/features/notifications">Notifications</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Retention" href="/features/retention">Retention</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Revenue tracking" href="/features/revenue-tracking">Revenue tracking</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Session replay" href="/features/session-replay">Session replay</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Session tracking" href="/features/session-tracking">Session tracking</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Share &amp; Collaborate" href="/features/share-and-collaborate">Share &amp; Collaborate</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Web analytics" href="/features/web-analytics">Web analytics</a></li></ul></div><div class="col gap-3"><h3 class="font-medium">Resources</h3><ul class="col gap-2 text-muted-foreground"><li class="truncate"><a class="transition-colors hover:text-foreground" title="Pricing" href="/pricing">Pricing</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Documentation" href="/docs">Documentation</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="SDKs" href="/docs/sdks">SDKs</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Guides" href="/guides">Guides</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Articles" href="/articles">Articles</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Compare" href="/compare">Compare</a></li></ul><div class="h-5"></div><h3 class="font-medium">Solutions</h3><ul class="col gap-2 text-muted-foreground"><li class="truncate"><a class="transition-colors hover:text-foreground" title="All use cases" href="/for">All use cases</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Analytics for agencies" href="/for/agencies">Analytics for agencies</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Analytics for developers" href="/for/developers">Analytics for developers</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Ecommerce analytics that survives cookie consent" href="/for/ecommerce">
254Ecommerce analytics that survives cookie consent</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="GDPR-compliant analytics that doesn&#x27;t need a consent banner" href="/for/gdpr-compliant">GDPR-compliant analytics that doesn&#x27;t need a consent banner</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Analytics built for Next.js" href="/for/nextjs">Analytics built for Next.js</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Product analytics for SaaS teams" href="/for/saas">Product analytics for SaaS teams</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Shopify analytics that actually works" href="/for/shopify">Shopify analytics that actually works</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Analytics for startups" href="/for/startups">Analytics for startups</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="WordPress analytics without the cookie banner" href="/for/wordpress">WordPress analytics without the cookie banner</a></li></ul><div class="h-5"></div><h3 class="font-medium">Tools</h3><ul class="col gap-2 text-muted-foreground"><li class="truncate"><a class="transition-colors hover:text-foreground" title="URL Checker" href="/tools/url-checker">URL Checker</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="IP Lookup" href="/tools/ip-lookup">IP Lookup</a></li></ul></div><div class="col gap-3"><h3 class="font-medium">Compare</h3><ul class="col gap-2 text-muted-foreground"><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Ackee Alternative" href="/compare/ackee-alternative">Best Ackee Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Amplitude Alternatives" href="/compare/amplitude-alternative">Best Amplitude Alternatives</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best AppsFlyer Alternative" href="/compare/appsflyer-alternative">Best AppsFlyer Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Cabin Analytics Alternative" href="/compare/cabin-analytics-alternative">Best Cabin Analytics Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Countly Alternative" href="/compare/countly-alternative">Best Countly Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Crazy Egg Alternative" href="/compare/crazy-egg-alternative">Best Crazy Egg Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Fathom Alternative" href="/compare/fathom-alternative">Best Fathom Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best FullStory Alternative" href="/compare/fullstory-alternative">Best FullStory Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Funnel.io Alternative" href="/compare/funnelio-alternative">Best Funnel.io Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best GoatCounter Alternative" href="/compare/goatcounter-alternative">Best GoatCounter Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="The Open Source Google Analytics Alternative" href="/compare/google-analytics-alternative">The Open Source Google Analytics Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Heap Alternative" href="/compare/heap-alternative">Best Heap Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Matomo Alternative" href="/compare/matomo-alternative">Best Matomo Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Microsoft Clarity Alternative" href="/compare/microsoft-clarity-alternative">Microsoft Clarity Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="OpenPanel vs Mixpanel" href="/compare/mixpanel-alternative">OpenPanel vs Mixpanel</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Mouseflow Alternative" href="/compare/mouseflow-alternative">Best Mouseflow Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Pirsch Analytics Alternative" href="/compare/pirsch-analytics-alternative">Best Pirsch Analytics Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Plausible Alternative" href="/compare/plausible-alternative">Best Plausible Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best PostHog Alternative" href="/compare/posthog-alternative">Best PostHog Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Simple Analytics Alternative" href="/compare/simple-analytics-alternative">Best Simple Analytics Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Smartlook Alternative" href="/compare/smartlook-alternative">Best Smartlook Alternative</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Best Umami Alternative" href="/compare/umami-alternative">Best Umami Alternative</a></li></ul></div><div class="col gap-3"><h3 class="font-medium">Latest articles</h3><ul class="col gap-2 text-muted-foreground"><li class="truncate"><a class="transition-colors hover:text-foreground" title="What Is Cohort Analysis? A Practical Guide to Retention &amp; Churn" href="/articles/cohort-analysis">What Is Cohort Analysis? A Practical Guide to Retention &amp; Churn</a></li><li class="truncate">
254<a class="transition-colors hover:text-foreground" title="Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)" href="/articles/self-hosted-product-analytics">Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Is Mixpanel Worth It in 2026? Real Costs at 1M, 10M &amp; 20M Events" href="/articles/mixpanel-pricing">Is Mixpanel Worth It in 2026? Real Costs at 1M, 10M &amp; 20M Events</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="BullMQ Alternative: GroupMQ for Sequential Job Processing Without Race Conditions" href="/articles/bullmq-alternative">BullMQ Alternative: GroupMQ for Sequential Job Processing Without Race Conditions</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Solving read-after-write consistency with replicas" href="/articles/read-after-write-concistency">Solving read-after-write consistency with replicas</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="How to Export Data from Umami Analytics" href="/articles/how-to-export-data-from-umami">How to Export Data from Umami Analytics</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="13 Best Product Analytics Tools in 2026 (Ranked &amp; Compared)" href="/articles/mixpanel-alternatives">13 Best Product Analytics Tools in 2026 (Ranked &amp; Compared)</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="Cookieless Analytics: Best Tools &amp; How They Work in 2026" href="/articles/cookieless-analytics">Cookieless Analytics: Best Tools &amp; How They Work in 2026</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="What Is a Conversion Funnel? How to Build &amp; Optimize One" href="/articles/how-to-create-a-funnel">What Is a Conversion Funnel? How to Build &amp; Optimize One</a></li><li class="truncate"><a class="transition-colors hover:text-foreground" title="How to Self-Host OpenPanel Analytics Platform" href="/articles/how-to-self-host-openpanel">How to Self-Host OpenPanel Analytics Platform</a></li></ul></div></div><div class="col relative mt-16 gap-8 border-t bg-background/70 pt-8 pb-32 text-muted-foreground"><div class="col md:row container justify-between gap-8"><div><a href="https://openpanel.dev" style="display:inline-block;overflow:hidden;border-radius:8px;width:100%;height:48px"><iframe height="48" src="https://dashboard.openpanel.dev/widget/badge?shareId=ancygl&amp;color=%230B0B0B" style="border:none;overflow:hidden;pointer-events:none" title="OpenPanel Analytics Badge" width="100%"></iframe></a></div><div class="col gap-4 md:items-end"><div class="row gap-4 [&amp;_svg]:size-6"><a rel="noreferrer noopener nofollow" title="Go to GitHub" href="https://github.com/Openpanel-dev/openpanel"><svg class="fill-current" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a><a rel="noreferrer noopener nofollow" title="Go to X" href="https://x.com/openpaneldev"><svg class="fill-current" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>X</title><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H3.298Z"></path></svg></a><a rel="noreferrer noopener nofollow" title="Join Discord" href="https://go.openpanel.dev/discord"><svg class="fill-current" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Discord</title><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 
2540 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"></path></svg></a><a rel="noreferrer noopener nofollow" title="Send an email" href="mailto:[email protected]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail size-6" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg></a><a class="row items-center gap-2 rounded-full border px-2 py-1 max-md:ml-auto max-md:self-start" href="https://status.openpanel.dev" rel="noreferrer noopener nofollow" target="_blank"><span>Operational</span><div class="size-2 rounded-full bg-emerald-500"></div></a></div></div></div><div class="md:row container flex flex-col-reverse justify-between gap-8"><div>Copyright © <!-- -->2026<!-- --> OpenPanel. All rights reserved.</div><div class="col lg:row gap-2 md:gap-4"><a href="/sitemap.xml">Sitemap</a><a href="/privacy">Privacy Policy</a><a href="/terms">Terms of Service</a><a href="/dpa">DPA</a><a href="/cookies">Cookie Policy (just kidding)</a></div></div></div></footer></div>
254<script src="/_next/static/chunks/webpack-3903665e50a2a6d1.js" id="_R_" async=""></script>
254<script>(self.__next_f=self.__next_f||[]).push([0])</script>
254<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[700,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"1378\",\"static/chunks/1378-1837ba666f6c4091.js\",\"7177\",\"static/chunks/app/layout-2f28e69176d9612e.js\"],\"RootProvider\"]\n3:I[90124,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"1378\",\"static/chunks/1378-1837ba666f6c4091.js\",\"7177\",\"static/chunks/app/layout-2f28e69176d9612e.js\"],\"Provider\"]\n4:I[23889,[],\"\"]\n5:I[50021,[],\"\"]\n6:I[3890,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"1378\",\"static/chunks/1378-1837ba666f6c4091.js\",\"7177\",\"static/chunks/app/layout-2f28e69176d9612e.js\"],\"ScrollTracker\"]\n7:I[75505,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"\"]\n8:I[47810,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"77\",\"static/chunks/77-ab093fb5ba693156.js\",\"4790\",\"static/chunks/app/(home)/layout-5a1e48df8deaee58.js\"],\"default\"]\nb:I[26116,[],\"OutletBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[26116,[],\"ViewportBoundary\"]\n10:I[26116,[],\"MetadataBoundary\"]\n13:I[4355,[],\"\"]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/b7128b074288979a.css\",\"style\"]\n:HL[\"/_next/static/css/620188488ec88cd7.css\",\"style\"]\n"])</script>
254<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"OyZ7jCM5Tosf8o879UNIi\",\"c\":[\"\",\"articles\",\"self-hosted-product-analytics\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(content)\",{\"children\":[\"articles\",{\"children\":[[\"articleSlug\",\"self-hosted-product-analytics\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b7128b074288979a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/620188488ec88cd7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"className\":\"__className_629dad __variable_c29908\",\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"flex min-h-screen flex-col bg-background\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L6\",null,{}],[[\"$\",\"$L7\",null,{\"async\":true,\"defer\":true,\"src\":\"https://openpanel.dev/op1.js?v=1.2.0\"}],[\"$\",\"$L7\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"window.op=window.op||function(){var n=[];return new Proxy(function(){arguments.length\u0026\u0026n.push([].slice.call(arguments))},{get:function(t,r){return\\\"q\\\"===r?n:function(){n.push([r].concat([].slice.call(arguments)))}} ,has:function(t,r){return\\\"q\\\"===r}}) }();\\n          window.op('init', {\\\"clientId\\\":\\\"301c6dc1-424c-4bc3-9886-a8beab09b615\\\",\\\"sessionReplay\\\":{\\\"enabled\\\":true},\\\"trackAttributes\\\":true,\\\"trackOutgoingLinks\\\":true,\\\"trackScreenViews\\\":true,\\\"sdk\\\":\\\"nextjs\\\",\\\"sdkVersion\\\":\\\"1.2.0\\\"});\"},\"id\":\"openpanel-init\",\"strategy\":\"afterInteractive\"}]]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[[\"$\",\"$L8\",null,{}],[\"$\",\"main\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$L9\"]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$La\",null,[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@d\"}]}]]}],{}
254,null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Le\",null,{\"children\":\"$@f\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L10\",null,{\"children\":\"$L11\"}]}],\"$L12\"]}],false]],\"m\":\"$undefined\",\"G\":[\"$13\",[]],\"S\":true}\n"])</script>
254<script>self.__next_f.push([1,"11:[\"$\",\"$c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@14\"}]\n12:[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]\n"])</script>
254<script>self.__next_f.push([1,"15:I[92652,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"HeroContainer\"]\n16:I[26644,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"\"]\n"])</script>
254<script>self.__next_f.push([1,"a:[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L15\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"col\",\"children\":[[\"$\",\"$L16\",null,{\"href\":\"/articles\",\"className\":\"flex items-center gap-2 mb-4 text-muted-foreground\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-left w-4 h-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1l729n\",{\"d\":\"m12 19-7-7 7-7\"}],[\"$\",\"path\",\"x3x0zl\",{\"d\":\"M19 12H5\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"children\":\"Back to all articles\"}]]}],[\"$\",\"div\",null,{\"className\":\"col gap-4 items-start text-left\",\"children\":[\"$undefined\",[\"$\",\"h1\",null,{\"className\":\"text-3xl md:text-5xl font-semibold max-w-3xl leading-tight\",\"children\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground max-w-3xl\",\"children\":\"Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership.\"}]]}],[\"$\",\"div\",null,{\"className\":\"row gap-4 items-center mt-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"size-10 center-center bg-black rounded-full\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 61 35\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"currentColor\",\"className\":\"text-black dark:text-white w-6 h-6 fill-white\",\"children\":[[\"$\",\"rect\",null,{\"x\":\"34.0269\",\"y\":\"0.368164\",\"width\":\"10.3474\",\"height\":\"34.2258\",\"rx\":\"5.17372\"}],[\"$\",\"rect\",null,{\"x\":\"49.9458\",\"y\":\"0.368164\",\"width\":\"10.3474\",\"height\":\"17.5109\",\"rx\":\"5.17372\"}],[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.212 0C6.36293 0 0 6.36293 0 14.212V20.02C0 27.8691 6.36293 34.232 14.212 34.232C22.0611 34.232 28.424 27.8691 28.424 20.02V14.212C28.424 6.36293 22.0611 0 14.212 0ZM14.2379 8.35999C11.3805 8.35999 9.06419 10.6763 9.06419 13.5337V20.6971C9.06419 23.5545 11.3805 25.8708 14.2379 25.8708C17.0953 25.8708 19.4116 23.5545 19.4116 20.6971V13.5337C19.4116 10.6763 17.0953 8.35999 14.2379 8.35999Z\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"col\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium\",\"children\":\"OpenPanel Team\"}],[\"$\",\"div\",null,{\"className\":\"row gap-2\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-sm\",\"children\":\"2026-02-16\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-sm italic\",\"children\":[\"Updated on \",\"2026-04-22\"]}]]}]]}]]}]]}]}],[\"$\",\"$L7\",null,{\"strategy\":\"beforeInteractive\",\"id\":\"article-schema\",\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"headline\\\":\\\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)\\\",\\\"datePublished\\\":\\\"2026-02-16T00:00:00.000Z\\\",\\\"dateModified\\\":\\\"2026-04-22T00:00:00.000Z\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"OpenPanel Team\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"OpenPanel\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://openpanel.dev/logo.png\\\"}},\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://openpanel.dev/articles/self-hosted-product-analytics\\\"},\\\"image\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://openpanel.dev/content/self-hosted-analytics.jpg\\\"}}\"}}],[\"$\",\"article\",null,{\"className\":\"container max-w-5xl col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-[1fr_300px] gap-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"min-w-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"prose [\u0026_table]:w-auto [\u0026_img]:max-w-full [\u0026_img]:h-auto\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"Product analytics tells you \",[\"$\",\"em\",null,{\"children\":\"what users do\"}],\" inside your product — which features they use, where they drop off, how often they come back, and what paths they take before converting. It's the difference between knowing \\\"we got 10,000 pageviews\\\" and knowing \\\"40% of users who start onboarding never finish step 3.\\\"\"]}],\"\\n\",\"$L17\",\"\\n\",\"$L18\",\"\\n\",\"$L19\",\"\\n\",\"$L1a\",\"\\n\",\"$L1b\",\"\\n\",\"$L1c\",\"\\n\",\"$L1d\",\"\\n\",\"$L1e\",\"\\n\",\"$L1f\",\"\\n\",\"$L20\",\"\\n\",\"$L21\",\"\\n\",\"$L22\",\"\\n\",\"$L23\",\"\\n\",\"$L24\",\"\\n\",\"$L25\",\"\\n\",\"$L26\",\"\\n\",\"$L27\",\"\\n\",\"$L28\",\"\\n\",\"$L29\",\"\\n\",\"$L2a\",\"\\n\",\"$L2b\",\"\\n\",\"$L2c\",\"\\n\",\"$L2d\",\"\\n\",\"$L2e\",\"\\n\",\"$L2f\",\"\\n\",\"$L30\",\"\\n\",\"$L31\",\"\\n\",\"$L32\",\"\\n\",\"$L33\",\"\\n\",\"$L34\",\"\\n\",\"$L35\",\"\\n\",\"$L36\",\"\\n\",\"$L37\",\"\\n\",\"$L38\",\"\\n\",\"$L39\",\"\\n\",\"$L3a\",\"\\n\",\"$L3b\",\"\\n\",\"$L3c\",\"\\n\",\"$L3d\",\"\\n\",\"$L3e\",\"\\n\",\"$L3f\",\"\\n\",\"$L40\",\"\\n\",\"$L41\",\"\\n\",\"$L42\",\"\\n\",\"$L43\",\"\\n\",\"$L44\",\"\\n\",\"$L45\",\"\\n\",\"$L46\",\"\\n\",\"$L47\",\"\\n\",\"$L48\",\"\\n\",\"$L49\",\"\\n\",\"$L4a\",\"\\n\",\"$L4b\",\"\\n\",\"$L4c\",\"\\n\",\"$L4d\",\"\\n\",\"$L4e\",\"\\n\",\"$L4f\",\"\\n\",\"$L50\",\"\\n\",\"$L51\",\"\\n\",\"$L52\",\"\\n\",\"$L53\",\"\\n\",\"$L54\",\"\\n\",\"$L55\",\"\\n\",\"$L56\",\"\\n\",\"$L57\",\"\\n\",\"$L58\",\"\\n\",\"$L59\",\"\\n\",\"$L5a\",\"\\n\",\"$L5b\",\"\\n\",\"$L5c\",\"\\n\",\"$L5d\",\"\\n\",\"$L5e\",\"\\n\",\"$L5f\",\"\\n\",\"$L60\",\"\\n\",\"$L61\",\"\\n\",\"$L62\",\"\\n\",\"$L63\",\"\\n\",\"$L64\",\"\\n\",\"$L65\",\"\\n\",\"$L66\",\"\\n\",\"$L67\",\"\\n\",\"$L68\",\"\\n\",\"$L69\",\"\\n\",\"$L6a\",\"\\n\",\"$L6b\",\"\\n\",\"$L6c\",\"\\n\",\"$L6d\",\"\\n\",\"$L6e\",\"\\n\",\"$L6f\",\"\\n\",\"$L70\",\"\\n\",\"$L71\",\"\\n\",\"$L72\",\"\\n\",\"$L73\",\"\\n\",\"$L74\",\"\\n\",\"$L75\",\"\\n\",\"$L76\",\"\\n\",\"$L77\",\"\\n\",\"$L78\",\"\\n\",\"$L79\",\"\\n\",\"$L7a\",\"\\n\",\"$L7b\",\"\\n\",\"$L7c\",\"\\n\",\"$L7d\",\"\\n\",\"$L7e\",\"\\n\",\"$L7f\",\"\\n\",\"$L80\",\"\\n\",\"$L81\",\"\\n\",\"$L82\",\"\\n\",\"$L83\",\"\\n\",\"$L84\",\"\\n\",\"$L85\",\"\\n\",\"$L86\",\"\\n\",\"$L87\",\"\\n\",\"$L88\",\"\\n\",\"$L89\",\"\\n\",\"$L8a\",\"\\n\",\"$L8b\",\"\\n\",\"$L8c\",\"\\n\",\"$L8d\",\"\\n\",\"$L8e\",\"\\n\",\"$L8f\",\"\\n\",\"$L90\",\"\\n\",\"$L91\",\"\\n\",\"$L92\",\"\\n\",\"$L93\"]}]}],\"$L94\"]}],\"$L95\"]}],\"$L96\",\"$L97\"]}]\n"])</script>
254<script>self.__next_f.push([1,"9:[\"$\",\"div\",null,{\"children\":[\"$\",\"footer\",null,{\"className\":\"relative overflow-hidden pt-32 text-sm\",\"children\":[[\"$\",\"div\",null,{\"className\":\"center-center pointer-events-none absolute right-0 -bottom-20 left-0 opacity-5 md:-bottom-32\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 bg-linear-to-b from-background to-transparent\"}],[\"$\",\"svg\",null,{\"viewBox\":\"0 0 61 35\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"currentColor\",\"className\":\"text-black dark:text-white w-[900px] shrink-0\",\"children\":[[\"$\",\"rect\",null,{\"x\":\"34.0269\",\"y\":\"0.368164\",\"width\":\"10.3474\",\"height\":\"34.2258\",\"rx\":\"5.17372\"}],[\"$\",\"rect\",null,{\"x\":\"49.9458\",\"y\":\"0.368164\",\"width\":\"10.3474\",\"height\":\"17.5109\",\"rx\":\"5.17372\"}],[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.212 0C6.36293 0 0 6.36293 0 14.212V20.02C0 27.8691 6.36293 34.232 14.212 34.232C22.0611 34.232 28.424 27.8691 28.424 20.02V14.212C28.424 6.36293 22.0611 0 14.212 0ZM14.2379 8.35999C11.3805 8.35999 9.06419 10.6763 9.06419 13.5337V20.6971C9.06419 23.5545 11.3805 25.8708 14.2379 25.8708C17.0953 25.8708 19.4116 23.5545 19.4116 20.6971V13.5337C19.4116 10.6763 17.0953 8.35999 14.2379 8.35999Z\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"container relative grid grid-cols-1 gap-12 md:grid-cols-4 md:gap-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col gap-3\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-medium\",\"children\":\"Useful links\"}],[\"$\",\"ul\",null,{\"className\":\"col gap-2 text-muted-foreground\",\"children\":[[\"$\",\"li\",\"/about\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/about\",\"title\":\"About\",\"children\":\"About\"}]}],[\"$\",\"li\",\"/contact\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/contact\",\"title\":\"Contact\",\"children\":\"Contact\"}]}],[\"$\",\"li\",\"/supporter\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/supporter\",\"title\":\"Become a supporter\",\"children\":\"Become a supporter\"}]}],[\"$\",\"li\",\"/open-source\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/open-source\",\"title\":\"Free analytics for open source projects\",\"children\":\"Free analytics for open source projects\"}]}],[\"$\",\"li\",\"/articles/self-hosted-web-analytics\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/self-hosted-web-analytics\",\"t
254itle\":\"Open source analytics\",\"children\":\"Open source analytics\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"h-5\"}],[\"$\",\"h3\",null,{\"className\":\"font-medium\",\"children\":\"Features\"}],[\"$\",\"ul\",null,{\"className\":\"col gap-2 text-muted-foreground\",\"children\":[[\"$\",\"li\",\"/features\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features\",\"title\":\"All features\",\"children\":\"All features\"}]}],[\"$\",\"li\",\"/features/conversion\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/conversion\",\"title\":\"Conversion\",\"children\":\"Conversion\"}]}],[\"$\",\"li\",\"/features/data-visualization\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/data-visualization\",\"title\":\"Data visualization\",\"children\":\"Data visualization\"}]}],[\"$\",\"li\",\"/features/event-tracking\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/event-tracking\",\"title\":\"Event tracking\",\"children\":\"Event tracking\"}]}],[\"$\",\"li\",\"/features/funnels\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/funnels\",\"title\":\"Funnels\",\"children\":\"Funnels\"}]}],[\"$\",\"li\",\"/features/identify-users\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/identify-users\",\"title\":\"Identify users\",\"children\":\"Identify users\"}]}],[\"$\",\"li\",\"/features/integrations\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/integrations\",\"title\":\"Integrations\",\"children\":\"Integrations\"}]}],\"$L98\",\"$L99\",\"$L9a\",\"$L9b\",\"$L9c\",\"$L9d\",\"$L9e\",\"$L9f\"]}]]}],\"$La0\",\"$La1\",\"$La2\"]}],\"$La3\"]}]}]\n"])</script>
254<script>self.__next_f.push([1,"a4:I[63421,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"default\"]\na5:I[41963,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"default\"]\na6:I[12830,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Image\"]\na7:I[40485,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"CodeBlock\"]\na8:I[40485,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Pre\"]\nb0:I[78957,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Root\"]\nb1:I["])</script>
254<script>self.__next_f.push([1,"78957,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Item\"]\nb2:I[78957,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Header\"]\nb3:I[78957,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Trigger\"]\nb4:I[78957,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Content\"]\ne1:I[57717,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Image\"]\ne2:I[48297,[\"86\",\"static/chunks/f2e89c46-711e98a68326abdf.js\",\"7120\",\"static/chunks/7120-fcddfc01e8dd1108.js\",\"706\",\"static/chunks/706-b73195aeff466d92.js\",\"7717\",\"static/chunks/7717-2d09b3f3b9d55cd9.js\",\"3758\",\"static/chunks/3758-7c3576fa69b4126b.js\",\"8957\",\"static/chunks/8957-be0c34e691cfa71d.js\",\"8191\",\"static/chunks/8191-20f1f9effb30dbd2.js\",\"630\",\"static/chunks/630-5484c4fd07751ea2.js\",\"9867\",\"static/chunks/9867-cf0a18a4543cc0b8.js\",\"7032\",\"static/chunks/7032-993a7ffd2e8e3326.js\",\"268\",\"static/chunks/268-bce654556d353a45.js\",\"334\",\"static/chunks/334-67137bcfb86eaa2f.js\",\"6487\",\"static/chunks/app/(content)/articles/%5BarticleSlug%5D/page-22444f9696f39521.js\"],\"Testimonials\"]\n17:["])</script>
254<script>self.__next_f.push([1,"\"$\",\"p\",null,{\"children\":\"If you want those insights without sending user behavior data to a third party, self-hosted product analytics is the way to go.\"}]\n18:[\"$\",\"p\",null,{\"children\":[\"But here's the problem: most self-hosted analytics tools only cover \",[\"$\",\"strong\",null,{\"children\":\"web analytics\"}],\" — pageviews, traffic sources, and referrals. Product analytics features like funnels, retention, cohorts, and user identification require a different class of tool.\"]}]\n19:[\"$\",\"p\",null,{\"children\":\"We compared every self-hosted tool that offers real product analytics capabilities. Here's what's worth your time.\"}]\n1a:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"quick-comparison\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#quick-comparison\",\"className\":\"peer\",\"children\":\"Quick comparison\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\",\"key\":\"1cjeqo\"}],[\"path\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\",\"key\":\"19qd67\"}]],\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n"])</script>
254<script>self.__next_f.push([1,"1b:[\"$\",\"div\",null,{\"className\":\"relative overflow-auto prose-no-margin my-6\",\"children\":[\"$\",\"table\",null,{\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"children\":[[\"$\",\"th\",null,{\"children\":\"Tool\"}],[\"$\",\"th\",null,{\"children\":\"Focus\"}],[\"$\",\"th\",null,{\"children\":\"License\"}],[\"$\",\"th\",null,{\"children\":\"Self-Host Cost\"}],[\"$\",\"th\",null,{\"children\":\"Cloud Pricing (from)\"}],[\"$\",\"th\",null,{\"children\":\"Best For\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"#openpanel\",\"children\":[\"$\",\"strong\",null,{\"children\":\"OpenPanel\"}]}]}],[\"$\",\"td\",null,{\"children\":\"Web + Product\"}],[\"$\",\"td\",null,{\"children\":\"AGPL-3.0\"}],[\"$\",\"td\",null,{\"children\":\"Free\"}],[\"$\",\"td\",null,{\"children\":\"$$2.50/mo\"}],[\"$\",\"td\",null,{\"children\":\"Teams wanting Mixpanel-like analytics, self-hosted\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"#posthog\",\"children\":[\"$\",\"strong\",null,{\"children\":\"PostHog\"}]}]}],[\"$\",\"td\",null,{\"children\":\"Product + Web\"}],[\"$\",\"td\",null,{\"children\":\"MIT\"}],[\"$\",\"td\",null,{\"children\":\"Free\"}],[\"$\",\"td\",null,{\"children\":\"$$0 + usage\"}],[\"$\",\"td\",null,{\"children\":\"Dev teams needing analytics + flags + experiments\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"#countly\",\"children\":[\"$\",\"strong\",null,{\"children\":\"Countly\"}]}]}],[\"$\",\"td\",null,{\"children\":\"Product + Mobile\"}],[\"$\",\"td\",null,{\"children\":\"AGPL-3.0\"}],[\"$\",\"td\",null,{\"children\":\"Free (Community)\"}],[\"$\",\"td\",null,{\"children\":\"Custom\"}],[\"$\",\"td\",null,{\"children\":\"Mobile-first product analytics\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"#matomo\",\"children\":[\"$\",\"strong\",null,{\"children\":\"Matomo\"}]}]}],[\"$\",\"td\",null,{\"children\":\"Web (+ Product plugins)\"}],[\"$\",\"td\",null,{\"children\":\"GPL-3.0\"}],[\"$\",\"td\",null,{\"children\":\"Free (core)\"}],[\"$\",\"td\",null,{\"children\":\"€29/mo\"}],[\"$\",\"td\",null,{\"children\":\"GA replacement with product add-ons\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"#mitzu\",\"children\":[\"$\",\"strong\",null,{\"children\":\"Mitzu\"}]}]}],[\"$\",\"td\",null,{\"children\":\"Product\"}],[\"$\",\"td\",null,{\"children\":\"Source Available\"}],[\"$\",\"td\",null,{\"children\":\"Paid\"}],[\"$\",\"td\",null,{\"children\":\"Custom\"}],[\"$\",\"td\",null,{\"children\":\"Warehouse-native product analytics\"}]]}]]}]]}]}]\n"])</script>
254<script>self.__next_f.push([1,"1c:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"what-makes-product-analytics-different-from-web-analytics\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#what-makes-product-analytics-different-from-web-analytics\",\"className\":\"peer\",\"children\":\"What makes product analytics different from web analytics\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n1d:[\"$\",\"p\",null,{\"children\":[\"Web analytics answers questions about your \",[\"$\",\"strong\",null,{\"children\":\"website traffic\"}],\": where visitors come from, which pages they view, and how long they stay. Tools like \",[\"$\",\"$La5\",null,{\"href\":\"/compare/plausible-alternative\",\"children\":\"Plausible\"}],\", \",[\"$\",\"$La5\",null,{\"href\":\"/compare/umami-alternative\",\"children\":\"Umami\"}],\", and \",[\"$\",\"$La5\",null,{\"href\":\"/compare/goatcounter-alternative\",\"children\":\"GoatCounter\"}],\" do this well.\"]}]\n1e:[\"$\",\"p\",null,{\"children\":[\"Product analytics goes deeper. It answers questions about \",[\"$\",\"strong\",null,{\"children\":\"user behavior\"}],\":\"]}]\n1f:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Funnels\"}],\": What percentage of users complete signup? Where exactly do they drop off?\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Retention\"}],\": Are users coming back after their first week? First month?\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"User journeys\"}],\": What do users do before upgrading to a paid plan?\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Cohort analysis\"}],\": Do users who onboard on mobile retain better than desktop users?\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Event tracking\"}],\": Which features get used? How often? By whom?\"]}],\"\\n\"]}]\n20:[\"$\",\"p\",null,{\"children\":\"If you're building a SaaS, mobile app, or any product where understanding user behavior matters, you need product analytics — not just pageview counts.\"}]\n21:[\"$\",\"p\",null,{\"children\":[\"For a comparison of self-hosted tools focused purely on web analytics, see our \",[\"$\",\"$La5\",null,{\"href\":\"/articles/self-hosted-web-analytics\",\"children\":\"self-hosted web analytics guide\"}],\".\"]}]\n22:[\"$\",\"hr\",null,{}]\n23:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"openpanel\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#openpanel\",\"className\":\"peer\",\"children\":\"OpenPanel\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n24:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Best for: Teams that want Mixpanel-like product analytics with a self-hosted option\"}]}]\n25:[\"$\",\"p\",null,{\"children\":[[\"$\",\"$La5\",null,{\"href\":\"/\",\"children\":\"OpenPanel\"}],\" gives you what tools like \",[\"$\",\"$La5\",null,{\"href\":\"/compare/mixpanel-alternative\",\"children\":\"Mixpanel\"}],\" and \",[\"$\",\"$La5\",null,{\"href\":\"/compare/amplitude-alternative\",\"children\":\"Amplitude\"}],\" do without sending your data to a third party. It combines web analytics and product analytics in one platform, with cookieless tracking and a simple self-hosting setup.\"]}]\n26:[\"$\",\"p\",null,{\"children\":[\"$\",\"$La6\",null,{\"sizes\":\"(max-width: 768px) 100vw, (max-width: 1200px) 70vw, 900px\",\"alt\":\"OpenPanel Dashboard\",\"src\":{\"src\":\"/_next/static/media/openpanel.a3ea9679.png\",\"height\"
254:1626,\"width\":2562,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAGFBMVEUiIiIdHRwjJi8vMDIdICYeHh4dHR4aGhpuyaflAAAABnRSTlP+9P7x7+UnswjCAAAACXBIWXMAABYkAAAWJAGbFcYUAAAAJklEQVR4nBXGxw0AMAzEMLlEt//GgfkiHRUHonTvJZoCkWapM/U+DeQAiL5cD5IAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":5},\"className\":\"rounded-lg\"}]}]\n27:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center g"])</script>
254<script>self.__next_f.push([1,"ap-2\",\"id\":\"product-analytics-features\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#product-analytics-features\",\"className\":\"peer\",\"children\":\"Product analytics features\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n28:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"/features/funnels\",\"children\":\"Funnels\"}]}],\": Build multi-step conversion funnels with any events. See where users drop off and break down by properties.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"/features/retention\",\"children\":\"Retention\"}]}],\": Analyze how many users come back over time. Compare retention across cohorts, plans, or acquisition channels.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"/features/event-tracking\",\"children\":\"Event tracking\"}]}],\": Track any custom event with properties. Visualize with charts, tables, and breakdowns.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"User identification\"}],\": Link events to individual users. View complete user profiles with their full event history.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"/features/session-tracking\",\"children\":\"Session tracking\"}]}],\": See individual sessions with the full sequence of events and pages.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Real-time dashboards\"}],\": Custom dashboards with multiple chart types, updated in real time.\"]}],\"\\n\"]}]\n29:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"deployment\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#deployment\",\"className\":\"peer\",\"children\":\"Deployment\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n2a:[\"$\",\"p\",null,{\"children\":\"Four commands to self-host:\"}]\n"])</script>
254<script>self.__next_f.push([1,"2b:[\"$\",\"$La7\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$La8\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"git\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" clone\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -b\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" self-hosting\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://github.com/Openpanel-dev/openpanel\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" \u0026\u0026 \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"cd\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" openpanel/self-hosting\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" \u0026\u0026 \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"./setup\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"./start\"}]}]]}]}]}]\n"])</script>
254<script>self.__next_f.push([1,"2c:[\"$\",\"p\",null,{\"children\":\"Runs on Docker Compose with ClickHouse, PostgreSQL, and Redis. A mid-range VPS (4 vCPU, 8 GB RAM) handles millions of events. The setup wizard handles configuration, database setup, and SSL.\"}]\n2d:[\"$\",\"p\",null,{\"children\":[\"Full guide: \",[\"$\",\"$La5\",null,{\"href\":\"/articles/how-to-self-host-openpanel\",\"children\":\"How to self-host OpenPanel\"}],\" | \",[\"$\",\"$La5\",null,{\"href\":\"/docs/self-hosting/self-hosting\",\"children\":\"Self-hosting docs\"}]]}]\n2e:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pricing\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pricing\",\"className\":\"peer\",\"children\":\"Pricing\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n2f:[\"$\",\"p\",null,{\"children\":\"Self-hosting is free. All features included — the self-hosted version is identical to the cloud version with no feature gating.\"}]\n30:[\"$\",\"p\",null,{\"children\":\"Cloud plans start at $2.50/month (5,000 events) and scale to $90/month for 1 million events. Every tier includes every feature.\"}]\n31:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pros\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pros\",\"className\":\"peer\",\"children\":\"Pros\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n32:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Full product analytics (funnels, retention, user profiles) plus web analytics in one tool\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Simplest self-hosting setup among tools with comparable features\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Cookieless tracking — no consent banners needed\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Self-hosted and cloud versions are identical\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Multiple SDKs: JavaScript, React, Next.js, Vue, React Native, Flutter, and more\"}],\"\\n\"]}]\n33:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"cons\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#cons\",\"className\":\"peer\",\"children\":\"Cons\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n34:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Newer project — smaller community than PostHog or Matomo\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"No built-in heatmaps yet\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"No built-in feature flags or A/B testing\"}],\"\\n\"]}]\n35:[\"$\",\"hr\",null,{}]\n36:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"posthog\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#posthog\",\"className\":\"peer\",\"children\":\"PostHog\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n37:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Best for: Engineering teams that want analytics, feature flags, and experiments in one platform\"}]}]\n38:[\"$\",\"p\",null,{\"children\":[[\"$\",\"$La5\",null,{\"href\":\"https://posthog.com/\",\"children\":\"PostHog\"}],\" is the most feature-rich self-hosted product analytics tool. It bundles product analytics with session replay, feature flags, A/B testing, surveys, and error tracking. If you want one tool that does everything for product development, PostHog is the most complete option.\"]}]\n39:[\"$\",\"p\",null,{\"children\":[\"$\",\"$La6\",null,{\"sizes\":\"(max-width: 768px) 100vw, (max-width: 1200px) 70vw, 900px\",\"alt\":\"PostHog Dashboard\",\"src\":{\"src\":\"/_next/static/media/posthog.e2446534.png\",\"height\"
254:2000,\"width\":2400,\"b"])</script>
254<script>self.__next_f.push([1,"lurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAADFBMVEX3+Pby8/Ho6eP7/P8XwIy4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJklEQVR4nE3IwQ0AMAyDQHD237lylEd5nSCbIYqDC7DgwDQ+2K8PCY4ATc+bphgAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":7},\"className\":\"rounded-lg\"}]}]\n3a:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"product-analytics-features-1\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#product-analytics-features-1\",\"className\":\"peer\",\"children\":\"Product analytics features\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n3b:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Funnels\"}],\": Multi-step funnel analysis with breakdown by user properties\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Retention\"}],\": Cohort-based retention analysis\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"User paths\"}],\": Visualize how users navigate through your product\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Cohorts\"}],\": Group users by behavior, properties, or lifecycle stage\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Session replay\"}],\": Watch recordings of actual user sessions\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Feature flags\"}],\": Roll out features to specific user segments\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"A/B testing\"}],\": Run experiments and measure impact on metrics\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Surveys\"}],\": Collect in-product feedback\"]}],\"\\n\"]}]\n3c:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"deployment-1\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#deployment-1\",\"className\":\"peer\",\"children\":\"Deployment\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n3d:[\"$\",\"p\",null,{\"children\":\"PostHog self-hosting uses Docker Compose for small deployments or Kubernetes (Helm charts) for production. The infrastructure stack includes PostgreSQL, Redis, ClickHouse, and Kafka — significantly more complex than other options.\"}]\n3e:[\"$\",\"p\",null,{\"children\":\"Requirements: Minimum 4 vCPU, 16 GB RAM, 30 GB+ storage. PostHog recommends self-hosting only for up to ~300K events/month. Beyond that, they push you toward their cloud offering.\"}]\n3f:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pricing-1\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pricing-1\",\"className\":\"peer\",\"children\":\"Pricing\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n40:[\"$\",\"p\",null,{\"children\":\"Self-hosting is free under MIT license. The cloud free tier covers 1 million analytics events, 5,000 session recordings, and 1 million feature flag requests per month. Past that, usage-based pricing kicks in (roughly $0.00005 per event for the next million).\"}]\n41:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pros-1\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pros-1\",\"className\":\"peer\",\"children\":\"Pros\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n42:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Most comprehensive feature set of any self-hosted analytics tool\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"MIT license — "])</script>
254<script>self.__next_f.push([1,"very permissive\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Cloud free tier (1M events) to get started\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Active community and rapid development cycle\"}],\"\\n\"]}]\n43:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"cons-1\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#cons-1\",\"className\":\"peer\",\"children\":\"Cons\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n44:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Complex self-hosting with multiple infrastructure dependencies\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Resource-heavy — needs 4x the RAM of simpler tools\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Self-hosted and cloud versions aren't feature-equivalent\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Can be overwhelming — lots of features most teams won't use\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"PostHog actively discourages self-hosting at scale\"}],\"\\n\"]}]\n45:[\"$\",\"p\",null,{\"children\":[\"Compare with OpenPanel: \",[\"$\",\"$La5\",null,{\"href\":\"/compare/posthog-alternative\",\"children\":\"PostHog vs OpenPanel\"}]]}]\n46:[\"$\",\"hr\",null,{}]\n47:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"countly\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#countly\",\"className\":\"peer\",\"children\":\"Countly\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n48:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Best for: Mobile-first product analytics with self-hosting\"}]}]\n49:[\"$\",\"p\",null,{\"children\":[[\"$\",\"$La5\",null,{\"href\":\"https://countly.com/\",\"children\":\"Countly\"}],\" is a product analytics platform with strong mobile analytics roots. It supports web, mobile, and desktop apps with SDKs for iOS, Android, React Native, Flutter, and more. The Community Edition is self-hostable under AGPL-3.0.\"]}]\n4a:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"product-analytics-features-2\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#product-analytics-features-2\",\"className\":\"peer\",\"children\":\"Product analytics features\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n4b:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Funnels\"}],\": Define conversion funnels and track drop-off rates\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Retention\"}],\": Cohort retention analysis with configurable time periods\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"User profiles\"}],\": Individual user tracking with event history\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Segmentation\"}],\": Filter and segment users by properties and behaviors\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Push notifications\"}],\": Built-in push notification system (mobile)\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Crash reporting\"}],\": Crash analytics for mobile apps\"]}],\"\\n\"]}]\n4c:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"deployment-2\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#deployment-2\",\"className\":\"peer\",\"children\":\"Deployment\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n4d:[\"$\",\"p\",null,{\"children\":\"Countly self-hosts with Docker or manual installation on Linux. It uses MongoDB as its primary database. The setup is st"])</script>
254<script>self.__next_f.push([1,"raightforward but requires MongoDB expertise for production deployments.\"}]\n4e:[\"$\",\"p\",null,{\"children\":\"Requirements: 4 vCPU, 8 GB RAM minimum. MongoDB 6+. More resources needed for high-traffic mobile apps.\"}]\n4f:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pricing-2\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pricing-2\",\"className\":\"peer\",\"children\":\"Pricing\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n50:[\"$\",\"p\",null,{\"children\":\"The Community Edition is free under AGPL-3.0 but has limited features. Enterprise pricing is custom and includes advanced analytics, push notifications, crash reporting, and dedicated support. Expect significant cost for the Enterprise version.\"}]\n51:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pros-2\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pros-2\",\"className\":\"peer\",\"children\":\"Pros\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n52:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Strong mobile analytics with native SDKs for all major platforms\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Built-in push notifications and crash reporting\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Established platform with enterprise customers\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Good for mobile-first or hybrid app analytics\"}],\"\\n\"]}]\n53:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"cons-2\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#cons-2\",\"className\":\"peer\",\"children\":\"Cons\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n54:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Community Edition is feature-limited — most product analytics features require Enterprise\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Enterprise pricing is opaque and expensive\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"MongoDB-only — no PostgreSQL or ClickHouse option\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"UI feels dated compared to newer tools\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Smaller open source community than PostHog\"}],\"\\n\"]}]\n55:[\"$\",\"p\",null,{\"children\":[\"Compare with OpenPanel: \",[\"$\",\"$La5\",null,{\"href\":\"/compare/countly-alternative\",\"children\":\"Countly vs OpenPanel\"}]]}]\n56:[\"$\",\"hr\",null,{}]\n57:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"matomo\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#matomo\",\"className\":\"peer\",\"children\":\"Matomo\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n58:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Best for: Organizations that want a Google Analytics replacement with optional product analytics features\"}]}]\n59:[\"$\",\"p\",null,{\"children\":[[\"$\",\"$La5\",null,{\"href\":\"https://matomo.org/\",\"children\":\"Matomo\"}],\" is primarily a web analytics tool, but it offers product analytics capabilities through its plugin system. Heatmaps, session recordings, A/B testing, and funnels are available as paid plugins — even on self-hosted instances.\"]}]\n5a:[\"$\",\"p\",null,{\"children\":[\"$\",\"$La6\",null,{\"sizes\":\"(max-width: 768px) 100vw, (max-width: 1200px) 70vw, 900px\",\"alt\":\"Matomo Dashboard\",\"src\":{\"src\":\"/_next/static/media/matomo.82dec70c.png\",\"height\"
254:844,\"width\":1368,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAElBMVEXw8fO1v9n39/f8/f2uudaksdEJ+1tCAAAAAnRSTlP+/"])</script>
254<script>self.__next_f.push([1,"EinvzwAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAkSURBVHicFcixDQAwCMCwNIH/X67YLPN2d2YGBS1IMW/yQHX+CTQAXRTeqqgAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":5},\"className\":\"rounded-lg\"}]}]\n5b:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"product-analytics-features-3\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#product-analytics-features-3\",\"className\":\"peer\",\"children\":\"Product analytics features\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n5c:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Funnels\"}],\" (paid plugin): Multi-step conversion funnels\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Cohorts\"}],\" (paid plugin): Group users by behavior and analyze over time\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Heatmaps\"}],\" (paid plugin): See where users click, scroll, and hover\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Session recordings\"}],\" (paid plugin): Watch recordings of user sessions\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"A/B testing\"}],\" (paid plugin): Run experiments on your site\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Custom events\"}],\": Track custom events and goals\"]}],\"\\n\"]}]\n5d:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"deployment-3\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#deployment-3\",\"className\":\"peer\",\"children\":\"Deployment\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n5e:[\"$\",\"p\",null,{\"children\":\"Matomo runs on PHP + MySQL/MariaDB. Deploy on any LAMP stack or use their Docker images. More complex than Docker-only tools because it requires a PHP environment and web server configuration.\"}]\n5f:[\"$\",\"p\",null,{\"children\":[\"Full details in our \",[\"$\",\"$La5\",null,{\"href\":\"/articles/self-hosted-web-analytics#matomo\",\"children\":\"open source web analytics comparison\"}],\".\"]}]\n60:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pricing-3\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pricing-3\",\"className\":\"peer\",\"children\":\"Pricing\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n61:[\"$\",\"p\",null,{\"children\":\"The core platform is free under GPL-3.0. Product analytics plugins are sold separately:\"}]\n62:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Funnels: €199/year\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Heatmaps + Session Recording: €249/year\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"A/B Testing: €199/year\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Cohorts: €79/year\"}],\"\\n\"]}]\n63:[\"$\",\"p\",null,{\"children\":\"These costs add up. A full product analytics setup on self-hosted Matomo can cost €500-700+/year in plugin licenses.\"}]\n64:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pros-3\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pros-3\",\"className\":\"peer\",\"children\":\"Pros\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n65:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Most mature self-hosted analytics platform (since 2007)\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Closest feature parity to Google Analytics\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Large plugin library\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Strong compliance track record\"}],\"\\n\"]}"])</script>
254<script>self.__next_f.push([1,"]\n66:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"cons-3\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#cons-3\",\"className\":\"peer\",\"children\":\"Cons\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n67:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Product analytics features are paid add-ons, not included in the core\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Plugin costs add up significantly\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"PHP stack requires more maintenance\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Not a native product analytics tool — it's web analytics with product features bolted on\"}],\"\\n\"]}]\n68:[\"$\",\"p\",null,{\"children\":[\"Compare with OpenPanel: \",[\"$\",\"$La5\",null,{\"href\":\"/compare/matomo-alternative\",\"children\":\"Matomo vs OpenPanel\"}]]}]\n69:[\"$\",\"hr\",null,{}]\n6a:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"mitzu\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#mitzu\",\"className\":\"peer\",\"children\":\"Mitzu\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n6b:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Best for: Data teams that want product analytics on top of their existing data warehouse\"}]}]\n6c:[\"$\",\"p\",null,{\"children\":[[\"$\",\"$La5\",null,{\"href\":\"https://www.mitzu.io/\",\"children\":\"Mitzu\"}],\" takes a different approach. Instead of ingesting data into its own database, it runs analytics queries directly on your existing data warehouse (BigQuery, Snowflake, Databricks, etc.). If you already have event data in a warehouse, Mitzu gives you product analytics without duplicating data.\"]}]\n6d:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"product-analytics-features-4\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#product-analytics-features-4\",\"className\":\"peer\",\"children\":\"Product analytics features\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n6e:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Funnels\"}],\": Conversion funnel analysis running on your warehouse\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Retention\"}],\": Cohort retention directly on warehouse data\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Segmentation\"}],\": Filter users by any property in your warehouse\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"User journeys\"}],\": Path analysis on warehouse data\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Revenue analytics\"}],\": Connect events to revenue data\"]}],\"\\n\"]}]\n6f:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"deployment-4\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#deployment-4\",\"className\":\"peer\",\"children\":\"Deployment\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n70:[\"$\",\"p\",null,{\"children\":\"Mitzu deploys as a web application that connects to your existing warehouse. Self-hosting is available but requires a paid license.\"}]\n71:[\"$\",\"p\",null,{\"children\":\"Requirements: An existing data warehouse (BigQuery, Snowflake, Databricks, ClickHouse, or PostgreSQL) with event data already flowing in.\"}]\n72:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pricing-4\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pricing-4\",\"className\""])</script>
254<script>self.__next_f.push([1,":\"peer\",\"children\":\"Pricing\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n73:[\"$\",\"p\",null,{\"children\":\"Self-hosting requires a paid license (pricing available on request). Cloud plans are also custom-priced. There is no free tier for self-hosting.\"}]\n74:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"pros-4\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#pros-4\",\"className\":\"peer\",\"children\":\"Pros\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n75:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"No data duplication — queries your existing warehouse\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Works with the data infrastructure you already have\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Strong for data teams who live in SQL and warehouses\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Good for organizations with complex data pipelines\"}],\"\\n\"]}]\n76:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"cons-4\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#cons-4\",\"className\":\"peer\",\"children\":\"Cons\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n77:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Requires an existing data warehouse with event data\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Self-hosting requires a paid license\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Not suitable for teams starting from scratch\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Smaller community and less documentation\"}],\"\\n\"]}]\n78:[\"$\",\"hr\",null,{}]\n79:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"self-hosted-product-analytics-vs-cloud-when-to-self-host\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#self-hosted-product-analytics-vs-cloud-when-to-self-host\",\"className\":\"peer\",\"children\":\"Self-hosted product analytics vs cloud: when to self-host\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n7a:[\"$\",\"p\",null,{\"children\":[\"The case for self-hosting product analytics is even stronger than for web analytics. Product analytics involves \",[\"$\",\"strong\",null,{\"children\":\"user-level data\"}],\" — individual users, their behaviors, their journeys through your product. This data is more sensitive than aggregate pageview counts.\"]}]\n7b:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"self-host-product-analytics-when\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#self-host-product-analytics-when\",\"className\":\"peer\",\"children\":\"Self-host product analytics when:\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n7c:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You handle sensitive user data.\"}],\" Healthcare (HIPAA), finance, or any industry where user behavior data is regulated. Self-hosting eliminates third-party data transfers entirely. See our \",[\"$\",\"$La5\",null,{\"href\":\"/articles/better-compliance-self-hosted-analytics\",\"children\":\"compliance guide\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You need user-level data control.\"}],\" Product analytics tracks individual users. Under GDPR, this is personal data. Self-hosting gives you full control ove"])</script>
254<script>self.__next_f.push([1,"r retention, deletion, and access.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You want cost predictability.\"}],\" Cloud product analytics pricing scales with events and identified users. At scale, this gets expensive fast. Self-hosting costs are your server costs.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You have data residency requirements.\"}],\" Some regulations require data to stay in specific geographic regions. Self-hosting on your own infrastructure solves this.\"]}],\"\\n\"]}]\n7d:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"use-cloud-when\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#use-cloud-when\",\"className\":\"peer\",\"children\":\"Use cloud when:\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n7e:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You're just getting started with product analytics.\"}],\" Cloud gets you insights faster. Self-host later when you've validated the tool fits your needs.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You don't have ops capacity.\"}],\" Product analytics tools with ClickHouse backends need some database knowledge to maintain.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"You need guaranteed uptime.\"}],\" If analytics downtime directly impacts product decisions, a managed service with SLAs may be worth the cost.\"]}],\"\\n\"]}]\n7f:[\"$\",\"p\",null,{\"children\":[\"With \",[\"$\",\"$La5\",null,{\"href\":\"/pricing\",\"children\":\"OpenPanel\"}],\", you can start on Cloud and migrate to self-hosting at any time. The features are identical in both versions.\"]}]\n80:[\"$\",\"hr\",null,{}]\n81:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"how-to-get-started\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#how-to-get-started\",\"className\":\"peer\",\"children\":\"How to get started\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n82:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"1-pick-a-server\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#1-pick-a-server\",\"className\":\"peer\",\"children\":\"1. Pick a server\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n83:[\"$\",\"p\",null,{\"children\":\"For self-hosted product analytics, you'll want slightly more resources than for basic web analytics since product analytics involves more complex queries (funnels, retention calculations).\"}]\n84:[\"$\",\"p\",null,{\"children\":\"Recommended starting point: 4 vCPU, 8 GB RAM, 80 GB SSD. This handles most small-to-medium products comfortably.\"}]\n85:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[\"$\",\"$La5\",null,{\"href\":\"https://hetzner.cloud/?ref=7Hq0H5mQh7tM\",\"children\":\"Hetzner\"}]}],\" — A CX31 (4 vCPU, 8 GB RAM) for around €8.50/month\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"DigitalOcean\"}],\" — Equivalent droplet for ~$48/month\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Vultr\"}],\" — Similar pricing to DigitalOcean\"]}],\"\\n\"]}]\n86:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"2-install-and-configure\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#2-install-and-configure\",\"className\":\"peer\",\"children\":\"2. Install and configure\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-h"])</script>
254<script>self.__next_f.push([1,"over:opacity-100\",\"aria-hidden\":true}]]}]\n87:[\"$\",\"p\",null,{\"children\":\"For OpenPanel:\"}]\n"])</script>
254<script>self.__next_f.push([1,"88:[\"$\",\"$La7\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$La8\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"git\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" clone\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -b\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" self-hosting\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://github.com/Openpanel-dev/openpanel\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" \u0026\u0026 \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"cd\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" openpanel/self-hosting\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" \u0026\u0026 \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"./setup\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"./start\"}]}]]}]}]}]\n"])</script>
254<script>self.__next_f.push([1,"89:[\"$\",\"p\",null,{\"children\":[\"The setup wizard walks you through domain configuration, database setup, SSL, and worker settings. Full guide: \",[\"$\",\"$La5\",null,{\"href\":\"/articles/how-to-self-host-openpanel\",\"children\":\"How to self-host OpenPanel\"}],\".\"]}]\n8a:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"3-instrument-your-product\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#3-instrument-your-product\",\"className\":\"peer\",\"children\":\"3. Instrument your product\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n8b:[\"$\",\"p\",null,{\"children\":\"Product analytics requires event tracking in your codebase. With OpenPanel, install the SDK for your framework:\"}]\n8c:[\"$\",\"$La7\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"$La8\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" @openpanel/nextjs\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},\"children\":\"# or @openpanel/react, @openpanel/vue, @openpanel/sdk\"}]}]]}]}]}]\n8d:[\"$\",\"p\",null,{\"children\":\"Then track events where they happen:\"}]\na9:T4dc,\u003csvg viewBox=\"0 0 24 24\"\u003e\u003cpath d=\"M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z\" fill=\"currentColor\" /\u003e\u003c/svg\u003e"])</script>
254<script>self.__next_f.push([1,"8e:[\"$\",\"$La7\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"$a9\",\"children\":[\"$\",\"$La8\",null,{\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\"import\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" { op } \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\"from\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" '@openpanel/nextjs'\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\";\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\"}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},\"children\":\"// Track a custom event\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"op.\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"track\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"(\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"'signup_completed'\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\", {\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"  plan: \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"'pro'\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"  source: \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"'landing_page'\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"});\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\"}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},\"children\":\"// Identify a user\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"op.\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"identify\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"({\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$Laa\",\"$Lab\",\"$Lac\"]}],\"\\n\",\"$Lad\",\"\\n\",\"$Lae\",\"\\n\",\"$Laf\"]}]}]}]\n"])</script>
254<script>self.__next_f.push([1,"8f:[\"$\",\"p\",null,{\"children\":[\"See the \",[\"$\",\"$La5\",null,{\"href\":\"/docs/get-started/install-openpanel\",\"children\":\"SDK documentation\"}],\" for your specific framework.\"]}]\n90:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"4-build-your-first-funnel\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#4-build-your-first-funnel\",\"className\":\"peer\",\"children\":\"4. Build your first funnel\"}],[\"$\",\"$La4\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$1a:props:children:1:props:iconNode\",\"className\":\"lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-hidden\":true}]]}]\n91:[\"$\",\"p\",null,{\"children\":[\"Once events are flowing, create your first conversion funnel. A common starting point: \",[\"$\",\"strong\",null,{\"children\":\"Visit landing page \u003e Sign up \u003e Complete onboarding \u003e First key action\"}],\". This immediately shows you where users drop off in your core flow.\"]}]\n92:[\"$\",\"hr\",null,{}]\n"])</script>
254<script>self.__next_f.push([1,"93:[\"$\",\"div\",null,{\"children\":[\"$\",\"$Lb0\",null,{\"className\":\"w-full max-w-screen-md self-center rounded-3xl border bg-background-dark [\u0026_button]:px-4 [\u0026_div.answer]:bg-background-light\",\"collapsible\":true,\"type\":\"single\",\"children\":[[\"$\",\"$Lb1\",null,{\"ref\":\"$undefined\",\"className\":\"border-b last:border-b-0 [\u0026_[role=region]]:px-4\",\"itemProp\":\"mainEntity\",\"itemScope\":true,\"itemType\":\"https://schema.org/Question\",\"value\":\"What is the best self-hosted product analytics tool?\",\"children\":[[\"$\",\"$Lb2\",null,{\"className\":\"flex not-prose\",\"children\":[\"$\",\"$Lb3\",null,{\"ref\":\"$undefined\",\"className\":\"group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [\u0026[data-state=open]\u003esvg]:rotate-180 cursor-pointer text-left\",\"itemProp\":\"name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],\"What is the best self-hosted product analytics tool?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"$Lb4\",null,{\"ref\":\"$undefined\",\"className\":\"overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground\",\"itemProp\":\"acceptedAnswer\",\"itemScope\":true,\"itemType\":\"https://schema.org/Answer\",\"children\":[\"$\",\"div\",null,{\"className\":\"pb-4 pt-0 [\u0026\u003e*:first-child]:mt-0 [\u0026\u003e*:last-child]:mb-0 prose\",\"children\":[\"$\",\"div\",null,{\"itemProp\":\"text\",\"children\":[\"$\",\"p\",null,{\"children\":\"For most teams, OpenPanel offers the best balance of product analytics features, ease of self-hosting, and cost. PostHog is more feature-rich (feature flags, A/B testing) but significantly more complex to self-host. Countly is best for mobile-first products.\"}]}]}]}]]}],[\"$\",\"$Lb1\",null,{\"ref\":\"$undefined\",\"className\":\"border-b last:border-b-0 [\u0026_[role=region]]:px-4\",\"itemProp\":\"mainEntity\",\"itemScope\":true,\"itemType\":\"https://schema.org/Question\",\"value\":\"Can I self-host Mixpanel or Amplitude?\",\"children\":[[\"$\",\"$Lb2\",null,{\"className\":\"flex not-prose\",\"children\":[\"$\",\"$Lb3\",null,{\"ref\":\"$undefined\",\"className\":\"group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [\u0026[data-state=open]\u003esvg]:rotate-180 cursor-pointer text-left\",\"itemProp\":\"name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],\"Can I self-host Mixpanel or Amplitude?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"$Lb4\",null,{\"ref\":\"$undefined\",\"className\":\"overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground\",\"itemProp\":\"acceptedA
254nswer\",\"itemScope\":true,\"itemType\":\"https://schema.org/Answer\",\"children\":[\"$\",\"div\",null,{\"className\":\"pb-4 pt-0 [\u0026\u003e*:first-child]:mt-0 [\u0026\u003e*:last-child]:mb-0 prose\",\"children\":[\"$\",\"div\",null,{\"itemProp\":\"text\",\"children\":[\"$\",\"p\",null,{\"children\":\"No. Mixpanel and Amplitude are cloud-only platforms with no self-hosting option. The closest self-hosted alternatives are OpenPanel (most similar to Mixpanel in product analytics features) and PostHog (broader feature set with more complexity).\"}]}]}]}]]}],\"$Lb5\",\"$Lb6\",\"$Lb7\",\"$Lb8\",\"$Lb9\"]}]}]\n"])</script>
254<script>self.__next_f.push([1,"94:[\"$\",\"aside\",null,{\"className\":\"pl-12 pb-12 gap-8 col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col group relative overflow-hidden rounded-3xl border bg-background p-6 gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],[[\"$\",\"span\",null,{\"className\":\"text-lg font-semibold\",\"children\":\"Table of contents\"}],[\"$\",\"ul\",null,{\"children\":[[\"$\",\"li\",\"#quick-comparison\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#quick-comparison\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Quick comparison\"}]]}]}],[\"$\",\"li\",\"#what-makes-product-analytics-different-from-web-analytics\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#what-makes-product-analytics-different-from-web-analytics\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"What makes product analytics different from web analytics\"}]]}]}],[\"$\",\"li\",\"#openpanel\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#openpanel\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"OpenPanel\"}]]}]}],[\"$\",\"li\",\"#product-analytics-features\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#product-analytics-features\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Product analytics features\"}]]}]}],[\"$\",\"li\",\"#deployment\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#deployment\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
254:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[\"$Lba\",\"$Lbb\",\"$undefined\"]}],\"$Lbc\"]}]}],\"$Lbd\",\"$Lbe\",\"$Lbf\",\"$Lc0\",\"$Lc1\",\"$Lc2\",\"$Lc3\",\"$Lc4\",\"$Lc5\",\"$Lc6\",\"$Lc7\",\"$Lc8\",\"$Lc9\",\"$Lca\",\"$Lcb\",\"$Lcc\",\"$Lcd\",\"$Lce\",\"$Lcf\",\"$Ld0\",\"$Ld1\",\"$Ld2\",\"$Ld3\",\"$Ld4\",\"$Ld5\",\"$Ld6\",\"$Ld7\",\"$Ld8\",\"$Ld9\",\"$Lda\",\"$Ldb\",\"$Ldc\",\"$Ldd\",\"$Lde\",\"$Ldf\"]}]]]}],\"$Le0\"]}]\n"])</script>
254<script>self.__next_f.push([1,"95:[\"$\",\"div\",null,{\"className\":\"my-16\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-2xl font-bold mb-8\",\"children\":\"Related articles\"}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\",\"children\":[[\"$\",\"$L16\",\"/articles/mixpanel-alternatives,/articles/mixpanel-alternatives\",{\"href\":\"/articles/mixpanel-alternatives\",\"className\":\"border rounded-lg overflow-hidden bg-background-light col hover:scale-105 transition-all duration-300 hover:shadow-lg hover:shadow-background-dark\",\"children\":[[\"$\",\"$Le1\",null,{\"src\":\"/content/cover-alternatives.jpg\",\"alt\":\"13 Best Product Analytics Tools in 2026 (Ranked \u0026 Compared)\",\"width\":323,\"height\":181,\"className\":\"w-full\"}],[\"$\",\"span\",null,{\"className\":\"p-4 col flex-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs mb-2\",\"children\":\"Comparison\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 mb-6\",\"children\":[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"13 Best Product Analytics Tools in 2026 (Ranked \u0026 Compared)\"}]}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground\",\"children\":\"OpenPanel Team · 2025-07-18\"}]]}]]}],[\"$\",\"$L16\",\"/articles/self-hosted-web-analytics,/articles/self-hosted-web-analytics\",{\"href\":\"/articles/self-hosted-web-analytics\",\"className\":\"border rounded-lg overflow-hidden bg-background-light col hover:scale-105 transition-all duration-300 hover:shadow-lg hover:shadow-background-dark\",\"children\":[[\"$\",\"$Le1\",null,{\"src\":\"/content/self-hosted-analytics.jpg\",\"alt\":\"Self-Hosted Web Analytics 2026 — Plausible vs Matomo vs Umami vs OpenPanel\",\"width\":323,\"height\":181,\"className\":\"w-full\"}],[\"$\",\"span\",null,{\"className\":\"p-4 col flex-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs mb-2\",\"children\":\"Comparison\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 mb-6\",\"children\":[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Self-Hosted Web Analytics 2026 — Plausible vs Matomo vs Umami vs OpenPanel\"}]}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground\",\"children\":\"OpenPanel Team · 2024-11-14\"}]]}]]}],[\"$\",\"$L16\",\"/articles/open-source-web-analytics,/articles/open-source-web-analytics\",{\"href\":\"/articles/open-source-web-analytics\",\"className\":\"border rounded-lg overflow-hidden bg-background-light col hover:scale-105 transition-all duration-300 hover:shadow-lg hover:shadow-background-dark\",\"children\":[[\"$\",\"$Le1\",null,{\"src\":\"/content/cover-best-web-analytics.jpg\",\"alt\":\"Open Source Analytics Tools: 2026 Survey of Privacy-First Options\",\"width\":323,\"height\":181,\"className\":\"w-full\"}],[\"$\",\"span\",null,{\"className\":\"p-4 col flex-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs mb-2\",\"children\":\"Comparison\"}],[\"$\",\"span\",null,{\"className\":\"flex-1 mb-6\",\"children\":[\"$\",\"h2\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Open Source Analytics Tools: 2026 Survey of Privacy-First Options\"}]}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground\",\"children\":\"OpenPanel Team · 2024-11-10\"}]]}]]}]]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"96:[\"$\",\"$Le2\",null,{}]\n"])</script>
254<script>self.__next_f.push([1,"97:[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[\"$\",\"section\",null,{\"className\":\"relative overflow-hidden border rounded-3xl py-16 px-4 md:px-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"size-px absolute left-12 bottom-12 rounded-full shadow-[0_0_250px_80px_var(--color-foreground)]\"}],[\"$\",\"div\",null,{\"className\":\"size-px absolute right-12 top-12 rounded-full shadow-[0_0_250px_80px_var(--color-foreground)]\"}],[\"$\",\"svg\",null,{\"width\":\"409\",\"height\":\"539\",\"viewBox\":\"0 0 409 539\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"text-foreground absolute left-0 bottom-0 -translate-x-1/2 translate-y-1/2 max-md:scale-50 opacity-50\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M222.146 483.444C332.361 429.581 378.043 296.569 324.18 186.354C270.317 76.1395 137.306 30.4572 27.0911 84.3201\",\"stroke\":\"url(#paint0_linear_552_3808)\",\"strokeWidth\":\"123.399\"}],[\"$\",\"defs\",null,{\"children\":[\"$\",\"linearGradient\",null,{\"id\":\"paint0_linear_552_3808\",\"x1\":\"324.18\",\"y1\":\"186.354\",\"x2\":\"161.365\",\"y2\":\"265.924\",\"gradientUnits\":\"userSpaceOnUse\",\"children\":[[\"$\",\"stop\",null,{\"stopColor\":\"currentColor\"}],[\"$\",\"stop\",null,{\"offset\":\"1\",\"stopColor\":\"currentColor\",\"stopOpacity\":\"0\"}]]}]}]]}],[\"$\",\"svg\",null,{\"width\":\"409\",\"height\":\"539\",\"viewBox\":\"0 0 409 539\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"text-foreground absolute right-0 top-0 translate-x-1/2 -translate-y-1/2 rotate-105 max-md:scale-50 scale-75 opacity-50\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M222.146 483.444C332.361 429.581 378.043 296.569 324.18 186.354C270.317 76.1395 137.306 30.4572 27.0911 84.3201\",\"stroke\":\"url(#paint0_linear_552_3808)\",\"strokeWidth\":\"123.399\"}],[\"$\",\"defs\",null,{\"children\":[\"$\",\"linearGradient\",null,{\"id\":\"paint0_linear_552_3808\",\"x1\":\"324.18\",\"y1\":\"186.354\",\"x2\":\"161.365\",\"y2\":\"265.924\",\"gradientUnits\":\"userSpaceOnUse\",\"children\":[[\"$\",\"stop\",null,{\"stopColor\":\"currentColor\"}],[\"$\",\"stop\",null,{\"offset\":\"1\",\"stopColor\":\"currentColor\",\"stopOpacity\":\"0\"}]]}]}]]}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 bg-linear-to-br from-foreground
254/5 via-transparent to-foreground/5\"}],[\"$\",\"div\",null,{\"className\":\"container relative z-10 col gap-6 center-center max-w-3xl\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-4xl md:text-4xl font-semibold text-center\",\"children\":[\"Ready to understand your users better?\",[\"$\",\"br\",null,{}],\"Start tracking in minutes\"]}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-center max-w-md\",\"children\":\"Join thousands of companies using OpenPanel. Free 30-day trial, no credit card required. Self-host for free or use our cloud.\"}],[\"$\",\"$L16\",null,{\"href\":\"https://dashboard.openpanel.dev/onboarding\",\"children\":[\"Start free trial\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right size-4 transition-transform group-hover:translate-x-1 group-hover:scale-125\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]],\"className\":\"hover:-translate-y-px inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 bg-foreground text-primary-foreground hover:bg-primary/90 h-12 px-8 group mt-4\",\"ref\":null}]]}]]}]}]\n"])</script>
254<script>self.__next_f.push([1,"98:[\"$\",\"li\",\"/features/mcp\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/mcp\",\"title\":\"MCP\",\"children\":\"MCP\"}]}]\n99:[\"$\",\"li\",\"/features/notifications\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/notifications\",\"title\":\"Notifications\",\"children\":\"Notifications\"}]}]\n9a:[\"$\",\"li\",\"/features/retention\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/retention\",\"title\":\"Retention\",\"children\":\"Retention\"}]}]\n9b:[\"$\",\"li\",\"/features/revenue-tracking\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/revenue-tracking\",\"title\":\"Revenue tracking\",\"children\":\"Revenue tracking\"}]}]\n9c:[\"$\",\"li\",\"/features/session-replay\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/session-replay\",\"title\":\"Session replay\",\"children\":\"Session replay\"}]}]\n9d:[\"$\",\"li\",\"/features/session-tracking\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/session-tracking\",\"title\":\"Session tracking\",\"children\":\"Session tracking\"}]}]\n9e:[\"$\",\"li\",\"/features/share-and-collaborate\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/share-and-collaborate\",\"title\":\"Share \u0026 Collaborate\",\"children\":\"Share \u0026 Collaborate\"}]}]\n9f:[\"$\",\"li\",\"/features/web-analytics\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/features/web-analytics\",\"t
254itle\":\"Web analytics\",\"children\":\"Web analytics\"}]}]\n"])</script>
254<script>self.__next_f.push([1,"a0:[\"$\",\"div\",null,{\"className\":\"col gap-3\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-medium\",\"children\":\"Resources\"}],[\"$\",\"ul\",null,{\"className\":\"col gap-2 text-muted-foreground\",\"children\":[[\"$\",\"li\",\"/pricing\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/pricing\",\"title\":\"Pricing\",\"children\":\"Pricing\"}]}],[\"$\",\"li\",\"/docs\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/docs\",\"title\":\"Documentation\",\"children\":\"Documentation\"}]}],[\"$\",\"li\",\"/docs/sdks\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/docs/sdks\",\"title\":\"SDKs\",\"children\":\"SDKs\"}]}],[\"$\",\"li\",\"/guides\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/guides\",\"title\":\"Guides\",\"children\":\"Guides\"}]}],[\"$\",\"li\",\"/articles\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles\",\"title\":\"Articles\",\"children\":\"Articles\"}]}],[\"$\",\"li\",\"/compare\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare\",\"title\":\"Compare\",\"children\":\"Compare\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"h-5\"}],[\"$\",\"h3\",null,{\"className\":\"font-medium\",\"children\":\"Solutions\"}],[\"$\",\"ul\",null,{\"className\":\"col gap-2 text-muted-foreground\",\"children\":[[\"$\",\"li\",\"/for\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for\",\"title\":\"All use cases\",\"children\":\"All use cases\"}]}],[\"$\",\"li\",\"/for/agencies\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/agencies\",\"title\":\"Analytics for agencies\",\"children\":\"Analytics for agencies\"}]}],[\"$\",\"li\",\"/for/developers\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/developers\",\"title\":\"Analytics for developers\",\"children\":\"Analytics for developers\"}]}],[\"$\",\"li\",\"/for/ecommerce\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/ecommerce\",\"title\":\"Ecommerce analytics that survives cookie consent\",\"children\":\"Ecommerce analytics that survives cookie consent\"}]}],[\"$\",\"li\",\"/for/gdpr-compliant\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/gdpr-compliant\",\"title\":\"GDPR-compliant analytics that doesn't need a consent banner\",\"children\":\"GDPR-compliant analytics that doesn't need a consent banner\"}]}],[\"$\",\"li\",\"/for/nextjs\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/nextjs\",\"title\":\"Analytics built for Next.js\",\"children\":\"Analytics built for Next.js\"}]}],[\"$\",\"li\",\"/for/saas\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/saas\",\"title\":\"Product analytics for SaaS teams\",\"children\":\"Product analytics for SaaS teams\"}]}],[\"$\",\"li\",\"/for/shopify\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/shopify\",\"title\":\"Shopify analytics that actually works\",\"children\":\"Shopify analytics that actually works\"}]}],[\"$\",\"li\",\"/for/startups\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/startups\",\"t
254itle\":\"Analytics for startups\",\"children\":\"Analytics for startups\"}]}],[\"$\",\"li\",\"/for/wordpress\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/for/wordpress\",\"title\":\"WordPress analytics without the cookie banner\",\"children\":\"WordPress analytics without the cookie banner\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"h-5\"}],[\"$\",\"h3\",null,{\"className\":\"font-medium\",\"children\":\"Tools\"}],[\"$\",\"ul\",null,{\"className\":\"col gap-2 text-muted-foreground\",\"children\":[[\"$\",\"li\",\"/tools/url-checker\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/tools/url-checker\",\"title\":\"URL Checker\",\"children\":\"URL Checker\"}]}],\"$Le3\"]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"a1:[\"$\",\"div\",null,{\"className\":\"col gap-3\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-medium\",\"children\":\"Compare\"}],[\"$\",\"ul\",null,{\"className\":\"col gap-2 text-muted-foreground\",\"children\":[[\"$\",\"li\",\"/compare/ackee-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/ackee-alternative\",\"title\":\"Best Ackee Alternative\",\"children\":\"Best Ackee Alternative\"}]}],[\"$\",\"li\",\"/compare/amplitude-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/amplitude-alternative\",\"title\":\"Best Amplitude Alternatives\",\"children\":\"Best Amplitude Alternatives\"}]}],[\"$\",\"li\",\"/compare/appsflyer-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/appsflyer-alternative\",\"title\":\"Best AppsFlyer Alternative\",\"children\":\"Best AppsFlyer Alternative\"}]}],[\"$\",\"li\",\"/compare/cabin-analytics-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/cabin-analytics-alternative\",\"title\":\"Best Cabin Analytics Alternative\",\"children\":\"Best Cabin Analytics Alternative\"}]}],[\"$\",\"li\",\"/compare/countly-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/countly-alternative\",\"title\":\"Best Countly Alternative\",\"children\":\"Best Countly Alternative\"}]}],[\"$\",\"li\",\"/compare/crazy-egg-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/crazy-egg-alternative\",\"title\":\"Best Crazy Egg Alternative\",\"children\":\"Best Crazy Egg Alternative\"}]}],[\"$\",\"li\",\"/compare/fathom-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/fathom-alternative\",\"title\":\"Best Fathom Alternative\",\"children\":\"Best Fathom Alternative\"}]}],[\"$\",\"li\",\"/compare/fullstory-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/fullstory-alternative\",\"title\":\"Best FullStory Alternative\",\"children\":\"Best FullStory Alternative\"}]}],[\"$\",\"li\",\"/compare/funnelio-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/funnelio-alternative\",\"title\":\"Best Funnel.io Alternative\",\"children\":\"Best Funnel.io Alternative\"}]}],[\"$\",\"li\",\"/compare/goatcounter-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/goatcounter-alternative\",\"title\":\"Best GoatCounter Alternative\",\"children\":\"Best GoatCounter Alternative\"}]}],[\"$\",\"li\",\"/compare/google-analytics-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/google-analytics-alternative\",\"title\":\"The Open Source Google Analytics Alternative\",\"children\":\"The Open Source Google Analytics Alternative\"}]}],[\"$\",\"li\",\"/compare/heap-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/heap-alternative\",\"title\":\"Best Heap Alternative\",\"children\":\"Best Heap Alternative\"}]}],[\"$\",\"li\",\"/compare/matomo-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/matomo-alternative\",\"title\":\"Be
254st Matomo Alternative\",\"children\":\"Best Matomo Alternative\"}]}],[\"$\",\"li\",\"/compare/microsoft-clarity-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/microsoft-clarity-alternative\",\"title\":\"Microsoft Clarity Alternative\",\"children\":\"Microsoft Clarity Alternative\"}]}],[\"$\",\"li\",\"/compare/mixpanel-alternative\",{\"className\":\"truncate\",\"children\":\"$Le4\"}],\"$Le5\",\"$Le6\",\"$Le7\",\"$Le8\",\"$Le9\",\"$Lea\",\"$Leb\"]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"a2:[\"$\",\"div\",null,{\"className\":\"col gap-3\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-medium\",\"children\":\"Latest articles\"}],[\"$\",\"ul\",null,{\"className\":\"col gap-2 text-muted-foreground\",\"children\":[[\"$\",\"li\",\"/articles/cohort-analysis\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/cohort-analysis\",\"title\":\"What Is Cohort Analysis? A Practical Guide to Retention \u0026 Churn\",\"children\":\"What Is Cohort Analysis? A Practical Guide to Retention \u0026 Churn\"}]}],[\"$\",\"li\",\"/articles/self-hosted-product-analytics\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/self-hosted-product-analytics\",\"title\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)\",\"children\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026)\"}]}],[\"$\",\"li\",\"/articles/mixpanel-pricing\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/mixpanel-pricing\",\"title\":\"Is Mixpanel Worth It in 2026? Real Costs at 1M, 10M \u0026 20M Events\",\"children\":\"Is Mixpanel Worth It in 2026? Real Costs at 1M, 10M \u0026 20M Events\"}]}],[\"$\",\"li\",\"/articles/bullmq-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/bullmq-alternative\",\"title\":\"BullMQ Alternative: GroupMQ for Sequential Job Processing Without Race Conditions\",\"children\":\"BullMQ Alternative: GroupMQ for Sequential Job Processing Without Race Conditions\"}]}],[\"$\",\"li\",\"/articles/read-after-write-concistency\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/read-after-write-concistency\",\"title\":\"Solving read-after-write consistency with replicas\",\"children\":\"Solving read-after-write consistency with replicas\"}]}],[\"$\",\"li\",\"/articles/how-to-export-data-from-umami\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/how-to-export-data-from-umami\",\"title\":\"How to Export Data from Umami Analytics\",\"children\":\"How to Export Data from Umami Analytics\"}]}],[\"$\",\"li\",\"/articles/mixpanel-alternatives\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/mixpanel-alternatives\",\"title\":\"13 Best Product Analytics Tools in 2026 (Ranked \u0026 Compared)\",\"children\":\"13 Best Product Analytics Tools in 2026 (Ranked \u0026 Compared)\"}]}],[\"$\",\"li\",\"/articles/cookieless-analytics\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/cookieless-analytics\",\"t
254itle\":\"Cookieless Analytics: Best Tools \u0026 How They Work in 2026\",\"children\":\"Cookieless Analytics: Best Tools \u0026 How They Work in 2026\"}]}],[\"$\",\"li\",\"/articles/how-to-create-a-funnel\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/how-to-create-a-funnel\",\"title\":\"What Is a Conversion Funnel? How to Build \u0026 Optimize One\",\"children\":\"What Is a Conversion Funnel? How to Build \u0026 Optimize One\"}]}],[\"$\",\"li\",\"/articles/how-to-self-host-openpanel\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/articles/how-to-self-host-openpanel\",\"title\":\"How to Self-Host OpenPanel Analytics Platform\",\"children\":\"How to Self-Host OpenPanel Analytics Platform\"}]}]]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"ec:T4ef,M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"])</script>
254<script>self.__next_f.push([1,"a3:[\"$\",\"div\",null,{\"className\":\"col relative mt-16 gap-8 border-t bg-background/70 pt-8 pb-32 text-muted-foreground\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col md:row container justify-between gap-8\",\"children\":[[\"$\",\"div\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://openpanel.dev\",\"style\":{\"display\":\"inline-block\",\"overflow\":\"hidden\",\"borderRadius\":\"8px\",\"width\":\"100%\",\"height\":\"48px\"},\"children\":[\"$\",\"iframe\",null,{\"height\":\"48\",\"src\":\"https://dashboard.openpanel.dev/widget/badge?shareId=ancygl\u0026color=%230B0B0B\",\"style\":{\"border\":\"none\",\"overflow\":\"hidden\",\"pointerEvents\":\"none\"},\"title\":\"OpenPanel Analytics Badge\",\"width\":\"100%\"}]}]}],[\"$\",\"div\",null,{\"className\":\"col gap-4 md:items-end\",\"children\":[\"$\",\"div\",null,{\"className\":\"row gap-4 [\u0026_svg]:size-6\",\"children\":[[\"$\",\"$L16\",null,{\"href\":\"https://github.com/Openpanel-dev/openpanel\",\"rel\":\"noreferrer noopener nofollow\",\"title\":\"Go to GitHub\",\"children\":[\"$\",\"svg\",null,{\"className\":\"fill-current\",\"role\":\"img\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[[\"$\",\"title\",null,{\"children\":\"GitHub\"}],[\"$\",\"path\",null,{\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}]]}]}],[\"$\",\"$L16\",null,{\"href\":\"https://x.com/openpaneldev\",\"rel\":\"noreferrer noopener nofollow\",\"title\":\"Go to X\",\"children\":[\"$\",\"svg\",null,{\"className\":\"fill-current\",\"role\":\"img\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[[\"$\",\"title\",null,{\"children\":\"X\"}],[\"$\",\"path\",null,{\"d\":\"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H3.298Z\"}]]}]}],[\"$\",\"$L16\",null,{\"href\":\"https://go.openpanel.dev/discord\",\"rel\":\"noreferrer noopener nofollow\",\"title\":\"Join Discord\",\"children\":[\"$\",\"svg\",null,{\"className\":\"fill-current\",\"role\":\"img\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[[\"$\",\"title\",null,{\"children\":\"Discord\"}],[\"$\",\"path\",null,{\"d\":\"$ec\"}]]}]}],\"$Led\",\"$Lee\"]}]}]]}],\"$Lef\"]}]\n"])</script>
254<script>self.__next_f.push([1,"aa:[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"  profileId: \"}]\nab:[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"'user_123'\"}]\nac:[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\",\"}]\nad:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"  email: \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"'[email protected]'\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\",\"}]]}]\nae:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"  plan: \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"'pro'\"}]]}]\naf:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"});\"}]}]\n"])</script>
254<script>self.__next_f.push([1,"b5:[\"$\",\"$Lb1\",null,{\"ref\":\"$undefined\",\"className\":\"border-b last:border-b-0 [\u0026_[role=region]]:px-4\",\"itemProp\":\"mainEntity\",\"itemScope\":true,\"itemType\":\"https://schema.org/Question\",\"value\":\"What is the difference between product analytics and web analytics?\",\"children\":[[\"$\",\"$Lb2\",null,{\"className\":\"flex not-prose\",\"children\":[\"$\",\"$Lb3\",null,{\"ref\":\"$undefined\",\"className\":\"group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [\u0026[data-state=open]\u003esvg]:rotate-180 cursor-pointer text-left\",\"itemProp\":\"name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],\"What is the difference between product analytics and web analytics?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"$Lb4\",null,{\"ref\":\"$undefined\",\"className\":\"overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground\",\"itemProp\":\"acceptedAnswer\",\"itemScope\":true,\"itemType\":\"https://schema.org/Answer\",\"children\":[\"$\",\"div\",null,{\"className\":\"pb-4 pt-0 [\u0026\u003e*:first-child]:mt-0 [\u0026\u003e*:last-child]:mb-0 prose\",\"children\":[\"$\",\"div\",null,{\"itemProp\":\"text\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Web analytics tracks website traffic — pageviews, referrals, devices, and geographic data. Product analytics tracks user behavior — events, funnels, retention, cohorts, and user journeys. Most self-hosted tools only offer web analytics. OpenPanel, PostHog, and Countly offer both. See our \",[\"$\",\"$La5\",null,{\"href\":\"/articles/self-hosted-web-analytics\",\"children\":\"self-hosted web analytics comparison\"}],\" for web-focused tools.\"]}]}]}]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"b6:[\"$\",\"$Lb1\",null,{\"ref\":\"$undefined\",\"className\":\"border-b last:border-b-0 [\u0026_[role=region]]:px-4\",\"itemProp\":\"mainEntity\",\"itemScope\":true,\"itemType\":\"https://schema.org/Question\",\"value\":\"How much does self-hosted product analytics cost?\",\"children\":[[\"$\",\"$Lb2\",null,{\"className\":\"flex not-prose\",\"children\":[\"$\",\"$Lb3\",null,{\"ref\":\"$undefined\",\"className\":\"group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [\u0026[data-state=open]\u003esvg]:rotate-180 cursor-pointer text-left\",\"itemProp\":\"name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],\"How much does self-hosted product analytics cost?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"$Lb4\",null,{\"ref\":\"$undefined\",\"className\":\"overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground\",\"itemProp\":\"acceptedAnswer\",\"itemScope\":true,\"itemType\":\"https://schema.org/Answer\",\"children\":[\"$\",\"div\",null,{\"className\":\"pb-4 pt-0 [\u0026\u003e*:first-child]:mt-0 [\u0026\u003e*:last-child]:mb-0 prose\",\"children\":[\"$\",\"div\",null,{\"itemProp\":\"text\",\"children\":[\"$\",\"p\",null,{\"children\":\"The software is free for OpenPanel (AGPL-3.0) and PostHog (MIT). Your cost is server infrastructure — typically $10-50/month for a VPS, depending on traffic. Countly's Enterprise features and Matomo's product analytics plugins require paid licenses on top of server costs.\"}]}]}]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"b7:[\"$\",\"$Lb1\",null,{\"ref\":\"$undefined\",\"className\":\"border-b last:border-b-0 [\u0026_[role=region]]:px-4\",\"itemProp\":\"mainEntity\",\"itemScope\":true,\"itemType\":\"https://schema.org/Question\",\"value\":\"Do I need separate tools for web and product analytics?\",\"children\":[[\"$\",\"$Lb2\",null,{\"className\":\"flex not-prose\",\"children\":[\"$\",\"$Lb3\",null,{\"ref\":\"$undefined\",\"className\":\"group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [\u0026[data-state=open]\u003esvg]:rotate-180 cursor-pointer text-left\",\"itemProp\":\"name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],\"Do I need separate tools for web and product analytics?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"$Lb4\",null,{\"ref\":\"$undefined\",\"className\":\"overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground\",\"itemProp\":\"acceptedAnswer\",\"itemScope\":true,\"itemType\":\"https://schema.org/Answer\",\"children\":[\"$\",\"div\",null,{\"className\":\"pb-4 pt-0 [\u0026\u003e*:first-child]:mt-0 [\u0026\u003e*:last-child]:mb-0 prose\",\"children\":[\"$\",\"div\",null,{\"itemProp\":\"text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Not necessarily. OpenPanel and PostHog both combine web analytics and product analytics in one platform. This means a single tracking snippet, one dashboard, and unified user profiles. If you only need web analytics, simpler tools like Plausible or Umami are better suited.\"}]}]}]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"b8:[\"$\",\"$Lb1\",null,{\"ref\":\"$undefined\",\"className\":\"border-b last:border-b-0 [\u0026_[role=region]]:px-4\",\"itemProp\":\"mainEntity\",\"itemScope\":true,\"itemType\":\"https://schema.org/Question\",\"value\":\"Is self-hosted product analytics GDPR compliant?\",\"children\":[[\"$\",\"$Lb2\",null,{\"className\":\"flex not-prose\",\"children\":[\"$\",\"$Lb3\",null,{\"ref\":\"$undefined\",\"className\":\"group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [\u0026[data-state=open]\u003esvg]:rotate-180 cursor-pointer text-left\",\"itemProp\":\"name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],\"Is self-hosted product analytics GDPR compliant?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"$Lb4\",null,{\"ref\":\"$undefined\",\"className\":\"overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground\",\"itemProp\":\"acceptedAnswer\",\"itemScope\":true,\"itemType\":\"https://schema.org/Answer\",\"children\":[\"$\",\"div\",null,{\"className\":\"pb-4 pt-0 [\u0026\u003e*:first-child]:mt-0 [\u0026\u003e*:last-child]:mb-0 prose\",\"children\":[\"$\",\"div\",null,{\"itemProp\":\"text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Self-hosting is one of the strongest approaches for GDPR compliance because user data never leaves your infrastructure. Combined with cookieless tracking (available in OpenPanel), you can run product analytics without consent banners and with full control over data retention and deletion.\"}]}]}]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"b9:[\"$\",\"$Lb1\",null,{\"ref\":\"$undefined\",\"className\":\"border-b last:border-b-0 [\u0026_[role=region]]:px-4\",\"itemProp\":\"mainEntity\",\"itemScope\":true,\"itemType\":\"https://schema.org/Question\",\"value\":\"Can I start with cloud and migrate to self-hosting later?\",\"children\":[[\"$\",\"$Lb2\",null,{\"className\":\"flex not-prose\",\"children\":[\"$\",\"$Lb3\",null,{\"ref\":\"$undefined\",\"className\":\"group relative overflow-hidden flex flex-1 items-center justify-between py-4 font-medium transition-all [\u0026[data-state=open]\u003esvg]:rotate-180 cursor-pointer text-left\",\"itemProp\":\"name\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],\"Can I start with cloud and migrate to self-hosting later?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"$Lb4\",null,{\"ref\":\"$undefined\",\"className\":\"overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down text-muted-foreground\",\"itemProp\":\"acceptedAnswer\",\"itemScope\":true,\"itemType\":\"https://schema.org/Answer\",\"children\":[\"$\",\"div\",null,{\"className\":\"pb-4 pt-0 [\u0026\u003e*:first-child]:mt-0 [\u0026\u003e*:last-child]:mb-0 prose\",\"children\":[\"$\",\"div\",null,{\"itemProp\":\"text\",\"children\":[\"$\",\"p\",null,{\"children\":\"With OpenPanel, yes. The cloud and self-hosted versions are identical in features. You can start with Cloud to validate the tool and migrate to self-hosting when you're ready. PostHog also supports both, though there are some feature differences between their cloud and self-hosted versions.\"}]}]}]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"ba:[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}]\nbb:[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}]\nbc:[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Deployment\"}]\nbd:[\"$\",\"li\",\"#pricing\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pricing\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pricing\"}]]}]}]\nbe:[\"$\",\"li\",\"#pros\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pros\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pros\"}]]}]}]\nbf:[\"$\",\"li\",\"#cons\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#cons\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Cons\"}]]}]}]\nc0:[\"$\",\"li\",\"#posthog\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#posthog\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"PostHog\"}]]}]}]\nc1:[\"$\",\"li\",\"#product-analytics-features-1\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#product-analytics-features-1\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
254:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Product analytics features\"}]]}]}]\nc2"])</script>
254<script>self.__next_f.push([1,":[\"$\",\"li\",\"#deployment-1\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#deployment-1\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Deployment\"}]]}]}]\nc3:[\"$\",\"li\",\"#pricing-1\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pricing-1\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pricing\"}]]}]}]\nc4:[\"$\",\"li\",\"#pros-1\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pros-1\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pros\"}]]}]}]\nc5:[\"$\",\"li\",\"#cons-1\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#cons-1\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Cons\"}]]}]}]\nc6:[\"$\",\"li\",\"#countly\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#countly\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Countly\"}]]}]}]\nc7:[\"$\",\"li\",\"#product-analytics-features-2\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#product-analytics-features-2\",\"className\":\"hover:underline row gap-2 items"])</script>
254<script>self.__next_f.push([1,"-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Product analytics features\"}]]}]}]\nc8:[\"$\",\"li\",\"#deployment-2\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#deployment-2\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Deployment\"}]]}]}]\nc9:[\"$\",\"li\",\"#pricing-2\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pricing-2\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pricing\"}]]}]}]\nca:[\"$\",\"li\",\"#pros-2\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pros-2\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pros\"}]]}]}]\ncb:[\"$\",\"li\",\"#cons-2\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#cons-2\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Cons\"}]]}]}]\ncc:[\"$\",\"li\",\"#matomo\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#matomo\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
254:24,\"viewBox\":\"0 0 24 24\",\"fill\":\""])</script>
254<script>self.__next_f.push([1,"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Matomo\"}]]}]}]\ncd:[\"$\",\"li\",\"#product-analytics-features-3\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#product-analytics-features-3\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Product analytics features\"}]]}]}]\nce:[\"$\",\"li\",\"#deployment-3\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#deployment-3\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Deployment\"}]]}]}]\ncf:[\"$\",\"li\",\"#pricing-3\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pricing-3\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pricing\"}]]}]}]\nd0:[\"$\",\"li\",\"#pros-3\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pros-3\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pros\"}]]}]}]\nd1:[\"$\",\"li\",\"#cons-3\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#cons-3\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
254:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-"])</script>
254<script>self.__next_f.push([1,"0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Cons\"}]]}]}]\nd2:[\"$\",\"li\",\"#mitzu\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#mitzu\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Mitzu\"}]]}]}]\nd3:[\"$\",\"li\",\"#product-analytics-features-4\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#product-analytics-features-4\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Product analytics features\"}]]}]}]\nd4:[\"$\",\"li\",\"#deployment-4\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#deployment-4\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Deployment\"}]]}]}]\nd5:[\"$\",\"li\",\"#pricing-4\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pricing-4\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pricing\"}]]}]}]\nd6:[\"$\",\"li\",\"#pros-4\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#pros-4\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
254:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}]"])</script>
254<script>self.__next_f.push([1,",[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Pros\"}]]}]}]\nd7:[\"$\",\"li\",\"#cons-4\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#cons-4\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Cons\"}]]}]}]\nd8:[\"$\",\"li\",\"#self-hosted-product-analytics-vs-cloud-when-to-self-host\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#self-hosted-product-analytics-vs-cloud-when-to-self-host\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Self-hosted product analytics vs cloud: when to self-host\"}]]}]}]\nd9:[\"$\",\"li\",\"#self-host-product-analytics-when\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#self-host-product-analytics-when\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Self-host product analytics when:\"}]]}]}]\nda:[\"$\",\"li\",\"#use-cloud-when\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#use-cloud-when\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"Use cloud when:\"}]]}]}]\ndb:[\"$\",\"li\",\"#how-to-get-started\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"0px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#how-to-get-started\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
254:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"ch"])</script>
254<script>self.__next_f.push([1,"ildren\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"How to get started\"}]]}]}]\ndc:[\"$\",\"li\",\"#1-pick-a-server\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#1-pick-a-server\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"1. Pick a server\"}]]}]}]\ndd:[\"$\",\"li\",\"#2-install-and-configure\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#2-install-and-configure\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"2. Install and configure\"}]]}]}]\nde:[\"$\",\"li\",\"#3-instrument-your-product\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#3-instrument-your-product\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"3. Instrument your product\"}]]}]}]\ndf:[\"$\",\"li\",\"#4-build-your-first-funnel\",{\"className\":\"py-1\",\"style\":{\"marginLeft\":\"16px\"},\"children\":[\"$\",\"$L16\",null,{\"href\":\"#4-build-your-first-funnel\",\"className\":\"hover:underline row gap-2 items-center group/toc-item\",\"title\":\"[object Object]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right shrink-0 w-4 h-4 opacity-30 group-hover/toc-item:opacity-100 transition-opacity\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"truncate text-sm\",\"children\":\"4. Build your first funnel\"}]]}]}]\n"])</script>
254<script>self.__next_f.push([1,"e0:[\"$\",\"div\",null,{\"className\":\"col group relative overflow-hidden rounded-3xl border bg-background p-6 gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-0 bg-linear-to-br opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100 dark:from-blue-500/20 dark:via-transparent dark:to-emerald-500/10 light:from-blue-800/20 light:via-transparent light:to-emerald-900/10\"}],[[\"$\",\"span\",null,{\"className\":\"text-lg font-semibold\",\"children\":\"Try OpenPanel\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-sm mb-4\",\"children\":\"Give it a spin for free. No credit card required.\"}],[\"$\",\"$L16\",null,{\"href\":\"https://dashboard.openpanel.dev/onboarding\",\"children\":[\"Start free trial\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right size-4 transition-transform group-hover:translate-x-1 group-hover:scale-125\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]],\"className\":\"hover:-translate-y-px inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 bg-foreground text-primary-foreground hover:bg-primary/90 h-12 px-8 group\",\"ref\":null}]]]}]\n"])</script>
254<script>self.__next_f.push([1,"e3:[\"$\",\"li\",\"/tools/ip-lookup\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/tools/ip-lookup\",\"title\":\"IP Lookup\",\"children\":\"IP Lookup\"}]}]\ne4:[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/mixpanel-alternative\",\"title\":\"OpenPanel vs Mixpanel\",\"children\":\"OpenPanel vs Mixpanel\"}]\ne5:[\"$\",\"li\",\"/compare/mouseflow-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/mouseflow-alternative\",\"title\":\"Best Mouseflow Alternative\",\"children\":\"Best Mouseflow Alternative\"}]}]\ne6:[\"$\",\"li\",\"/compare/pirsch-analytics-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/pirsch-analytics-alternative\",\"title\":\"Best Pirsch Analytics Alternative\",\"children\":\"Best Pirsch Analytics Alternative\"}]}]\ne7:[\"$\",\"li\",\"/compare/plausible-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/plausible-alternative\",\"title\":\"Best Plausible Alternative\",\"children\":\"Best Plausible Alternative\"}]}]\ne8:[\"$\",\"li\",\"/compare/posthog-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/posthog-alternative\",\"title\":\"Best PostHog Alternative\",\"children\":\"Best PostHog Alternative\"}]}]\ne9:[\"$\",\"li\",\"/compare/simple-analytics-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/simple-analytics-alternative\",\"title\":\"Best Simple Analytics Alternative\",\"children\":\"Best Simple Analytics Alternative\"}]}]\nea:[\"$\",\"li\",\"/compare/smartlook-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/smartlook-alternative\",\"title\":\"Best Smartlook Alternative\",\"children\":\"Best Smartlook Alternative\"}]}]\neb:[\"$\",\"li\",\"/compare/umami-alternative\",{\"className\":\"truncate\",\"children\":[\"$\",\"$L16\",null,{\"className\":\"transition-colors hover:text-foreground\",\"href\":\"/compare/umami-alternative\",\"title\":\"Best Umami Alternative\",\"children\":\"Best Umami Alternative\"}]}]\ned:[\"$\",\"$L16\",null,{\"href\":\"mailto:[email protected]\",\"rel\":\"noreferrer noopener nofollow\",\"title\":\"Send an email\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-mail size-6\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"132q7q\",{\"d\":\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"}],[\"$\",\"rect\",\"izxlao\",{\"x\":\"2\",\"y\":\"4\",\"width\":\"20\",\"height\":\"16\",\"rx\":\"2\"}],\"$undefined\"]}]}]\nee:[\"$\",\"a\",null,{\"className\":\"row items-center gap-2 rounded-full border px-2 py-1 max-md:ml-auto max-md:self-start\",\"href\":\"https://status.openpanel.dev\",\"rel\":\"noreferrer noopener nofollow\",\"target\":\"_blank\",\"children\":[[\"$\",\"span\",null,{\"children\":\"Operational\"}],[\"$\",\"div\",null,{\"className\":\"size-2 rounded-full bg-emerald-500\"}]]}]\nef:[\"$\",\"div\",null,{\"className\":\"md:row container flex flex-col-reverse justify-between gap-8\",\"children\":[[\"$\",\"div\",null,{\"children\":[\"Copyright © \",2026,\" OpenPanel. All rights reserved.\"]}],[\"$\",\"div\",null,{\"className\":\"col lg:row gap-2 md:gap-4\",\"children\":[[\"$\",\"$L16\",null,{\"href\":\"/sitemap.xml\",\"children\":\"Sitemap\"}],[\"$\",\"$L16\",null,{\"href\":\"/privacy\",\"children\":\"Privacy Policy\"}],[\"$\",\"$L16\",null,{\"href\":\"/terms\",\"children\":\"Terms of Service\"}],[\"$\",\"$L16\",null,{\"href\":\"/dpa\",\"children\":\"DPA\"}],[\"$\",\"$L16\",null,{\"href\":\"/cookies\",\"children\":\"Cookie Policy (just kidding)\"}]]}]]}]\n"])</script>
254<script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, user-scalable=yes\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#fafafa\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#171717\"}]]\n"])</script>
254<script>self.__next_f.push([1,"f0:I[94757,[],\"IconMark\"]\n"])</script>
254<script>self.__next_f.push([1,"14:[[\"$\",\"title\",\"0\",{\"children\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/site.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://openpanel.dev/articles/self-hosted-product-analytics\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://openpanel.dev/articles/self-hosted-product-analytics\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:site_name\",\"content\":\"OpenPanel Analytics\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"http://localhost:3000/og/articles/self-hosted-product-analytics\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:alt\",\"content\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Self-Hosted Mixpanel Alternative: 5 Product Analytics Tools to Replace It (2026) | OpenPanel Analytics\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Replace Mixpanel, Amplitude, or Heap with a self-hosted product analytics tool. OpenPanel, PostHog, Countly, Matomo, and Mitzu compared — deployment, features, and total cost of ownership.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:3000/og/articles/self-hosted-product-analytics\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"18\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"$Lf0\",\"19\",{}]]\n"])</script>
254<script>self.__next_f.push([1,"d:null\n"])</script>
254<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"ea3799322f4a4a7e93428072a5164318","r":1,"spa":2}' crossorigin="anonymous"></script>
254
255</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.