WP Manifestindependent plugin directory
manifest / analytics / em-analytics

EM Analytics

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

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/iamthearsh/em-analytics/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

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