All examples for Analytics Stack Selector for Indie SaaS

Privacy-First B2C App with Self-Hosting

A privacy-first B2C app with 2K users on a minimal budget needs cookieless tracking with self-hosting capability. Recommends Umami self-hosted with Docker deployment guide and VPS cost analysis.

Input

What you provide to the skill

Privacy-first B2C app, 2K users, minimal budget, want cookieless tracking and self-host option

Output

What the skill generates for you

Analytics Stack Recommendation for Privacy-First B2C App (2K Users, Minimal Budget)

Summary Recommendation

Primary Tool: Umami (Self-Hosted)
Estimated 12-Month Cost: $48 - $240 ($4-20/month VPS)
Key Reason: Zero software cost with self-hosting, cookieless by default, minimal server resource requirements (~500MB RAM), and complete data ownership perfect for privacy-first philosophy.

Decision Matrix

Criterion Weight Umami (Self-Host) Plausible (Self-Host) Umami Cloud Plausible Cloud Simple Analytics
Budget Fit 35% 10/10 7/10 6/10 8/10 4/10
Cookieless Tracking 25% 10/10 10/10 10/10 10/10 10/10
Privacy/Self-Host 20% 10/10 9/10 5/10 5/10 2/10
Ease of Setup 10% 8/10 7/10 10/10 10/10 10/10
Resource Efficiency 10% 9/10 5/10 10/10 10/10 10/10
Weighted Total 9.5 7.9 7.4 8.6 5.6

Umami (Self-Hosted) - Recommended

Pricing:

  • Software: Free (open-source)
  • VPS hosting: $4-20/month depending on provider
  • Total: $48-240/year

Why it fits your situation:

  1. Budget-optimized: At 2K users generating ~200K events/month, a $4-5 Hetzner VPS is sufficient (only 500MB RAM needed)
  2. Privacy-first by design: Cookieless by default, no personal data collection, GDPR/CCPA compliant out of the box
  3. Self-hosting capability: Complete data ownership on your infrastructure, no third-party data sharing
  4. Minimal overhead: Lightweight tracker script (<2KB), Postgres backend easier to manage than ClickHouse

Strengths:

  • Lowest total cost: Free software + $4/month VPS = $48/year (vs. $108/year for Plausible Cloud)
  • True data ownership: All analytics data stays on your server
  • Easy configuration: Environment variables for renaming tracker scripts help bypass ad blockers
  • Sufficient features: Real-time data, custom events, goal tracking, geographic data
  • Docker deployment: Simple setup with Docker Compose
  • Lower resource usage: Uses 50% less server resources than Plausible self-hosted

Weaknesses:

  • Self-hosting responsibility: You maintain infrastructure, updates, backups
  • Limited advanced features: No heatmaps, session replay, or A/B testing
  • Community support only: No official support tickets
  • Manual scaling: Performance beyond 100K events/month may require optimization

Alternative Tools Evaluated

Plausible (Self-Hosted):

  • Pricing: Free software + $10-20/month VPS (requires more RAM for ClickHouse)
  • Why not recommended: ClickHouse backend requires significantly more RAM than Postgres, driving VPS costs higher
  • When to consider: If you anticipate rapid growth to 10K+ users

Umami Cloud:

  • Pricing: $9/month for 100K events
  • Why not recommended: $108/year vs. $48/year self-hosted; you lose self-hosting control
  • When to consider: If you lack technical capacity or want zero maintenance

Plausible Cloud:

  • Pricing: $9/month for 10K pageviews
  • Why not recommended: More expensive than Umami Cloud, pageview limits may be tight
  • When to consider: If you prioritize beautiful UI and hosted convenience

12-Month Cost Projection

Assumptions: 2,000 users, ~20K events/month

Month VPS Option Umami Self-Host Umami Cloud Plausible Cloud Simple Analytics
1-3 Hetzner CAX11 $13.35 $27 $27 $45
4-6 Same $13.35 $27 $27 $45
7-9 Same $13.35 $27 $27 $45
10-12 Same $13.35 $27 $27 $45
12-Month Total $53 $108 $108 $180

Note: Umami self-hosted costs based on Hetzner CAX11 ARM VPS (€4.45/month ≈ $4.80/month).

Implementation Plan

Week 1: Server Setup & Deployment

  1. Choose VPS provider:
    • Budget option: Hetzner CAX11 (€4.45/month, ARM-based, includes backups)
    • Alternative: DigitalOcean Basic Droplet ($6/month)
  2. Clone Umami repository:
    git clone https://github.com/umami-software/umami.git
    cd umami
  3. Configure Docker Compose:
    cp docker-compose.yml.example docker-compose.yml
    # Edit docker-compose.yml with your domain and database credentials
  4. Deploy with Docker:
    docker-compose up -d
  5. Verify deployment: Access https://your-domain.com and login with default credentials (admin/umami)

Week 2: Tracking Setup

  1. Create your website profile in Umami dashboard
  2. Get tracking code snippet:
    <script defer src="https://your-domain.com/script.js" data-website-id="your-id"></script>
  3. Add snippet to your B2C app’s <head> section
  4. Verify events: Check Umami “Realtime” tab while browsing your app
  5. Configure custom events for key actions:
    umami.track('signup_completed');
    umami.track('purchase', {product: 'premium', value: 29.99});

Week 3: Privacy Optimization

  1. Confirm cookieless mode is active (default setting)
  2. Set up IP anonymization (enabled by default)
  3. Configure custom domain for tracker (helps with ad blockers):
    • Set environment variable: TRACKER_SCRIPT_NAME=analytics.js
  4. Update privacy policy:
    "We use Umami Analytics, a privacy-first, cookieless analytics tool
    self-hosted on our infrastructure. No personal data is collected."

Week 4: Monitoring & Optimization

  1. Set up automated backups:
    # Daily Postgres backup cron job
    0 2 * * * docker exec umami_db pg_dump -U umami > /backup/umami_$(date +\%Y\%m\%d).sql
  2. Configure server monitoring (UptimeRobot free tier)
  3. Review analytics dashboard and create bookmarked views
  4. Document login credentials and recovery procedures

What You Gain

  • Maximum cost savings: $48-53/year vs. $108-180/year for cloud alternatives (55-70% savings)
  • Complete privacy control: Zero third-party data sharing, all data on your infrastructure
  • True cookieless tracking: GDPR/CCPA compliant by default, no consent banner needed for analytics
  • Data ownership: Can export, migrate, or modify data anytime without vendor lock-in
  • Ad-blocker resilience: Self-hosting with custom script names bypasses many blockers
  • Unlimited retention: Keep analytics data as long as your server storage allows
  • Scalability runway: Same VPS handles 2K to 10K+ users without cost increase

What You Lose

  • Managed infrastructure: You’re responsible for server maintenance, updates, security patches
  • Instant setup: Self-hosting takes hours vs. minutes for cloud signup
  • Official support: No support tickets; rely on documentation and community forums
  • Advanced features: No session replay, heatmaps, A/B testing

Alternative Recommendations

If you want zero maintenance (but higher cost):

  • Use Umami Cloud ($9/month = $108/year)
  • Pros: Managed infrastructure, automatic updates, official support
  • Cons: 2x the cost of self-hosting, less control over data location

If you prioritize best UI/UX (and can spend more):

  • Use Plausible Cloud ($9/month = $108/year)
  • Pros: Beautiful single-page dashboard, excellent documentation
  • Cons: Pageview-based pricing may be limiting

If you need more advanced analytics:

  • Use PostHog Cloud (free tier: 1M events/month)
  • Pros: Product analytics, session replay, feature flags, A/B testing
  • Cons: Session replay requires cookies (conflicts with cookieless requirement)

What NOT to Do

  • Don’t use Google Analytics: Violates your privacy-first philosophy, requires cookie consent
  • Don’t start with Matomo self-hosted: Heavy resource requirements will require expensive VPS ($20-40/month)
  • Don’t pay for Simple Analytics: At $180/year, you’re paying 3.4x more than Umami self-hosted
  • Don’t over-engineer analytics: Resist adding session replay or heatmaps that compromise cookieless tracking
  • Don’t skip backups: Set up your own database dumps even with VPS provider backups
  • Don’t neglect security updates: Set up automatic security updates for your VPS OS

Research Notes

Pricing research conducted: January 2026
Key sources: Umami GitHub, Plausible vs Umami comparisons, Self-hosting guides
Note: VPS pricing fluctuates with exchange rates. Verify current Hetzner/DigitalOcean pricing before committing.