Overview
Two Different Analytics Philosophies
Web Analytics vs. Product Analytics
Staminads: Built for pro marketers who need to detect which dimensions drive engaged traffic. Median metrics (TimeScore), advanced traffic categorization with backfill, and full ad network detection.
OpenPanel: Combines web analytics with Mixpanel-style product analytics — user profiles, funnels, retention cohorts, and cross-device tracking when users are identified.
Anonymous Web vs. Logged-in Users
Staminads: Built for anonymous web visitors with real engagement tracking (scroll depth, focus time). No user identification needed — every session gets rich metrics.
OpenPanel: Product analytics features (profiles, retention, cross-device) only work for logged-in users. For anonymous visitors, falls back to daily device IDs with no engagement tracking.
What They Share
Both platforms are built on similar foundations:
- Cookieless: No cookies, no consent banners required
- Open Source: Both licensed under AGPL-3.0
- Self-hostable: Run on your own infrastructure
- TypeScript: Both built with TypeScript
- ClickHouse: Both use ClickHouse for fast analytics
Where They Differ
The key differences come down to analytics focus and user tracking:
Staminads Advantages
- • Median metrics (not averages)
- • Traffic categorization with backfill
- • No fingerprinting (session-only)
- • 10 custom dimensions per event
- • Full ad network detection
- • Clear ePrivacy compliance
OpenPanel Advantages
- • User profiles & identification
- • Funnel analysis
- • Retention cohorts
- • 15+ SDKs (web, mobile, server)
- • Revenue tracking
- • Custom dashboards (Grafana-style)
OpenPanel positions itself as combining "the power of Mixpanel with the ease of Plausible." It's a unified web and product analytics platform with user identification, funnels, retention, and 15+ SDKs. Pricing starts at $2.50/month for 5K events.
Staminads is privacy-first web analytics built for pro marketers who need median metrics (TimeScore), advanced traffic categorization with historical backfill, and full ad network detection — all without fingerprinting.
Quick Comparison
| Staminads | OpenPanel | |
|---|---|---|
| Tracking Method | Cookieless (session-only, no fingerprinting) | Cookieless (daily IP+UA hash fingerprint) |
| Consent Required | No consent needed | Legally contested (ePrivacy Directive) |
| Engagement Metrics | Median values (TimeScore) with focus tracking | Event timestamps only (no scroll/focus tracking) |
| Traffic Categorization | Advanced traffic categorization for pro marketers | Basic filters (no custom channel rules) |
| Traffic Backfill | Recompute & modify historical data | Limited (timestamp handling only) |
| Funnels | Coming soon | 24h single-browser limit (not for marketing) |
| Revenue Tracking | Session-level only | 24h single-browser limit |
| Product Analytics | Web analytics focused | Logged-in users only (funnels, retention, profiles) |
| User Identification | Session-only (privacy-first) | Post-login only (no retroactive linking) |
| Data Delay | Real-time (<1 second) | Real-time (live event stream) |
| API Access | Full access | Full access (Track, Export, Insights APIs) |
| Sites Limit | Unlimited | Unlimited |
| Pricing | Free (infrastructure only) | $2.50-$900+/month (or self-host free) |
| SDK Support | Web-focused | 15+ platforms (web, mobile, server) |
Tracking & Privacy
Both platforms are cookieless, but use different tracking approaches with different legal implications.
The Fingerprinting Question
OpenPanel uses device fingerprinting — hashing IP address + User-Agent + Origin with a daily rotating salt to generate Device IDs. While OpenPanel claims this is privacy-first, the EDPB Guidelines 2/2023 (finalized October 2024) raise concerns:
- ePrivacy Directive Article 5(3): Fingerprinting explicitly falls within scope and requires consent unless a narrow exemption applies
- Hashing ≠ Anonymization: Under GDPR, hashed data is pseudonymized, not anonymous — IP addresses remain personal data
- User Identification: OpenPanel's
op.identify()enables cross-device tracking, which may require consent
Staminads takes a different approach: IP is processed only for GeoIP location (with customizable settings), not for fingerprinting or identification. No device hashing, no cross-session linking. Each session is independent — eliminating the legal gray area.
Privacy & Tracking Comparison
| Feature | Staminads | OpenPanel |
|---|---|---|
| Cookies | No cookies used | No cookies used |
| Device Fingerprinting | No fingerprinting | Yes (IP + UA + Origin hash with daily salt) |
| User Identification | None (session-only) | Yes (op.identify() for cross-device tracking) |
| ePrivacy Directive Compliance | Clear (no device access/fingerprinting) | Legally contested (fingerprinting concerns) |
| GDPR Compliance | Yes (no personal data processed) | Claimed (IP hashing + user identification debated) |
| Cross-session Tracking | Within same day (or persistent with user ID) | |
| IP Address Processing | GeoIP only (customizable settings) | Hashed for Device ID generation |
| Data Residency | Your servers (you control) | Cloud (unspecified) or self-host |
OpenPanel's User Identification
OpenPanel supports persistent user identification via op.identify(), enabling cross-device tracking and user profiles. While powerful for product analytics, this creates additional GDPR/ePrivacy considerations. If you're tracking identified users, you likely need explicit consent.
Staminads: No Fingerprinting, No User Tracking
Staminads processes IP addresses only for GeoIP location (with customizable settings) — not for identification or fingerprinting. No device hashing, no user profiles, no cross-session linking. Pure session analytics with clear ePrivacy compliance.
Traffic Categorization
This is where Staminads shines. Custom traffic rules with backfill means you can map your marketing mix and recategorize historical data at any time.
Dashboard Filters ≠ Traffic Categorization Rules
OpenPanel offers dashboard filters to slice existing data, not traffic categorization rules to organize your marketing mix.
Staminads Traffic Rules
- • Custom channel groupings
- • Set value, clear value, set default
- • Backfill when rules change
- • Auto ad network detection
OpenPanel Filters
- • Slice data by dimensions
- • No custom channel rules
- • No backfill capability
- • No ad network detection
Traffic Categorization Features
| Feature | Staminads | OpenPanel |
|---|---|---|
| Channel Groupings | Custom rules to map your marketing mix | None (only raw referrer data) |
| Traffic Rules | Set value, clear value, set default | None (dashboard filters only) |
| Custom Dimensions | 10 dimensions you can modify via rules | Custom properties (set at collection, immutable) |
| Backfill on Rule Change | Yes (recompute all historical data) | Not possible |
| Ad Network Detection | Google, Meta, TikTok, LinkedIn, Microsoft | None |
| UTM Parameters | Full support + custom | source, medium, campaign, term, content |
Ad Network Click ID Detection
Staminads automatically detects click IDs from all major ad networks:
gclid Google Adsfbclid Meta/Facebookttclid TikTokmsclkid Microsoftli_fat_id LinkedIndclid Google DV360OpenPanel doesn't document automatic ad network detection. For Meta, TikTok, or LinkedIn traffic, you'd need to manually add UTM parameters to every campaign.
The Backfill Difference
In Staminads, when you update a traffic rule (e.g., split "social" into "twitter" and "linkedin"), all historical data is recomputed with the new categorization. OpenPanel has no documented traffic rule system — you set properties at collection time and can't recategorize historical data.
Real-time Data Exploration
Both offer real-time dashboards with fast data processing.
Real-time Capabilities
| Feature | Staminads | OpenPanel |
|---|---|---|
| Real-time Dashboard | ||
| Live Event Stream | Real-time updates | Yes (v2 feature) |
| Data Refresh Rate | <1 second | Real-time |
| Current Visitors | Instant | Live API endpoint |
| Query Performance | Fast (ClickHouse) | Fast (ClickHouse) |
| Data Sampling | Never (full dataset) | Never |
ClickHouse Under the Hood
Both Staminads and OpenPanel use ClickHouse, purpose-built for analytics queries at scale. Both can query billions of events in milliseconds with no data sampling. Performance is comparable.
Engagement Metrics
This is a key differentiator. Staminads uses median values for engagement metrics. OpenPanel uses averages, which are easily skewed by outliers.
OpenPanel SDK Lacks Engagement Tracking
Analysis of OpenPanel's SDK (op1.js) confirms it does not include client-side engagement tracking:
- No scroll depth tracking — zero scroll event listeners in the SDK
- No focus/visibility tracking — no
focus,blur, orvisibilitychangelisteners - No time-on-page for single-page visits — duration requires a second event
Staminads tracks true engagement: Focus tracking, visibility detection, and scroll depth give you accurate engagement metrics — even for single-page sessions.
Engagement Metrics Comparison
| Feature | Staminads | OpenPanel |
|---|---|---|
| Session Duration Calculation | Median (TimeScore) | Server-side (event timestamps only) |
| Single-page Session Duration | Measured via focus tracking | Cannot measure (no second event) |
| Scroll Depth | 25%, 50%, 75%, 100% thresholds | Not available |
| Focus/Visibility Tracking | Yes (accurate engagement time) | Not available |
| Time on Page | Median with focus tracking | Event-based only |
| Bounce Rate | Configurable time threshold (default 10s) | Session-based (no engagement context) |
| Engagement Score | TimeScore (composite median) | No composite metric |
Why Median Matters
OpenPanel's averages can be misleading. Staminads' median shows you typical user behavior.
Goals & Conversions
Both platforms support event-based conversion tracking with different approaches.
OpenPanel Funnels: 24h Single-Browser Limit
OpenPanel's funnels rely on device IDs that reset daily at midnight UTC. For anonymous visitors, this creates severe limitations:
- Single browser only — different browser/device = different user
- 24-hour window only — visitor returns tomorrow = new user
- Multi-day conversion paths broken — can't track "saw ad Monday, bought Friday"
OpenPanel funnels not suitable for marketing attribution — only tracks same-session, same-browser journeys.
Note: Staminads revenue tracking is also session-level. Neither tool provides cross-session attribution for anonymous visitors.
Goals & Conversions Features
| Feature | Staminads | OpenPanel |
|---|---|---|
| Goals Dashboard | Dedicated view with KPIs & charts | Event-based (any event is a goal) |
| Conversion Tracking | Same-browser, 24h window only | |
| Revenue Tracking | Session-level only (with median value) | Same-browser, 24h window only |
| Funnel Analysis | Coming soon | Same-browser, 24h window only |
| Cross-device Attribution | No (privacy-first) | Broken (anonymous sessions not linked) |
Product Analytics
OpenPanel includes Mixpanel-style product analytics features. Staminads focuses on web analytics for marketers.
User-Centric Features Require Login
OpenPanel's product analytics features (user profiles, cross-device tracking, retention cohorts) only work for logged-in users who can be identified via op.identify().
No retroactive linking: The SDK's alias() function is a no-op. Anonymous sessions cannot be linked to a user after they log in — pre-login behavior is permanently lost.
Cross-device requires login on ALL devices — mobile sessions without login are not linked to desktop profile.
Works
- • Sign-in wall apps only
Doesn't work
- • Free trials / onboarding flows
- • E-commerce (browse → buy lost)
- • SaaS with public pages
- • Any anonymous-first flow
Product Analytics Features
| Feature | Staminads | OpenPanel |
|---|---|---|
| User Profiles | No (privacy-first) | Logged-in users only |
| User Identification | No (session-only) | Logged-in users only (op.identify()) |
| Cross-device Tracking | No | Broken (no retroactive linking of anonymous sessions) |
| Retention Cohorts | No | Logged-in users only |
| Retroactive User Linking | N/A (session-only) | Not supported (alias() is no-op) |
| Anonymous Web Visitors | Session analytics with engagement | Daily device ID only (no user insights) |
| Funnel Analysis | Coming soon | Yes |
| Custom Dashboards | Filterable dashboard | Yes (Grafana-style widgets) |
Different Use Cases
OpenPanel is built for product teams with logged-in users who need user-level analytics — retention, funnels, and behavioral profiles. For anonymous web visitors, it offers no advantage over basic web analytics. Staminads is built for marketers who need to detect which traffic sources and campaigns drive the most engaged anonymous visitors — with real engagement metrics even without user login.
Multi-tenant & Enterprise
Both offer unlimited sites when self-hosted.
Enterprise Features
| Feature | Staminads | OpenPanel |
|---|---|---|
| Sites Included | Unlimited (self-hosted) | Unlimited (all plans) |
| Team Members | Unlimited (self-hosted) | Unlimited (all plans) |
| Dashboards | Unlimited | Unlimited |
| Data Retention | Unlimited (self-hosted) | 5 years (cloud) or configurable (self-hosted) |
API Access
Both platforms provide comprehensive API access.
API Capabilities
| Feature | Staminads | OpenPanel |
|---|---|---|
| REST API | ||
| API Types | Query API | Track, Export, Insights APIs |
| Rate Limits | Configurable | 100 requests/10 seconds |
| Raw Data Export | Full access (your database) | Yes (Export API) |
| Real-time API | ||
| SDK Count | Web-focused | 15+ (web, mobile, server) |
OpenPanel's SDK Advantage
OpenPanel offers SDKs for 15+ platforms including React Native, Swift, Kotlin, Python, Rust, Ruby, and more. If you need mobile or server-side tracking with native SDKs, OpenPanel has broader coverage.
Pricing
Staminads
Software cost (self-hosted)
+ ClickHouse: Included or managed
- ✓ Unlimited pageviews
- ✓ Unlimited websites
- ✓ Unlimited team members
- ✓ Full API access
- ✓ Unlimited data retention
- ✓ All features included
OpenPanel Cloud
Per month (event-based)
100K events: $20/month
1M events: $90/month
- ✓ All features at every tier
- ✓ Unlimited websites
- ✓ Unlimited team members
- ✓ Full API access
- ✓ 5 years data retention
- ✓ 30-day free trial
OpenPanel's Pricing Model
OpenPanel uses event-based pricing with all features included at every tier. No feature gating — just pay for the events you track. Self-hosting is free under AGPL-3.0.
Open Source
Open Source Comparison
| Feature | Staminads | OpenPanel |
|---|---|---|
| Open Source | Yes (AGPL-3.0) | Yes (AGPL-3.0) |
| Source Code | Full access on GitHub | Full access on GitHub |
| Self-hosting | Docker | Docker, Coolify, Dokploy, Kubernetes |
| Technology Stack | TypeScript + ClickHouse | TypeScript + ClickHouse + PostgreSQL + Redis |
| Community | Growing | 5.1K GitHub stars |
Unique OpenPanel Features
OpenPanel has product analytics features that Staminads doesn't currently offer.
Features Unique to OpenPanel
Product Analytics
- • User profiles (sign-in wall only)
- • Retention cohorts (sign-in wall only)
- • Funnel analysis (24h single-browser)
- • User journey/session viewing
Platform & SDKs
- • 15+ SDKs (web, mobile, server)
- • React Native, Swift, Kotlin
- • Python, Rust, Ruby SDKs
- • Grafana-style custom dashboards
- • AI assistant integration (self-hosted)
When OpenPanel Might Be Better
If you need product analytics with user identification, retention cohorts, and funnel analysis, or require mobile SDKs for iOS/Android apps, OpenPanel offers these capabilities that Staminads doesn't focus on.
When to Choose Each Platform
Choose Staminads
Staminads is the better choice if you want to:
- Detect winning dimensions that drive engaged traffic
- Use median metrics (not misleading averages)
- Advanced traffic categorization to map your marketing mix
- Backfill historical data when rules change
- No user tracking — pure session analytics
- Clear ePrivacy compliance (no fingerprinting)
Choose OpenPanel
OpenPanel might be better if you have logged-in users:
- Building a SaaS or app with user accounts
- Need user profiles for logged-in users
- Need retention cohorts for logged-in users
- Need mobile SDKs (React Native, Swift, Kotlin)
- Don't need advanced traffic categorization
- Don't need advanced data exploration
Frequently Asked Questions
Is OpenPanel's fingerprinting GDPR compliant?
It's legally contested. OpenPanel hashes IP + User-Agent + Origin with a daily rotating salt to generate Device IDs. Under the EDPB Guidelines 2/2023, fingerprinting falls within the scope of the ePrivacy Directive requiring consent. Additionally, OpenPanel's user identification feature (op.identify()) enables persistent cross-device tracking, which likely requires explicit consent. If you need to eliminate legal gray areas, Staminads' session-only approach avoids fingerprinting entirely.
Can I migrate from OpenPanel to Staminads?
Yes. Install the Staminads script and start collecting data immediately. Note that OpenPanel's user profiles and retention cohorts don't have equivalents in Staminads (by design — Staminads is session-only for privacy). Historical data export from OpenPanel can be done via their Export API.
Why doesn't Staminads have user identification?
Because it's technically impossible to reliably track anonymous users across the web in 2026. Daily rotating fingerprints, browser privacy features, and cross-device fragmentation make user-centric web analytics a dead end. Staminads embraces this reality with a different paradigm: instead of tracking users, measure which traffic sources drive the most engaged sessions. This gives you actionable insights without fighting an unwinnable battle.
Can I use OpenPanel's funnels for marketing attribution?
Not reliably for anonymous visitors. OpenPanel's funnels rely on device IDs that reset daily at midnight UTC. This means: (1) funnels only work within a single browser, (2) funnels break if the user returns the next day, (3) cross-device journeys cannot be tracked. For marketing attribution, you need either logged-in users with op.identify() on all devices, or a different attribution approach entirely.
Both are open source — what's the difference?
Both use AGPL-3.0 and TypeScript. The key differences: Staminads focuses on web analytics for marketers with median metrics, traffic categorization with backfill, and no user tracking. OpenPanel focuses on unified web + product analytics with user profiles, funnels, retention, and 15+ SDKs for mobile and server.
Does OpenPanel have better SDK support?
Yes. OpenPanel offers 15+ SDKs including React Native, Swift, Kotlin, Python, Rust, and Ruby. If you need native mobile SDKs or server-side tracking in Python/Rust/Ruby, OpenPanel has broader coverage. Staminads is focused on web analytics.
Which is better for agencies or multi-tenant use?
Both offer unlimited sites and team members. Staminads' traffic categorization with backfill is particularly valuable for agencies managing multiple client campaigns — you can recategorize historical data when your tracking strategy evolves. OpenPanel's user profiles may be useful if clients need product analytics.
Ready to find your winning dimensions?
Both Staminads and OpenPanel are privacy-first and open source. Choose Staminads for median metrics, advanced traffic categorization with backfill, and session-only analytics without user tracking.