improve(public): list all prices instead of slider + rewrite article

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-06-26 22:41:09 +02:00
parent 77cd74816c
commit f96c9b4769
21 changed files with 803 additions and 129 deletions

View File

@@ -160,13 +160,15 @@ export default async function Page({
</div>
</div>
<div className="relative">
<div className="bg-gradient-to-b from-background to-transparent">
<div className="float-right pl-12 pb-12 hidden md:block article:hidden">
<div className="grid grid-cols-1 md:grid-cols-[1fr_300px] gap-0">
<div>
<div className="prose [&_table]:w-auto">
<Body />
</div>
</div>
<aside className="hidden md:block pl-12 pb-12">
<Toc toc={article?.data.toc} />
</div>
<div className="prose">
<Body />
</div>
</aside>
</div>
{relatedArticles.length > 0 && (

View File

@@ -0,0 +1,41 @@
import Script from 'next/script';
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from './ui/accordion';
export const Faqs = ({ children }: { children: React.ReactNode }) => (
<Accordion
type="single"
collapsible
className="w-full max-w-screen-md self-center border rounded-lg [&_button]:px-4 bg-background-dark [&_div.answer]:bg-background-light"
>
{children}
</Accordion>
);
export const FaqItem = ({
question,
children,
}: { question: string; children: string }) => (
<AccordionItem
value={question}
itemScope
itemProp="mainEntity"
itemType="https://schema.org/Question"
className="[&_[role=region]]:px-4"
>
<AccordionTrigger className="text-left" itemProp="name">
{question}
</AccordionTrigger>
<AccordionContent
itemProp="acceptedAnswer"
itemScope
itemType="https://schema.org/Answer"
>
{children}
</AccordionContent>
</AccordionItem>
);

View File

@@ -1,12 +1,14 @@
import { cn } from '@/lib/utils';
import Image from 'next/image';
export function Figure({
src,
alt,
caption,
}: { src: string; alt: string; caption: string }) {
className,
}: { src: string; alt: string; caption: string; className?: string }) {
return (
<figure className="-mx-4">
<figure className={cn('-mx-4', className)}>
<Image
src={src}
alt={alt || caption}

View File

@@ -1,11 +1,12 @@
import { cn } from '@/lib/utils';
import { PRICING } from '@openpanel/payments/src/prices';
import { CheckIcon, ChevronRightIcon, DollarSignIcon } from 'lucide-react';
import Link from 'next/link';
import { DoubleSwirl } from '../Swirls';
import { PricingSlider } from '../pricing-slider';
import { Section, SectionHeader } from '../section';
import { Tag } from '../tag';
import { Button } from '../ui/button';
import { Tooltiper } from '../ui/tooltip';
export default Pricing;
export function Pricing({ className }: { className?: string }) {
@@ -17,7 +18,7 @@ export function Pricing({ className }: { className?: string }) {
)}
>
<DoubleSwirl className="absolute top-0 left-0" />
<div className="container relative z-10">
<div className="container relative z-10 col">
<SectionHeader
tag={
<Tag variant={'dark'}>
@@ -29,11 +30,10 @@ export function Pricing({ className }: { className?: string }) {
description="Just pick how many events you want to track each month. No hidden costs."
/>
<div className="grid md:grid-cols-[400px_1fr] gap-8">
<div className="grid self-center md:grid-cols-[200px_1fr] lg:grid-cols-[300px_1fr] gap-8">
<div className="col gap-4">
<h3 className="font-medium text-xl text-background/90 dark:text-foreground/90">
Stop overpaying <br />
for features
Stop overpaying for features
</h3>
<ul className="gap-1 col text-background/70 dark:text-foreground/70">
<li className="flex items-center gap-2">
@@ -56,6 +56,10 @@ export function Pricing({ className }: { className?: string }) {
<CheckIcon className="text-background/30 dark:text-foreground/30 size-4" />{' '}
Unlimited tracked profiles
</li>
<li className="flex items-center gap-2">
<CheckIcon className="text-background/30 dark:text-foreground/30 size-4" />{' '}
Yes, we have no limits or hidden costs
</li>
</ul>
<Button
@@ -71,10 +75,112 @@ export function Pricing({ className }: { className?: string }) {
</Button>
</div>
<div className="col justify-between pt-14 gap-4">
<PricingSlider />
<div className="col justify-between gap-4 max-w-lg">
<div className="space-y-2">
{PRICING.map((tier) => (
<div
key={tier.events}
className={cn(
'group col',
'backdrop-blur-3xl bg-foreground/70 dark:bg-background-dark/70',
'p-4 py-2 border border-background/20 dark:border-foreground/20 rounded-lg hover:bg-background/5 dark:hover:bg-foreground/5 transition-colors',
'mx-2',
tier.discount &&
'mx-0 px-6 py-3 !bg-emerald-900/20 hover:!bg-emerald-900/30',
tier.popular &&
'mx-0 px-6 py-3 !bg-orange-900/20 hover:!bg-orange-900/30',
)}
>
<div className="row justify-between">
<div>
{new Intl.NumberFormat('en-US', {}).format(tier.events)}{' '}
<span className="text-muted-foreground text-sm max-[420px]:hidden">
events / month
</span>
</div>
<div className="row gap-4">
{tier.popular && (
<>
<Tag variant="dark" className="hidden md:inline-flex">
🔥 Popular
</Tag>
<span className="md:hidden">🔥</span>
</>
)}
{tier.discount && (
<>
<Tag
variant="dark"
className="hidden md:inline-flex whitespace-nowrap"
>
💸 Discount
</Tag>
<span className="md:hidden">💸</span>
</>
)}
<div className="text-sm text-muted-foreground">
<div className="row gap-1">
{tier.discount && (
<span className={cn('text-md font-semibold')}>
{new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
}).format(tier.price * (1 - tier.discount.amount))}
</span>
)}
<span
className={cn(
'text-md font-semibold',
tier.discount && 'line-through opacity-50',
)}
>
{new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
}).format(tier.price)}
</span>
</div>
</div>
</div>
{tier.discount && (
<div className="text-sm text-muted-foreground mt-2">
Limited discount code available:{' '}
<Tooltiper
content={`Get ${tier.discount.amount * 100}% off your first year`}
delayDuration={0}
side="bottom"
>
<strong>{tier.discount.code}</strong>
</Tooltiper>
</div>
)}
</div>
))}
<div
className={cn(
'group',
'row justify-between p-4 py-2 border border-background/20 dark:border-foreground/20 rounded-lg hover:bg-background/5 dark:hover:bg-foreground/5 transition-colors',
'mx-2',
)}
>
<div className="whitespace-nowrap">
Over{' '}
{new Intl.NumberFormat('en-US', {}).format(
PRICING[PRICING.length - 1].events,
)}
</div>
<div className="text-md font-semibold">
<Link
href="mailto:support@openpanel.dev"
className="group-hover:underline"
>
Contact us
</Link>
</div>
</div>
</div>
<div className="self-center text-sm text-muted-foreground mt-4 text-center max-w-[70%] w-full">
<strong className="text-background/80 dark:text-foreground/80">
All features are included upfront - no hidden costs.
</strong>{' '}

View File

@@ -31,7 +31,7 @@ const AccordionTrigger = ({
}: React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {
ref?: React.RefObject<React.ElementRef<typeof AccordionPrimitive.Trigger>>;
}) => (
<AccordionPrimitive.Header className="flex">
<AccordionPrimitive.Header className="flex not-prose">
<AccordionPrimitive.Trigger
ref={ref}
className={cn(
@@ -57,10 +57,17 @@ const AccordionContent = ({
}) => (
<AccordionPrimitive.Content
ref={ref}
className="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
className="overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
{...props}
>
<div className={cn('pb-4 pt-0', className)}>{children}</div>
<div
className={cn(
'pb-4 pt-0 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0',
className,
)}
>
{children}
</div>
</AccordionPrimitive.Content>
);

View File

@@ -11,6 +11,8 @@ const Tooltip = TooltipPrimitive.Root;
const TooltipTrigger = TooltipPrimitive.Trigger;
const TooltipPortal = TooltipPrimitive.Portal;
const TooltipContent = ({
ref,
className,
@@ -32,3 +34,20 @@ const TooltipContent = ({
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
export const Tooltiper = ({
children,
content,
delayDuration = 0,
...props
}: React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {
delayDuration?: number;
}) => (
<Tooltip delayDuration={delayDuration}>
<TooltipTrigger asChild>{children}</TooltipTrigger>
<TooltipPortal>
<TooltipContent {...props}>{content}</TooltipContent>
</TooltipPortal>
</Tooltip>
);

View File

@@ -0,0 +1,580 @@
---
title: 9 best open source web analytics tools
description: In an era where data drives decisions, what are your best options for web analytics?
date: 2024-11-10
cover: /content/cover-best-web-analytics.jpg
tag: Comparison
team: OpenPanel Team
---
import { Faqs, FaqItem } from '@/components/faq';
import { Figure } from '@/components/figure'
In today's data-driven world, understanding your website's performance is crucial for making informed decisions. While Google Analytics dominates the market, many developers and businesses are turning to open source web analytics tools for better privacy, data ownership, and customization.
Open source web analytics solutions offer several advantages over proprietary alternatives:
- **Complete data ownership** - Your analytics data stays on your servers
- **Privacy compliance** - Many are GDPR/CCPA compliant by design
- **No vendor lock-in** - You can modify and extend the code as needed
- **Cost control** - Self-host for free or choose affordable hosted options
- **Transparency** - Open source code means you know exactly what's being tracked
In this comprehensive guide, we've evaluated 9 of the best open source web analytics tools available today. Each tool has been assessed based on features, pricing, ease of use, and community support. Whether you need simple pageview tracking or advanced product analytics, there's an open source solution that fits your needs.
## OpenPanel
<Figure
src="/content/tools/openpanel.png"
caption="OpenPanel's overview page giving you a first glance of your web analytics"
/>
### Summary
OpenPanel is an open-source, privacy-friendly web and product analytics platform. It combines the power of Mixpanel with the simplicity of Plausible. You get real-time event tracking, customizable charts, an overview dashboard with instant insights, individual user and session views, and plenty of SDKs. It uses cookie-free tracking and is GDPR compliant. You can self-host it for free or use the hosted Cloud service with a 30-day free trial.
- Homepage: [**https://openpanel.dev**](https://openpanel.dev)
- GitHub: [**https://github.com/Openpanel-dev/openpanel**](https://github.com/Openpanel-dev/openpanel)
- License: **AGPL-3.0**
- Rating: **5/5**
- Discount: 30% off (first 3 months): [Use discount code **GOOGLE**](https://dashboard.openpanel.dev/onboarding)
### Pricing
OpenPanel Cloud has a 30-day free trial with no credit card required. After the trial, you choose the tier matching your monthly event volume. If you outgrow your tier you simply upgrade. Self-hosting is free (you provide your own infrastructure).
| Events per Month | Price (USD/month) | Annual Price (10× monthly) |
| ---------------- | ----------------- | -------------------------- |
| Up to 5 000 | \$2.50 | \$25 |
| Up to 10 000 | \$5 | \$50 |
| Up to 100 000 | \$20 | \$200 |
| Up to 250 000 | \$30 | \$300 |
| Up to 500 000 | \$50 | \$500 |
| Up to 1 000 000 | \$90 | \$900 |
| Up to 2 500 000 | \$180 | \$1 800 |
| Up to 5 000 000 | \$250 | \$2 500 |
| Up to 10 000 000 | \$400 | \$4 000 |
| > 10 000 000 | Contact sales | Contact sales |
> All Cloud plans include unlimited websites, unlimited dashboards, unlimited team members, email & Discord support, and 5 years of data retention.
### Pros
- Open-source and self-hostable so you control your data
- Combines web and product analytics in one platform
- Real-time tracking and instant insights, no delays
- Cookie-free, GDPR/CCPA compliant by design
- Generous free trial and usage-based pricing
### Cons
- Cloud costs grow as event volume increases
- Self-hosting requires server setup and maintenance
- Project is still early-stage with a smaller community
- Lacks some advanced features like session replay or heatmaps
### FAQ
<Faqs>
<FaqItem question="How does OpenPanel pricing work after the free trial?">
After your 30-day free trial, you pick the plan that covers your monthly events. If you exceed your tier's limit, you simply move up to the next tier or contact sales for a custom enterprise plan.
</FaqItem>
<FaqItem question="What tools can OpenPanel replace?">
OpenPanel can stand in for Mixpanel, Amplitude and even Google Analytics by offering both product and web analytics in a single, privacy-friendly platform.
</FaqItem>
<FaqItem question="What's included in the open-source version of OpenPanel?">
Everything—custom dashboards, charts, real-time views, user/session drill-downs and all SDKs—ships under an AGPL-3.0 licence with no feature gating.
</FaqItem>
<FaqItem question="What are the hosting requirements?">
A mid-range VPS (≈ 4 vCPU / 8 GB RAM / SSD) running Docker Compose is sufficient for most projects; scale vertically as event volume grows.
</FaqItem>
<FaqItem question="Is there a hosted option?">
Yes. OpenPanel Cloud starts with a 30-day free trial, then switches to usage-based tiers—e.g. \$20 for 100 k events or \$90 for 1 M events per month.
</FaqItem>
</Faqs>
### Alternative to OpenPanel
**Plausible Analytics**
- Open-source, privacy-focused web analytics with flat pricing
- Lightweight, cookie-free tracking and simple dashboards
- Predictable monthly cost starting at \$9 for 10 000 pageviews
- Ideal if you need core web metrics without product analytics
## PostHog
<Figure
src="/content/tools/posthog.png"
caption="PostHog"
/>
### Summary
PostHog is an open-source platform for product analytics. You can track events, watch session replays, roll out feature flags, run A/B tests, track errors, send surveys, and more—all in one place. You can self-host it or use their cloud service. All users get a generous free tier every month.
- Homepage: [**https://posthog.com**](https://posthog.com)
- Github: [**https://github.com/PostHog/posthog**](https://github.com/PostHog/posthog)
- License: **MIT**
- Rating: **4/5**
### Pricing
PostHog offers a generous free tier that includes 1 million events per month, along with 5,000 session recordings, 1 million feature flag requests, 100,000 error events, and 250 survey responses. This free tier covers 1 project with community support and 1 year of data retention.
Beyond the free limits, PostHog operates on a pay-as-you-go model. Product analytics costs $0.00005 per event, session replay is $0.005 per recording, feature flags are $0.0001 per request, error tracking is $0.00037 per event, surveys are $0.20 per response, and data pipelines cost $0.000062 per event. The pay-as-you-go plan includes 6 projects, email support, and 7 years of data retention.
| Plan | Price | Monthly Free Limits | Support | Projects | Retention |
| -------------- | ---------------- | ----------------------------------------- | -------------- | -------- | --------- |
| Free forever | $0 | See free tier details above | Community forum| 1 | 1 year |
| Pay-as-you-go | $0 + usage rates | First free limits then usage-based billing| Email | 6 | 7 years |
### Pros
- Open-source and self-host friendly so you keep full data control
- All-in-one suite: analytics, replays, flags, experiments, errors, surveys
- Generous monthly free tier for smaller sites or dev testing
### Cons
- Usage-based pricing can be hard to predict as you grow
- Managing a self-hosted instance takes extra ops work and maintenance
- Self-hosting vs cloud is not 1-to-1
- Enterprise support and advanced add-ons can get costly
### FAQ
<Faqs>
<FaqItem question="How does PostHog pricing work after the free tier?">
PostHog's pricing can be tricky since it's usage based. Depending on how many events you send you will pay X amount per event.
</FaqItem>
<FaqItem question="What's the difference between PostHog and OpenPanel?">
OpenPanel is more affordable than PostHog once you exceed 1 million events, making it a cost-effective choice for growing projects. While PostHog offers a broader range of features, OpenPanel stands out for its simplicity in self-hosting and provides the same capabilities whether you use the cloud or self-hosted version. Both platforms serve as robust product and web analytics tools, but OpenPanel's pricing and deployment flexibility make it especially appealing for teams seeking value and ease of use.
</FaqItem>
<FaqItem question="What tools can PostHog replace?">
By bundling product analytics, web analytics, session replay, feature flags, experiments, error tracking and surveys, PostHog can replace Mixpanel, Amplitude, Google Analytics, Hotjar / FullStory and LaunchDarkly in one stack.
</FaqItem>
<FaqItem question="What's included in the open-source version?">
PostHog Open Source (MIT) includes almost every feature but is limited to a single project per instance and comes without an uptime guarantee—ideal for hobby or proof-of-concept use.
</FaqItem>
<FaqItem question="What are the self-hosting requirements?">
The team recommends ≥ 4 vCPU, 16 GB RAM and 30 GB+ storage. Self-hosting works best up to ~300 k events / month; beyond that, PostHog Cloud scales for you.
</FaqItem>
<FaqItem question="Is there a hosted option?">
Yes. PostHog Cloud offers a free tier (1 M events, 5 k recordings, 1 M flag API requests) with US or EU data residency, then pay-as-you-go pricing after the limits.
</FaqItem>
</Faqs>
## Plausible
<Figure
src="/content/tools/plausible.png"
caption="Plausible"
/>
### Summary
Plausible is an open-source, privacy-friendly web analytics tool. It tracks pageviews and custom events without cookies or personal data. You get real-time reports, goals, custom events, email or Slack reports, and GDPR/CCPA compliance. You can self-host for free or use their cloud service.
- Homepage: [**https://plausible.io**](https://plausible.io)
- Github: [**https://github.com/plausible/analytics**](https://github.com/plausible/analytics)
- License: **AGPL v3**
- Rating: **4/5**
### Pricing
Plausible offers traffic-based plans you can bill monthly or yearly (2 months free on annual). All plans include unlimited data retention, unlimited team members, Google Analytics import, and core features.
| Plan | Pageviews per Month | Price (Monthly) | Price (Yearly) | Sites | Team Members | Data Retention |
|-----------|---------------------|-----------------|----------------|-------|--------------|----------------|
| Starter | Up to 10 000 | \$9 | \$90 | 1 | Unlimited | Unlimited |
| Growth | Up to 100 000 | \$14 | \$140 | 3 | 3 | Unlimited |
| Business | Up to 200 000 | \$19 | \$190 | 10 | 10 | Unlimited |
| Enterprise| 200 001+ | Custom | Custom | 10+ | 10+ | Unlimited |
### Pros
- Designed for privacy, with no cookies or personal data tracking
- Simple, intuitive dashboard and easy setup
- Open source, with free self-host option and transparent pricing
### Cons
- No free tier beyond self-hosting
- Costs can rise quickly as traffic grows
- Fewer advanced features (like funnels or session replay) than some competitors
### FAQ
<Faqs>
<FaqItem question="What's the differnece between OpenPanel?">
OpenPanel is similar to Plausible in that both offer privacy-friendly, open-source web analytics with easy self-hosting. However, OpenPanel goes further by including advanced product analytics features—such as event tracking, user journeys, and session replays—making it suitable for teams that need deeper insights into user behavior, not just website traffic. If you want a simple, privacy-focused analytics tool, Plausible is great; if you need more advanced product analytics in addition to web stats, OpenPanel is a better fit.
</FaqItem>
<FaqItem question="How does Plausible protect user privacy?">
Plausible does not use cookies or collect personal data. All tracking is aggregated and anonymized, making it GDPR and CCPA compliant by design.
</FaqItem>
<FaqItem question="What tools can Plausible replace?">
Plausible is a privacy-first alternative to Google Analytics and other page-view focused trackers, giving you simple dashboards without cookies.
</FaqItem>
<FaqItem question="What's included in the open-source version?">
Everything you see in Plausible Cloud—real-time dashboards, goals, custom events, unlimited retention and team members—is also in the self-hosted AGPL build.
</FaqItem>
<FaqItem question="Is there a hosted option?">
Yes. Plausible Cloud starts at \$9/month for 10 k page-views with simple, traffic-based pricing.
</FaqItem>
</Faqs>
### Alternative to Plausible
**Umami**
- Umami is almost a 1-to-1 alternative to Plausible. A great web analytics tool
**OpenPanel**
- Similar to both Umami and Plausible but also adds product analytics to the mix
## Matomo
<Figure
src="/content/tools/matomo.png"
caption="Matomo"
/>
### Summary
Matomo (formerly Piwik) is an open-source web analytics platform. You can track web and mobile visits, build charts, create dashboards, set goals, run A/B tests, record sessions, view heatmaps, and more. You own all your data and can choose to self-host for free or use Matomo Cloud for hosting and support.
- Homepage: [**https://matomo.org**](https://matomo.org)
- Github: [**https://github.com/matomo-org/matomo**](https://github.com/matomo-org/matomo)
- License: **GNU GPL v3**
- Rating: **4/5**
### Pricing
Matomo offers two main options:
| Plan | Price | Hits per Month | Billing | Support | Websites | Team Members | Data Retention |
| ------------ | -------------------------------- | --------------------- | --------------------------- | ------------------------------------------ | -------- | ------------ | -------------- |
| On-Premise | €0 | Unlimited | Self-host (download) | Free community support or paid subscriptions | Unlimited| Unlimited | Forever |
| Cloud (50 k) | €29/month or €290/year (2 months free) | Up to 50 000 | Monthly or annual | Email support & Customer Success Manager | 30 | 30 | 24 months |
- For more hits or custom allowances (100 k, 300 k, 1 M, etc.), contact sales for enterprise pricing.
### Pros
- You fully own your data and stay GDPR/CCPA compliant
- Rich feature set: dashboards, A/B tests, heatmaps, session recordings, funnels
- Free self-hosted option with no limits on hits or users
### Cons
- Managing self-hosting requires server setup and maintenance
- Cloud costs can rise sharply as traffic grows beyond base tiers
- Many advanced plugins incur extra annual fees
### FAQ
<Faqs>
<FaqItem question="What is included in Matomo Cloud's €29/month plan?">
For €29 per month (or €290 per year), you get up to 50 000 hits, 30 websites, 30 team members, 24 months of raw data retention, email support, and a Customer Success Manager.
</FaqItem>
<FaqItem question="What tools can Matomo replace?">
Matomo positions itself as a GDPR-compliant alternative to Google Analytics 4.
</FaqItem>
<FaqItem question="What's included in the open-source version?">
Self-hosted Matomo covers user & event tracking, ecommerce analytics, segmentation and customizable dashboards; premium add-ons (A/B testing, heatmaps, etc.) cost extra.
</FaqItem>
<FaqItem question="What are the self-hosting requirements?">
For ~100 k page-views / month: 2 CPU, 2 GB RAM and 50 GB SSD. Over 1 M page-views Matomo recommends separate app and DB servers.
</FaqItem>
<FaqItem question="Is there a hosted option?">
Yes. Matomo Cloud charges by "hits per month" and unlocks all paid add-ons out-of-the-box.
</FaqItem>
</Faqs>
### Alternative to Matomo
**Fathom Analytics**
- Privacy-focused, simple analytics with no cookies or personal data
- Flat monthly pricing (starts at $14/month) for unlimited pageviews
- Easy setup with minimal interface for core metrics
## Fathom
<Figure
src="/content/tools/fathom.png"
caption="Fathom"
/>
### Summary
Fathom is a simple, privacy-focused web analytics tool. It tracks pageviews and events without cookies or personal data. You get real-time reports, unlimited data retention, unlimited sites, and simple dashboards. You can use Fathom's hosted service with a free trial or self-host with their Docker image (self-hosting requires a license).
- Homepage: [**https://usefathom.com**](https://usefathom.com)
- Github: **Unsure** (no public repo for core analytics)
- License: **Proprietary** (self-host license available)
- Rating: **4/5**
### Pricing
Fathom bills by monthly data points (pageviews + events). You pay for the tier you need and can move up at any time. All plans include unlimited sites, data retention, email reports, exports, and support.
| Plan | Data Points / Month | Price (Monthly) | Price (Yearly, 17% off) |
| ---------------------- | ------------------- | --------------- | ----------------------- |
| Starter | Up to 100 000 | \$15 | \$150/yr |
| Growth | Up to 200 000 | \$25 | \$250/yr |
| Business | Up to 500 000 | \$45 | \$450/yr |
| Scale | Up to 1 000 000 | \$60 | \$600/yr |
| Scale+ | Up to 2 000 000 | \$100 | \$1 000/yr |
| Enterprise Small | Up to 5 000 000 | \$140 | \$1 400/yr |
| Enterprise Medium | Up to 10 000 000 | \$200 | \$2 000/yr |
| Enterprise Large | Up to 15 000 000 | \$290 | \$2 900/yr |
| Enterprise X-Large | Up to 20 000 000 | \$380 | \$3 800/yr |
| Enterprise Custom¹ | Over 25 000 000 | Contact sales | Contact sales |
¹ For volumes above 25 million data points, contact sales.
### Pros
- No cookies or personal data collection by design
- Real-time, simple dashboard with core metrics only
- Unlimited sites and data retention on every plan
- Self-host option lets you run it on your own infrastructure
### Cons
- Proprietary platform (core code is not open source)
- Costs rise linearly as traffic grows
- Lacks advanced features like funnels or session replay
### FAQ
<Faqs>
<FaqItem question="How does Fathom pricing work after the free trial?">
Fathom charges by data-point tiers. You start on the plan matching your monthly pageviews and events, and you move up if you exceed your quota at month's end.
</FaqItem>
<FaqItem question="What's the difference between Fathom and OpenPanel?">
Fathom is a hosted, proprietary analytics service with simple, tiered pricing. OpenPanel is open source and privacy friendly, offering both web and product analytics, real-time views, individual session tracking, charts, cookie-free GDPR compliance, and multiple SDKs you can self-host for free.
</FaqItem>
</Faqs>
### Alternative to Fathom
**Simple Analytics**
- Privacy-first, cookie-free analytics under a flat fee model
- Tracks pageviews only with a focus on simplicity
- No free tier but predictable pricing by site count
- Clean dashboard and easy setup with no code changes
## Umami
<Figure
src="/content/tools/umami.png"
caption="Umami"
/>
### Summary
Umami is an open-source, privacy-friendly web analytics tool. It tracks pageviews and basic events without cookies or personal data. The lightweight script (~2 KB) loads fast and is GDPR/CCPA compliant by default. You can self-host it for free or use Umami Cloud with usage-based pricing.
- Homepage: [**https://umami.is**](https://umami.is)
- GitHub: [**https://github.com/umami-software/umami**](https://github.com/umami-software/umami)
- License: **MIT**
- Rating: **4/5**
### Pricing
Self-hosted Umami is free with unlimited sites and events, managed by you with community support.
Umami Cloud is free for the first 1 million events per month. Beyond that, you pay $0.00002 per additional event. You get unlimited websites, unlimited team members, 5 years of data retention, and email support.
| Plan | Price | Monthly Free Limits | Support | Retention |
| ----------- | -------------------------------- | ------------------- | ------------- | ---------- |
| Self-host | $0 | Unlimited events & sites | Community forum | Unlimited |
| Cloud | $0 + $0.00002 per event over 1 M | 1 000 000 events | Email support | 5 years |
### Pros
- Fully open-source and self-hosted option gives you data control
- Privacy-first design with no cookies or personal data collection
- Very lightweight tracking script that won't slow your site
### Cons
- Limited to basic metrics; no session replay, funnels, or heatmaps
- Running your own server means more maintenance and updates
- Cloud costs can add up if you exceed free event limits significantly
### FAQ
<Faqs>
<FaqItem question="How does Umami pricing work after the free tier?">
After the first 1 million events each month, Umami Cloud charges $0.00002 for each additional event. There are no per-site or per-user fees.
</FaqItem>
<FaqItem question="What's the difference between Umami and OpenPanel?">
Umami provides open-source, cookie-free web analytics focused on pageviews and basic events. OpenPanel is also open-source and privacy-friendly but adds product analytics, real-time dashboards, individual session and user tracking, event visualization charts, and multiple SDKs—all cookie-free and GDPR compliant.
</FaqItem>
<FaqItem question="What tools can Umami replace?">
Primarily Google Analytics or any lightweight page-view tracker that relies on cookies.
</FaqItem>
<FaqItem question="What's included in the open-source version?">
There's no feature gap—funnels, user paths, retention and custom events are all in the MIT-licensed build.
</FaqItem>
<FaqItem question="What are the self-hosting requirements?">
A server with Node 18+ and either MySQL 8+ or PostgreSQL 12+; official Docker Compose templates make deployment straightforward.
</FaqItem>
<FaqItem question="Is there a hosted option?">
Yes. Umami Cloud lets you track up to 100 k events each month for free, then bills \$0.00002 per event thereafter (e.g. \$20 for 1 M events).
</FaqItem>
</Faqs>
### Alternative to Umami
**GoatCounter**
- Open-source, privacy-focused analytics with simple pageview and event tracking
- Self-host for free or use hosted plans starting at €5/month
- Lightweight script, no cookies required, GDPR compliant
- Very simple setup and predictable flat pricing
## Ackee
<Figure
src="/content/tools/ackee.png"
caption="Ackee"
/>
### Summary
Ackee is an open-source, self-hosted web analytics tool that focuses on privacy and simplicity. It runs on your own server with Node.js and MongoDB, tracks pageviews and custom events without cookies or personal data, and presents stats in a minimal interface. It uses a GraphQL API and keeps all tracked data anonymized by default.
- Homepage: [**https://ackee.electerious.com**](https://ackee.electerious.com)
- Github: [**https://github.com/electerious/Ackee**](https://github.com/electerious/Ackee)
- License: **MIT**
- Rating: **4/5**
### Pricing
Ackee itself is completely free to self-host. You download the code, run it on your server, and there are no limits on sites, pageviews, team members, or data retention.
> _Note: There is no official Ackee-hosted service. Some third-party providers (for example Elestio) offer managed Ackee hosting on a credits-or-hourly basis, but pricing and terms vary by provider._
### Pros
- Fully open-source and free to self-host so you control all your data
- Privacy-first design: no cookies, anonymized tracking, GDPR/CCPA compliant
- Lightweight and minimal UI with fast load times
- GraphQL API allows custom integrations and flexible querying
### Cons
- Limited to basic metrics (no funnels, session replay, or heatmaps)
- Requires server setup, maintenance, and security updates
- No official hosted offering—managed hosting depends on third parties
- Minimal feature set may not suit advanced analytics needs
### FAQ
<Faqs>
<FaqItem question="How does Ackee pricing work after the free tier?">
Ackee is free forever if you self-host. There is no paid tier or usage fees for the core software.
</FaqItem>
<FaqItem question="What's the difference between Ackee and OpenPanel?">
Ackee is a self-hosted, minimal web analytics tool that tracks pageviews and basic events without cookies. OpenPanel is also open-source and privacy-friendly but adds product analytics, real-time dashboards, individual session and user tracking, event visualization charts, and multiple SDKs you can use via cloud or self-host.
</FaqItem>
</Faqs>
### Alternative to Ackee
**GoatCounter**
- Open-source and privacy-focused, with GDPR-compliant, cookie-free tracking
- Self-host free or use hosted plans starting at €5/month
- Simple pageview and basic event metrics, predictable flat pricing
## Pirsch
<Figure
src="/content/tools/pirsch.png"
caption="Pirsch"
/>
### Summary
Pirsch is a drop-in, server-side, no-cookie, privacy-focused web analytics solution built in Go. It generates anonymized visitor fingerprints, works even with ad blockers, and is GDPR, CCPA, and PECR compliant. You can use the hosted SaaS offering or self-host under an enterprise license.
- Homepage: [**https://pirsch.io**](https://pirsch.io)
- GitHub: [**https://github.com/pirsch-analytics/pirsch**](https://github.com/pirsch-analytics/pirsch)
- License: **AGPL-3.0**
- Rating: **4/5**
### Pricing
Pirsch offers a 30-day free trial with no credit card required. After that, plans are usage-based on monthly pageviews:
| Plan | Monthly Price | Annual Price (2 mo. free) | Pageviews Included | Websites | Members | Data Retention |
|-------------|--------------------|---------------------------|--------------------|--------------------|-------------------|-------------------|
| Standard | \$6 | \$60 | Up to 10 000 | Up to 50 | Unlimited | Unlimited |
| Plus (Best Value) | \$12 | \$120 | Custom¹ | Unlimited | Unlimited | Unlimited |
| Enterprise | Custom | Custom | Custom | Custom | Custom | Custom |
¹ Plus plan adds funnels, A/B testing, custom domains/themes, white-labeling, priority support, and event goals.
> _You pay per pageview tier; if you exceed your included pageviews, you move up to the next tier or contact sales for enterprise licensing._
### Pros
- Fully privacy-focused with no cookies and anonymized data by default
- Server-side tracking works around ad blockers and gives full data ownership
- Lightweight Go library and multiple SDKs (JS, PHP, Laravel, etc.)
- Hosted in the EU on German servers (Hetzner)
### Cons
- Core self-host requires an enterprise license and setup support
- Usage tiers can get costly as traffic grows beyond small sites
- Hosted plans have feature gaps vs. self-host (e.g., custom integrations)
- No built-in session replay or heatmaps
### FAQ
<Faqs>
<FaqItem question="How does Pirsch pricing work after the free trial?">
After 30 days, you choose the tier matching your monthly pageviews. If you go over your included pageviews, you upgrade to the next tier or contact sales for enterprise options.
</FaqItem>
<FaqItem question="What's the difference between Pirsch and OpenPanel?">
Pirsch is a hosted or enterprise-licensed Go-based analytics service focused on server-side tracking and EU hosting. OpenPanel is fully open-source, privacy-friendly, and cookie-free, offering both web and product analytics, real-time dashboards, individual session/user tracking, charts, GDPR compliance, and multiple SDKs you can self-host for free.
</FaqItem>
</Faqs>
### Alternative to Pirsch
**Plausible Analytics**
- Open-source, cookie-free web analytics with a flat pricing model
- Simple dashboard, real-time data, and GDPR/CCPA compliance
- Self-host for free or use hosted plans starting at \$9/month for 10 000 pageviews
## Swetrix
<Figure
src="/content/tools/swetrix.png"
caption="Swetrix"
/>
### Summary
Swetrix is an open-source, cookieless web analytics platform that focuses on privacy and ease of use. You can track pageviews, custom events, user flows, performance metrics, and more—all without showing cookie banners. You can self-host for free or use the hosted service with a 14-day trial.
- Homepage: [**https://swetrix.com**](https://swetrix.com)
- GitHub: [**https://github.com/Swetrix/swetrix**](https://github.com/Swetrix/swetrix)
- License: **AGPL-3.0**
- Rating: **4/5**
### Pricing
Swetrix offers a 14-day free trial with no credit card required. After that, you pick a plan based on monthly events. If you need more than 10 million events, you contact sales.
| Plan | Events per Month | Price (USD/month) |
| ------------------ | ---------------- | ----------------- |
| Basic | Up to 10 000 | \$5 |
| Growth | Up to 100 000 | \$15 |
| Pro | Up to 200 000 | \$25 |
| Business | Up to 500 000 | \$45 |
| Premium | Up to 1 000 000 | \$59 |
| Enterprise Small | Up to 2 000 000 | \$84 |
| Enterprise Medium | Up to 5 000 000 | \$110 |
| Enterprise Large | Up to 10 000 000 | \$150 |
| Enterprise X-Large | Over 10 000 000 | Contact sales |
### Pros
- Fully open source and self-hostable so you keep full control of your data
- Cookie-free tracking that is GDPR/CCPA compliant by design
- Clean, simple dashboard with user flows, alerts, exports, and performance monitoring
- No limits on sites or data exports in any plan
### Cons
- Hosted plans use usage-based tiers, so costs rise with traffic
- Self-hosting requires setup, maintenance, and hosting infrastructure
- Lacks advanced features like session replay or heatmaps
- Smaller community compared to older analytics platforms
### FAQ
<Faqs>
<FaqItem question="How does Swetrix pricing work after the free trial?">
After your 14-day trial, you choose the plan that covers your monthly events. If you exceed your plan's limit, you move up to the next tier or contact sales for a custom enterprise plan.
</FaqItem>
<FaqItem question="What's the difference between Swetrix and OpenPanel?">
Swetrix is a cookieless, open-source web analytics tool focused on pageviews, events, performance, and user flows. OpenPanel also tracks product events and sessions, offers real-time dashboards, individual user views, and multiple SDKs, all cookie-free and GDPR compliant.
</FaqItem>
</Faqs>
### Alternative to Swetrix
**Plausible Analytics**
- Open-source, privacy-first web analytics with flat pricing
- Tracks pageviews and goals with no cookies required
- Self-host for free or start hosted plans at \$9/month for 10 000 pageviews
- Simple setup and predictable costs

View File

@@ -1,106 +0,0 @@
---
title: Top 7 Open-Source Web Analytics Tools
description: In an era where data drives decisions, what are your best options for web analytics?
date: 2024-11-10
cover: /content/cover-best-web-analytics.jpg
tag: Comparison
team: OpenPanel Team
---
In an era where data drives decisions, what are your best options for web analytics?
Consider the power and potential of open-source alternatives to proprietary solutions. Discovering these tools can significantly elevate your insights while maintaining flexibility and control.
## 1. Understanding Web Analytics Challenges
Navigating the landscape of web analytics presents numerous challenges that require careful deliberation and strategic management.
Firstly, creating a comprehensive data strategy is a daunting task that requires a clear understanding of key performance indicators (KPIs) and user behavior metrics. This complexity is further compounded by the necessity of integrating data from various sources, creating a multifaceted view of user interactions.
Moreover, data accuracy is a perpetual concern in web analytics. Ensuring that collected data is both accurate and relevant requires robust validation methods, alongside consistency checks to prevent discrepancies that could distort analytics insights.
Finally, the challenge of real-time data analysis looms large for many organizations. To truly harness the power of their analytics, enterprises must adopt solutions that provide immediate, actionable insights. This necessitates not only advanced technical infrastructure but also a skilled team capable of interpreting and reacting to data in real-time, driving agile decision-making.
## 2. Plausible - A Privacy-Focused Solution
Plausible emerges as a robust alternative, offering a vital blend of simplicity, transparency, and privacy in web analytics. This solution stands out because it respects user privacy while delivering meaningful insights. Plausible is designed to align seamlessly with the modern emphasis on data protection.
Plausibles distinguishing feature lies in its commitment to not collecting personal data. Consequently, this principled stance minimizes the risk of privacy breaches. Users can enjoy peace of mind knowing their information is handled with care.
Moreover, Plausibles interface is intuitively crafted to ensure ease of use while maintaining comprehensive functionality. Its particularly suitable for users who desire straightforward yet powerful analytics solutions.
Serving as a beacon for ethical web analytics, Plausible avoids employing cookies and complies with privacy laws such as GDPR, CCPA, and PECR. This implementation instills trust and reliability among businesses and their users.
Plausibles affordability and clear, concise data presentation make it an attractive option for startups and enterprises alike, interested in extracting maximum value from their web analytics. Furthermore, it remains open-source, welcoming community contributions that continually enhance its features.
In essence, Plausible excels by marrying simplicity with ethical data practices. The focus on privacy does not compromise the depth of insights provided. This makes Plausible an inspiring choice for forward-thinking businesses.
## 3. Matomo - Comprehensive Data Control
Matomo epitomizes robust data control.
Formerly known as Piwik, Matomo provides exhaustive data ownership. This open-source web analytics platform offers a powerful alternative to proprietary tools, giving you the ultimate autonomy over your user data. Consequently, you can bypass the usual data governance concerns associated with third-party services.
Data privacy is Matomo's utmost priority.
Its infrastructure guarantees that your sensitive data is stored on your servers, ensuring compliance with rigorous privacy standards. This autonomous setup fosters trust, providing stakeholders with the reassurance of uncompromised data security.
Beyond data control, Matomo supports a suite of advanced analytics features. These capabilities include customizable dashboards, granular user segmentation, and detailed visitor profiles. As a result, businesses can extract deep insights while adhering to their unique data governance policies.
Matomos future-proof design and open-source nature position it as an enduring solution in web analytics. Through an engaged community and continuous updates, Matomo remains adaptive to the evolving digital landscape, ensuring its users stay ahead of their analytical needs.
## 4. Fathom - User-Friendly with Great Privacy
Fathom is distinguished by its exceptional ease of use and robust privacy features. Its designed to simplify analytics for everyone, from novices to experts.
Fathom guarantees that user data remains confidential.
Users can attain actionable insights without compromising privacy, paving the way for a balance between data-driven decision-making and stringent privacy standards. Emphasizing simplicity, Fathom provides intuitive interfaces and dashboards that enable swift comprehension and application.
Beyond ease of use, Fathoms minimalist approach significantly reduces the learning curve, making it accessible even to those new to web analytics. In doing so, it empowers businesses to harness critical insights rapidly, ensuring that privacy concerns never hinder analytical capabilities. Moreover, Fathom's commitment to “zero” tracking ensures peace of mind while leveraging insightful data.
## 5. Umami - Simple and Effective Analytics
Umami is an open-source web analytics tool that stands out for its simplicity, usability, and potent capabilities. This platform appeals to those who prioritize straightforward yet comprehensive analysis of their web traffic.
With Umami, you enjoy a clutter-free interface.
Contrary to more complex systems, Umami minimizes the learning curve.
Umami assesses data efficiently, offering insights in an instantly understandable format.
The platform fosters data-driven decision-making without unnecessary complexity, presenting neatly organized statistics and metrics. Furthermore, it prides itself on user privacy and does not collect IP addresses.
Ultimately, Umami is testament to how simplicity and effectiveness can coexist, securing its place as a distinguished choice in web analytics. This platform allows you to focus on actionable insights without wading through extraneous data.
## 6. PostHog - Powerful and Self-Hosted Insights
PostHog truly shines as a robust, open-source solution for insightful web analytics.
Offering extensive, self-hosted analytics, it provides businesses with unrivaled control and privacy. This setup gives firms the leverage to harness detailed data about user behavior while maintaining stringent data security protocols. You can track all sorts of interactions, from clicks to conversions, with exquisite precision.
Notably, PostHog thrives on contributing towards community-driven development. It continually evolves with feedback from its users, ensuring that the tool stays up-to-date with the latest web analytics trends and needs. Therefore, you are not just adopting a tool; you are joining a vibrant and proactive community.
Embrace the power of PostHog for a data-driven future. Its functionality goes beyond basic metrics, offering intricate insights and real-time features. This gives you an edge, enabling strategic decision-making based on comprehensive and reliable data garnered in real-time.
## 7. Ackee - Minimalistic and Self-Hosted
When you envision simplicity, efficiency, and security in web analytics, Ackee stands out brilliantly.
Founded in 2016, Ackee exemplifies a minimalistic approach with no compromise on essential functionalities. Designed to be self-hosted, it ensures that sensitive data resides exclusively on your servers, giving you complete control.
Even more impressive is how Ackees straightforward user interface makes it exceedingly easy to integrate and use. With support for various platforms, you can accurately track visitor patterns and engagement across multiple digital touchpoints without any hassle.
Its lightweight nature means Ackee wont burden your system resources, allowing for both efficiency and speed. Installation is simple, typically completed within 3 minutes, offering extensive customization options and highly intuitive dashboards.
Ackees compelling advantage lies in its focus on privacy and data security. It provides web analytics without compromising the trust of your users.
## OpenPanel - In our opinion the best option
When searching for a comprehensive, open-source web analytics tool, OpenPanel stands out remarkably, offering an unparalleled suite of features.
Its blend of ease-of-use and robust functionality is simply exceptional.
OpenPanel not only delivers detailed analytics but also integrates seamlessly with our existing tech stack. This ensures a consistent user experience, fostering both simplicity and productivity.
The software's intuitive analytics allow for deep insights into user behavior, making it a perfect solution for dynamic and data-driven organizations. Its high degree of customization ensures it adapts to our specific requirements, embodying the perfect balance of flexibility and reliability. Thus, OpenPanel positions itself as the premier choice for innovators seeking an open-source alternative in web analytics.

View File

@@ -9,6 +9,13 @@ const config = {
domains: ['localhost', 'openpanel.dev', 'api.openpanel.dev'],
},
serverExternalPackages: ['@hyperdx/node-opentelemetry'],
redirects: [
{
source: '/articles/top-7-open-source-web-analytics-tools',
destination: '/articles/open-source-web-analytics',
permanent: true,
},
],
};
export default withMDX(config);

View File

@@ -14,6 +14,7 @@
"@hyperdx/node-opentelemetry": "^0.8.1",
"@number-flow/react": "0.3.5",
"@openpanel/nextjs": "^1.0.5",
"@openpanel/payments": "workspace:^",
"@openpanel/sdk-info": "workspace:^",
"@openstatus/react": "0.0.3",
"@radix-ui/react-accordion": "1.2.3",

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

View File

@@ -1,20 +1,32 @@
export type IPrice = {
price: number;
events: number;
discount?: {
code: string;
amount: number;
id: string;
};
popular?: boolean;
};
export const PRICING: IPrice[] = [
{ price: 2.5, events: 5_000 },
{ price: 5, events: 10_000 },
{ price: 20, events: 100_000 },
{ price: 30, events: 250_000 },
{ price: 30, events: 250_000, popular: true },
{ price: 50, events: 500_000 },
{ price: 90, events: 1_000_000 },
{
price: 90,
events: 1_000_000,
discount: {
code: '1MIL',
amount: 0.3,
id: '5113de97-76aa-4b16-a2ec-fb94edc47371',
},
},
{ price: 180, events: 2_500_000 },
{ price: 250, events: 5_000_000 },
{ price: 400, events: 10_000_000 },
// { price: 650, events: 20_000_000 },
// { price: 900, events: 30_000_000 },
];
export const FREE_PRODUCT_IDS = [

3
pnpm-lock.yaml generated
View File

@@ -623,6 +623,9 @@ importers:
'@openpanel/nextjs':
specifier: ^1.0.5
version: 1.0.5(next@15.0.3(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@openpanel/payments':
specifier: workspace:^
version: link:../../packages/payments
'@openpanel/sdk-info':
specifier: workspace:^
version: link:../../packages/sdks/_info