WP Private Stats
A privacy-first website statistics plugin for wordpress. Collects detailed stats about visitors with realtime follow, campaigns and email summary
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.zipPrivacy-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
- Upload
wp-private-statsto/wp-content/plugins/ - Activate plugin in Plugins
- Configure under Private Stats → Settings
- 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_digestwpps_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.