📖Siyuan's Notes
中文
Tools2026-10-22

Plausible Privacy-Focused Analytics Guide: GDPR-Compliant Web Analytics Without Cookies in 2026

#Plausible#Web Analytics#Privacy#GDPR#Google Analytics Alternative

Plausible Privacy-Focused Analytics Guide: GDPR-Compliant Web Analytics Without Cookies in 2026

Plausible Analytics is a privacy-focused web analytics platform that does not use cookies, does not collect personal data, and is fully GDPR compliant by default. While Google Analytics 4 requires cookie banners, consent management, and complex configuration to comply with privacy regulations, Plausible needs none of that — you add a single script tag and you are done. The platform measures page views, traffic sources, bounce rates, and goals without tracking individual users, storing IP addresses, or building behavioral profiles. With over 10,000 paying customers and growing adoption among privacy-conscious businesses, Plausible has become the leading alternative to Google Analytics for websites that want useful analytics without the legal and ethical overhead of surveillance-based tracking. This guide covers everything from setup to advanced goal tracking, self-hosting, pricing, and side hustle opportunities.

Why Plausible in 2026

The web analytics market has shifted dramatically due to privacy regulations. Here is how Plausible compares.

Platform Cookies GDPR Compliant Cookie Banner Needed Data Ownership Cost Self-Host Script Size Privacy
Plausible No Yes (by default) No You $9-59/mo Yes <1 KB Excellent
Google Analytics 4 Yes (with consent) Requires config Yes Google Free No 50+ KB Poor
Fathom No Yes No You $15-75/mo No <1 KB Excellent
Umami No Yes No You $0 (self-host) Yes <2 KB Excellent
Matomo Optional Yes (with config) Depends You $0-59/mo Yes 20+ KB Good
Mixpanel Yes Requires config Yes Mixpanel $0-1000+/mo No 50+ KB Poor
PostHog Optional Yes Depends You $0-2000+/mo Yes 50+ KB Good
Simple Analytics No Yes No You $9-59/mo No <1 KB Excellent

Plausible wins on simplicity, privacy, and no cookie banner requirement. The script is under 1 KB (compared to Google Analytics at 50+ KB), it uses no cookies, and it is GDPR compliant without any configuration. The trade-off is that Plausible provides fewer features than Google Analytics 4 or PostHog — it focuses on the essential metrics (page views, sources, goals) without behavioral tracking, user profiles, or complex segmentation.

Plausible Pricing in 2026

Cloud-Hosted Plans (Plausible.io)

Plan Monthly Cost Monthly Page Views Websites Custom Domains Data Export Key Features Best For
Starter $9/mo ($90/yr) 10,000 1 1 CSV Basic analytics Small sites, blogs
Growth $19/mo ($190/yr) 100,000 10 3 CSV, API Goals, events, stats API Growing sites
Business $59/mo ($590/yr) 1,000,000 50 10 Full API Team access, custom events High-traffic sites
Enterprise Custom Custom Custom Custom Full API SLA, support Large organizations

What You Get with Each Plan

Starter ($9/mo): 10,000 monthly page views, 1 website, 1 custom domain (analytics.yoursite.com), CSV data export, email reports, and basic analytics (page views, bounce rate, referral sources, browser/device/country breakdowns). This is enough for a personal blog, portfolio, or small business website.

Growth ($19/mo): 100,000 monthly page views, 10 websites, 3 custom domains, goal tracking, custom event tracking, stats API access, and email reports. This is the plan for growing websites, side hustle projects, and small businesses that need conversion tracking.

Business ($59/mo): 1,000,000 monthly page views, 50 websites, 10 custom domains, team member access, unlimited custom events, full API access, and priority support. This is for high-traffic websites and businesses with multiple properties.

Enterprise (Custom): Everything in Business plus dedicated infrastructure, SLA, custom data retention, and enterprise support.

Self-Hosted (Free, Open Source)

Feature Self-Hosted Cloud Hosted
Monthly cost $5-10/mo (VPS) $9-59/mo
Page views Unlimited Plan-dependent
Websites Unlimited Plan-dependent
Setup time 30-60 minutes 2 minutes
Maintenance You handle updates Automatic
Updates Manual Automatic
Support Community Official support
Data location Your server EU (GDPR compliant)
Custom domain Yes (your server) Yes (analytics.yoursite.com)
API access Yes Growth plan+

Self-hosting is free (software-wise) but requires a VPS ($5-10/mo) and some technical setup. The trade-off is you handle updates, maintenance, and security yourself.

Getting Started: Adding Plausible to Your Website

Step 1: Create a Plausible Account (Cloud)

  1. Go to plausible.io and click Start free trial
  2. Sign up with email
  3. Add your website details:
    • Domain: yoursite.com
    • Timezone: Choose your timezone
    • Reporting interval: Daily or hourly
  4. You get a 30-day free trial (no credit card required)

Step 2: Add the Tracking Script

Plausible gives you a single script tag to add to your website:

<!-- Add this in the <head> of your website -->
<script defer data-domain="yoursite.com" src="https://plausible.io/js/script.js"></script>

For Next.js (App Router):

// app/layout.tsx
import { Plausible } from '@plausible/web';

export default function RootLayout({ children }) {
  return (
    <html>
      <head>
        <Plausible domain="yoursite.com" />
      </head>
      <body>{children}</body>
    </html>
  );
}

Or manually:

// app/layout.tsx
import Script from 'next/script';

export default function RootLayout({ children }) {
  return (
    <html>
      <head>
        <Script
          defer
          data-domain="yoursite.com"
          src="https://plausible.io/js/script.js"
          strategy="afterInteractive"
        />
      </head>
      <body>{children}</body>
    </html>
  );
}

For plain HTML:

<!DOCTYPE html>
<html>
<head>
  <title>My Website</title>
  <script defer data-domain="yoursite.com" src="https://plausible.io/js/script.js"></script>
</head>
<body>
  <h1>Hello World</h1>
</body>
</html>

Step 3: Verify Tracking

  1. Visit your website
  2. Go to plausible.io/yoursite.com
  3. You should see your first page view appear within seconds
  4. Check "Current visitors" — you should see yourself

Step 4: No Cookie Banner Needed

Because Plausible does not use cookies or collect personal data, you do not need a cookie consent banner. This is the single biggest advantage — no GDPR popup, no consent management, no legal headaches.

Plausible Dashboard: Understanding Your Metrics

Core Metrics

Metric What It Measures How Plausible Calculates It
Unique visitors Unique browsers visiting Per-browser, per-day (no cross-site tracking)
Total page views All page loads Every script execution
Bounce rate % who leave after 1 page Session with single page view
Visit duration Average time on site Time between first and last page view
Current visitors Live visitor count Active in last 5 minutes

Traffic Sources

Source Type What It Shows
Referrer Which website sent the visitor
UTM source Campaign source (if UTM tags used)
UTM medium Campaign medium (email, social, etc.)
UTM campaign Specific campaign name
UTM content Ad/content variant
UTM term Search term (for ads)

Device and Geography

Breakdown What It Shows
Country Visitor's country (IP-based, not stored)
Region State/province (approximate)
City City (approximate)
Browser Chrome, Safari, Firefox, etc.
OS Windows, macOS, iOS, Android, Linux
Device type Desktop, mobile, tablet
Screen width Screen resolution

Page-Level Metrics

Metric What It Shows
Top pages Most viewed pages
Entry pages First page visitors land on
Exit pages Last page before leaving
Conversion rate % of visitors who complete a goal

Goal Tracking and Conversions

Plausible lets you track goals (conversions) without setting up complex event tracking.

Step 1: Create a Goal

  1. Go to your Plausible dashboard
  2. Click Settings > Goals
  3. Click Add goal
  4. Choose goal type:
    • Page visit: Track when someone visits a specific page (e.g., /thank-you)
    • Custom event: Track custom actions (e.g., button click, form submit)

Step 2: Page Visit Goal (Simplest)

  1. Goal type: Page visit
  2. Goal name: Newsletter signup
  3. Page URL: /thank-you
  4. Save

Now, every time someone visits /thank-you on your site, it counts as a conversion.

Step 3: Custom Event Goal (Advanced)

For tracking button clicks, form submissions, or other actions:

  1. Add the custom event script to your site:
<!-- Add the events script (extension of the main script) -->
<script defer data-domain="yoursite.com" src="https://plausible.io/js/script.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
  1. Trigger events in your code:
// Newsletter signup
document.getElementById('signup-form').addEventListener('submit', function() {
  plausible('Newsletter Signup', {
    props: {
      method: 'footer_form',
      page: 'homepage'
    }
  });
});

// Download click
document.getElementById('download-btn').addEventListener('click', function() {
  plausible('Download', {
    props: {
      file: 'ebook.pdf',
      location: 'sidebar'
    }
  });
});

// Purchase
document.getElementById('checkout-btn').addEventListener('click', function() {
  plausible('Purchase', {
    props: {
      product: 'Pro Plan',
      amount: '29',
      currency: 'USD'
    }
  });
});
  1. Create a goal in Plausible:
    • Goal type: Custom event
    • Event name: Newsletter Signup
    • Save

Goal Tracking with Revenue

// Track a purchase with revenue
plausible('Purchase', {
  props: {
    revenue: '29.00',        // Revenue amount
    currency: 'USD',
    product: 'Pro Plan'
  }
});

Plausible displays revenue alongside conversion counts in the dashboard.

Goal Conversion Rate Calculation

Conversion Rate = (Goal completions / Unique visitors) × 100

Example: 1,000 visitors, 50 signups
Conversion Rate = (50 / 1000) × 100 = 5%

Custom Dimensions and Breakdowns

Plausible lets you break down metrics by custom properties:

Step 1: Define Custom Properties

// Page view with custom properties
plausible('pageview', {
  props: {
    author: 'John Doe',      // Article author
    category: 'Technology',  // Article category
    membership: 'premium'   // User membership tier
  }
});

Step 2: Add Custom Properties to Goals

plausible('Purchase', {
  props: {
    plan: 'pro',
    payment_method: 'stripe',
    discount_code: 'LAUNCH20'
  }
});

Step 3: View Breakdowns in Dashboard

In your Plausible dashboard:

  1. Go to a goal or custom event
  2. Click Filter
  3. Select a custom property (e.g., plan)
  4. See the breakdown of conversions by property value

Breakdown Examples

Property Use Case Values
author Blog traffic by author "John", "Jane", "Bob"
category Content performance "Tech", "Finance", "Lifestyle"
plan Revenue by subscription tier "Free", "Pro", "Enterprise"
source Attribution tracking "newsletter", "ads", "organic"
variant A/B test results "A", "B"

Self-Hosting Plausible

For full data ownership and unlimited usage, you can self-host Plausible on a VPS.

Step 1: Choose a Hosting Method

Method Complexity Cost Best For
Docker Compose Medium $5-10/mo VPS Most users
Coolify Easy $5-15/mo VPS Beginners
Manual install Hard $5/mo VPS Advanced users

Step 2: Self-Host with Docker Compose

  1. Get a VPS (DigitalOcean, Hetzner, or any provider):
# SSH into your server
ssh root@your-server-ip

# Install Docker
curl -fsSL https://get.docker.com | sh

# Create a directory
mkdir plausible
cd plausible
  1. Create docker-compose.yml:
version: "3"
services:
  plausible_db:
    image: postgres:16
    restart: always
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres

  plausible_events_db:
    image: clickhouse/clickhouse-server:24.3
    restart: always
    volumes:
      - event-data:/var/lib/clickhouse
    ulimits:
      nofile:
        soft: 262144
        hard: 262144

  plausible:
    image: ghcr.io/plausible/community-edition:latest
    restart: always
    command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
    depends_on:
      - plausible_db
      - plausible_events_db
    ports:
      - "8000:8000"
    env_file:
      - plausible.env

volumes:
  db-data:
    driver: local
  event-data:
    driver: local
  1. Create plausible.env:
BASE_URL=https://analytics.yoursite.com
SECRET_KEY_BASE=your-random-64-char-secret
DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db
  1. Start Plausible:
docker compose up -d

# Check if it's running
docker compose ps

# Access at http://your-server-ip:8000
  1. Set up SSL with Caddy (reverse proxy):
# Add to docker-compose.yml
  caddy:
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy-data:/data
    depends_on:
      - plausible

# Caddyfile
analytics.yoursite.com {
  reverse_proxy plausible:8000
}
docker compose up -d
# Now accessible at https://analytics.yoursite.com with automatic SSL

Self-Hosted vs. Cloud Cost Comparison

Item Self-Hosted Cloud (Growth)
Software $0 (open source) Included
VPS $5-10/mo Included
SSL certificate $0 (Let's Encrypt) Included
Domain $1/mo (if needed) Included (analytics.yoursite.com)
Maintenance 2-4 hrs/mo $0
Page views Unlimited 100K/mo
Websites Unlimited 10
Total monthly cost $5-10/mo $19/mo
Total annual cost $60-120/yr $190/yr

Self-hosting is cheaper at scale but requires maintenance. For most side hustles, the cloud plan ($9-19/mo) is the better trade-off.

Plausible for Side Hustles

Plausible is not just an analytics tool — it is a platform for building privacy-focused services. Here are practical side hustles.

Side Hustle 1: Privacy-Focused Analytics Consulting

Many businesses struggle with GDPR compliance for Google Analytics. You can offer migration services.

Service Client Price Time
GA4 to Plausible migration Small businesses $200-500 1-2 days
Privacy audit + Plausible setup Mid-size companies $300-1000 2-3 days
Cookie banner removal + analytics migration Any website $200-800 1-2 days
Plausible self-hosting setup Privacy-conscious companies $500-1500 2-3 days
Team training on Plausible Organizations $200-500 Half-day

Steps to start:

  1. Learn Plausible setup (this guide + official docs)
  2. Set up Plausible for 2-3 sample websites
  3. Create a portfolio showing before/after (GA4 → Plausible)
  4. List on Upwork, Fiverr, or approach businesses directly
  5. Highlight the legal benefit: no cookie banner, no GDPR risk

Side Hustle 2: Build and Sell Plausible-Powered Dashboards

Create custom analytics dashboards using the Plausible Stats API.

Dashboard Type Client Price Revenue Model
Client portal dashboard Agencies $49-99 One-time
Multi-site analytics dashboard Marketing agencies $99-199 One-time
Team analytics dashboard Startups $59-129 One-time
Custom KPI dashboard Any business $99-299 One-time
White-label analytics portal Resellers $199-499 One-time

Plausible Stats API:

// Fetch analytics data via API
const response = await fetch(
  'https://plausible.io/api/v1/stats/aggregate?' +
  new URLSearchParams({
    site_id: 'yoursite.com',
    period: '30d',
    metrics: 'visitors,page_views,bounce_rate,visit_duration',
  }),
  {
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
    },
  }
);

const data = await response.json();
// {
//   "results": {
//     "visitors": { "value": 12450 },
//     "page_views": { "value": 18900 },
//     "bounce_rate": { "value": 42.3 },
//     "visit_duration": { "value": 87 }
//   }
// }

Side Hustle 3: Build and Sell Privacy-Focused Websites

Many businesses want privacy-focused websites but don't know how. Offer "privacy-first website" packages.

Package Includes Price Monthly Retainer
Basic privacy site Website + Plausible + no cookies $500-1500 $0-30/mo
Business privacy site Website + Plausible + blog + GDPR docs $1000-3000 $30-50/mo
E-commerce privacy site Store + Plausible + Stripe (no tracking) $2000-5000 $50-100/mo
SaaS privacy site App + Plausible + auth + no tracking $3000-8000 $50-200/mo

Side Hustle 4: Self-Hosted Plausible as a Service

Host Plausible for clients who want data ownership but don't want to manage servers.

Service Price Includes
Plausible hosting (1 site) $15-25/mo VPS + Plausible + SSL + maintenance
Plausible hosting (5 sites) $49-79/mo VPS + Plausible + multi-site + maintenance
Plausible hosting (20 sites) $99-199/mo Dedicated VPS + Plausible + priority support
Plausible migration $200-500 Migrate from GA4 + setup + training

Cost structure:

  • VPS: $5-10/mo (Hetzner, DigitalOcean)
  • Domain: $1/mo
  • Your time: 2-4 hours initial setup, 1-2 hours/mo maintenance
  • With 5 clients at $25/mo = $125/mo revenue, $120/mo profit
  • With 20 clients at $99/mo = $1,980/mo revenue, $1,970/mo profit

Advanced Plausible Features

1. Stats API

Access all analytics data programmatically:

// Get aggregated stats
const url = `https://plausible.io/api/v1/stats/aggregate?` +
  new URLSearchParams({
    site_id: 'yoursite.com',
    period: '30d',
    metrics: 'visitors,page_views,bounce_rate',
    compare: 'previous_period',
  });

const response = await fetch(url, {
  headers: { Authorization: `Bearer ${API_KEY}` },
});

// Get timeseries data
const timeseriesUrl = `https://plausible.io/api/v1/stats/timeseries?` +
  new URLSearchParams({
    site_id: 'yoursite.com',
    period: '30d',
    metrics: 'visitors',
  });

// Get breakdown by dimension
const breakdownUrl = `https://plausible.io/api/v1/stats/breakdown?` +
  new URLSearchParams({
    site_id: 'yoursite.com',
    period: '30d',
    property: 'visit:source',
    metrics: 'visitors',
  });

2. Outbound Link Click Tracking

Track which external links visitors click:

<!-- Add the outbound links extension -->
<script defer data-domain="yoursite.com"
  src="https://plausible.io/js/script.outbound-links.js"></script>

Now all outbound link clicks are tracked as custom events.

3. File Download Tracking

Track file downloads automatically:

<!-- Add the file downloads extension -->
<script defer data-domain="yoursite.com"
  src="https://plausible.io/js/script.file-downloads.js"
  data-file-downloads-types="pdf,docx,xlsx,zip"></script>

4. 404 Error Page Tracking

Track 404 errors to find broken links:

<!-- On your 404 page -->
<script>
  window.plausible = window.plausible || function() {(window.plausible.q = window.plausible.q || []).push(arguments)}
  plausible('404', { props: { path: document.location.pathname } })
</script>

5. Custom Event via URL Hash

Track tabs or accordions:

<script>
  // Track hash changes as custom events
  window.plausible = window.plausible || function() {(window.plausible.q = window.plausible.q || []).push(arguments)}

  function trackHash() {
    var hash = window.location.hash.replace('#', '');
    if (hash) {
      plausible('Tab View', { props: { tab: hash } });
    }
  }

  window.addEventListener('hashchange', trackHash);
  trackHash();
</script>

6. Single Page App (SPA) Tracking

For React, Vue, or other SPAs:

<!-- Enable SPA page view tracking -->
<script defer data-domain="yoursite.com"
  src="https://plausible.io/js/script.hash.js"></script>
<!-- For history API routing: -->
<script defer data-domain="yoursite.com"
  src="https://plausible.io/js/script.manual.js"></script>
// Manually track page views (for SPA route changes)
plausible('pageview');

For Next.js:

// app/layout.tsx
import Script from 'next/script';
import { usePathname } from 'next/navigation';

export default function RootLayout({ children }) {
  const pathname = usePathname();

  return (
    <html>
      <head>
        <Script
          defer
          data-domain="yoursite.com"
          src="https://plausible.io/js/script.js"
          strategy="afterInteractive"
        />
      </head>
      <body>
        {children}
        <Script
          id="plausible-pageview"
          strategy="afterNavigation"
          dangerouslySetInnerHTML={{
            __html: `window.plausible && window.plausible('pageview');`,
          }}
        />
      </body>
    </html>
  );
}

Common Pitfalls and How to Avoid Them

Pitfall Problem Solution
Wrong domain in script Data not tracked Ensure data-domain matches your site exactly
Script loaded too late Missing early page views Add script in <head>, use defer
Ad blockers ~15-20% of traffic blocked Accept as limitation or use custom domain
Not testing custom events Events don't fire Use browser console to verify plausible() calls
Too many custom events Dashboard clutter Only track meaningful conversions
Not setting goals No conversion data Set up goals for key actions
Forgetting SPA tracking Missed page views Use hash.js or manual pageview tracking
Self-hosted without backups Data loss Set up automatic ClickHouse backups
Not using UTM tags Missing campaign data Use UTM tags in all campaign links
Comparing with Google Analytics Numbers differ GA and Plausible count differently — accept it

Plausible vs. Google Analytics: Key Differences

Metric Plausible Google Analytics 4
Unique visitors Per-browser, per-day Per-client-id, per-session
Page views Script execution Page_view event
Bounce rate Single page view = bounce Engaged session (<10s) = bounce
Cookie banner Not needed Required (if cookies enabled)
Data retention Forever (your choice) 14 months (default)
Data ownership You Google
Script size <1 KB 50+ KB
GDPR compliance By default Requires configuration
Real-time data Yes (5-min window) Yes (with delay)
Learning curve 5 minutes Days to weeks
Price $9-59/mo Free (but complex)

Action Checklist: Getting Started with Plausible

  • Sign up for Plausible free trial (30 days, no card)
  • Add your website domain
  • Add the tracking script to your site
  • Verify you see page views in the dashboard
  • Confirm you do NOT need a cookie banner
  • Create your first goal (page visit, e.g., /thank-you)
  • Set up custom event tracking (button click or form submit)
  • Add UTM tags to a campaign link and verify tracking
  • Try the Stats API (fetch data programmatically)
  • Add outbound link tracking
  • Add 404 error tracking
  • Set up weekly email reports
  • If self-hosting: set up Docker Compose on a VPS
  • Compare numbers with any existing analytics
  • Evaluate upgrading from trial to paid plan ($9-19/mo)

Realistic Cost and Performance

Metric Starter ($9/mo) Growth ($19/mo) Business ($59/mo) Self-Hosted
Page views/mo 10,000 100,000 1,000,000 Unlimited
Websites 1 10 50 Unlimited
Script load time <5ms <5ms <5ms <5ms
Script size <1 KB <1 KB <1 KB <1 KB
Dashboard load <1s <1s <1s <2s
Real-time data Yes (5-min) Yes (5-min) Yes (5-min) Yes (5-min)
Data export CSV CSV + API Full API Full API
Monthly cost $9 $19 $59 $5-10 (VPS)
Annual cost $90 $190 $590 $60-120

Final Word

Plausible Analytics is the best privacy-focused web analytics platform in 2026. For $9-19/month, you get clean, essential web analytics without cookies, without cookie banners, without GDPR compliance headaches, and without the 50 KB script that Google Analytics loads. The platform tracks what matters — page views, traffic sources, bounce rates, and conversion goals — without tracking individual users, storing IP addresses, or building behavioral profiles. For side hustlers, Plausible enables three distinct income streams: privacy-focused analytics consulting ($200-1500 per project), self-hosted Plausible as a managed service ($15-199/month per client), and privacy-first website packages ($500-5000 per project). The key insight is that as privacy regulations tighten worldwide, more businesses are actively seeking alternatives to Google Analytics — and Plausible is the easiest, fastest, and most compliant option. Start with the 30-day free trial, add the script to your website today (it takes 2 minutes), and you will have analytics data within seconds. Upgrade to the Growth plan ($19/mo) when you need goal tracking or more than 10,000 monthly page views. The simplicity and privacy benefits will be obvious from the first dashboard view.

More guides: bsynet.cc

Tags

#Plausible#Web Analytics#Privacy#GDPR#Google Analytics Alternative

Related Posts