WP Manifestindependent plugin directory
manifest / privacy / wp-private-stats

WP Private Stats

A privacy-first website statistics plugin for wordpress. Collects detailed stats about visitors with realtime follow, campaigns and email summary

by Kim Schulz · github.com/kimusan/wp-private-stats

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/kimusan/wp-private-stats/archive/refs/heads/main.zip

Privacy-friendly, fully self-hosted analytics for WordPress with dashboards, campaign tracking, cohorts, realtime widgets, anomaly insights, and email summaries.

Overview

WP Private Stats keeps analytics data on your own infrastructure. It provides an admin analytics experience for traffic, content, audience behavior, campaigns, conversions, technology, geography, security/login activity, comment activity, and realtime visitor flow.

Features

  • Self-hosted tracking (no third-party analytics beacon)
  • Overview metrics with previous-period comparisons
  • Interactive charts (daily/weekly/monthly/yearly)
  • Traffic source analytics with anomaly risks/opportunities
  • Content performance tables (landing pages, outbound clicks, CTA, downloads, media)
  • Audience cohorts and retention slices (source/device/country)
  • Conversion analytics (funnel, latency, journey depth, source assist)
  • Technology analytics (browsers/OS + performance quality)
  • Geography map + country performance table
  • Campaign analytics (UTM performance, quality issues, fatigue, anomalies)
  • Realtime panel with live visitor list, journey view, dropoff and exit paths
  • Security analytics (successful/failed logins, failed usernames)
  • Comment analytics (status summary + most commented posts/pages)
  • Admin dashboard widgets (core + insights widget)
  • CSV exports per panel
  • Email summaries and anomaly alert sections

Requirements

  • WordPress 6.2+
  • PHP 7.4+

Installation

  1. Upload wp-private-stats to /wp-content/plugins/
  2. Activate plugin in Plugins
  3. Configure under Private Stats → Settings
  4. Optional: ensure WP-Cron (or system cron) runs regularly for scheduled digests/alerts

Configuration Highlights

In Private Stats → Settings you can configure:

  • Track logged-in users
  • Track login activity
  • Track comment activity
  • Ignored IPs
  • Geo tracking
  • Visitor retention days
  • Weekly start day
  • Conversion goals/funnel/events
  • Email summary frequency and recipients
  • Anomaly alert types

UTM Tracking

Use standard UTM params in URLs, e.g.:

?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch

Campaign and attribution data appears in the Campaigns panel.

Cron Hooks

If WP-Cron is disabled, schedule:

  • wpps_daily_digest
  • wpps_hourly_alert_check

Privacy Notes

  • Data is stored in your WordPress DB
  • Browser DNT is respected
  • Optional IP ignore list
  • Optional toggles for login/comment activity tracking

Database Tables

Primary plugin tables:

  • {prefix}_wpps_sessions
  • {prefix}_wpps_events
  • {prefix}_wpps_visitors
  • {prefix}_wpps_security_events

FAQ

Does this replace Google Analytics?

It is a self-hosted alternative focused on privacy and actionable site metrics. It does not include Google Ads/remarketing integrations.

What data is collected?

Session/page analytics, attribution (UTM), device/browser/OS, optional geo data, conversion events, realtime flow data, and optional login/comment activity analytics.

Can I export data?

Yes. Use dashboard CSV export per panel, or query tables directly.

Will it slow my site?

Frontend tracking is lightweight and async. High-traffic sites should ensure adequate DB resources and retention hygiene.

Changelog

Current stable version: 1.6.1

1.6.1

  • Fixed campaign fatigue query compatibility for MariaDB/MySQL variants by removing aggregate alias references in HAVING/ORDER BY.
  • Improved campaign insights stability for dashboard and summary-email contexts.

1.6.0

  • Added tabbed settings UI (Tracking, Display, Conversions, Email & Alerts).
  • Added contextual descriptions per settings tab.
  • Continued admin/dashboard UX consistency improvements.

1.5.0

  • Added security analytics for successful/failed login attempts and targeted usernames.
  • Added comment analytics summary and top-commented content reporting.

1.4.0

  • Added live realtime visitor plot and improved active-visitor timeout behavior.
  • Added realtime visitor journey view (entry/route/exit tracking).
  • Synced realtime time formatting with WordPress time format settings.

1.3.0

  • Added expanded conversion/journey-depth insights and broader anomaly/data-quality surfacing.

1.2.0

  • Added traffic source tables, enhanced technology metrics, improved geography map/table, and geo tracking toggle.
  • Improved email summary comparisons and weekly timezone-aligned chart aggregation.

For full WordPress-formatted changelog and upgrade notices, see readme.txt.

License

GPLv2 or later.

Credits

Developed by Kim Schulz with review and security audit help from AI. The plugin has been in active development and use since 2022 on https://schulz.dk . Uses Chart.js and jsVectorMap for plots and geomap.