WP Manifestindependent plugin directory
manifest / analytics / em-analytics

EM Analytics

Privacy-first, cookie-free analytics for WordPress with beautiful dashboard

by Emrys · github.com/iamthearsh/em-analytics · website

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/iamthearsh/em-analytics/archive/refs/heads/master.zip

EM Analytics Banner

Privacy-first, cookie-free analytics for WordPress. Know your visitors without compromising their privacy.

✨ Features

  • 🔒 Privacy First - No cookies, no personal data
  • 🚀 Lightweight - Under 1KB tracking script
  • 📊 Beautiful Dashboard - Visual charts and stats
  • 🌍 GDPR Compliant - No consent banner needed
  • 📱 Device Detection - Mobile, tablet, desktop
  • 🔗 Referrer Tracking - Know where visitors come from
  • 📈 Real-time Stats - Today, week, month views
  • 🎨 Dashboard Widget - Quick stats on WP dashboard

📦 Installation

  1. Upload plugin to /wp-content/plugins/
  2. Activate through WordPress admin
  3. View analytics at EM Analytics menu

📊 What's Tracked

Data Purpose
Page URL Which pages are popular
Page Title Better reporting
Referrer Traffic sources
Device Type Mobile/Desktop split
Browser Chrome, Firefox, etc.
Screen Width Responsive insights

🔒 What's NOT Tracked

  • ❌ No IP addresses stored
  • ❌ No cookies used
  • ❌ No personal data
  • ❌ No cross-site tracking
  • ❌ No fingerprinting

⚙️ Configuration

The plugin works out of the box with sensible defaults:

  • Admin users are not tracked by default
  • Respects Do Not Track (DNT) browser setting
  • Data stored in your WordPress database

🛠️ Developer Notes

Getting Stats Programmatically

global $wpdb;
$table = $wpdb->prefix . 'em_analytics';

// Get today's pageviews
$today = $wpdb->get_var("SELECT COUNT(*) FROM $table WHERE DATE(created_at) = CURDATE()");

Extending the Tracker

// Track custom events
document.addEventListener('click', function(e) {
    if (e.target.matches('.cta-button')) {
        // Custom tracking logic
    }
});

📋 Requirements

  • WordPress 5.0+
  • PHP 7.2+
  • MySQL 5.6+

🤝 Contributing

Contributions welcome! Submit a Pull Request.

📄 License

GPL-2.0 - see LICENSE

👤 Author

Emrys - @iamthearsh


Made with ❤️ by Emrys