Devlin Geo Pulse
See who's shopping — live, private, and lightweight.
A lightweight WooCommerce plugin that shows real-time visitor presence on your store dashboard. Know how many shoppers are active right now, where they're from, and what devices they're using — without storing a single IP address.
Features
Everything you need. Nothing you don't.
Live Country Breakdown
See active visitors ranked by country. A visual meter makes traffic concentration immediately obvious at a glance.
Device Mix Panel
Track the split between desktop, mobile, tablet, and bot traffic in real time, updated on every heartbeat.
Heartbeat Presence
Visitors send a lightweight ping on a configurable interval. When pings stop, presence expires automatically — no stale data.
Zero IP Storage
Country is resolved at request time and immediately discarded. No raw IPs are logged, cached, or persisted anywhere.
WooCommerce Native
Lives entirely inside WooCommerce — a submenu dashboard page and a settings tab. No new admin menus cluttering your sidebar.
Preview Traffic Mode
On dev and staging environments, inject sample visitors to preview the dashboard layout without real traffic.
How it works
Five steps from page load to live dashboard.
- 01
Visitor loads your store
The frontend script starts a heartbeat timer as soon as any WooCommerce page is viewed.
- 02
Heartbeat fires
A lightweight JSON request hits the REST API with no personal data — just a hashed session token and device hint.
- 03
Country is resolved
The server resolves the country from the request in memory and increments an object cache counter. The IP is never written anywhere.
- 04
Dashboard updates
Your WooCommerce admin dashboard polls the same REST API and re-renders the live stats table and device panel in place.
- 05
Presence expires
When a visitor's heartbeats stop, their slot expires automatically based on the configured TTL. No cleanup jobs needed.
Privacy by design
Built to be GDPR-compatible from the ground up. No consent banners required for this plugin alone.
- No IP addresses are stored, logged, or transmitted to third parties.
- Only coarse country-level presence is tracked — never city or coordinates.
- No persistent visitor history: all data lives in object cache with a short TTL.
- No cookies are set by the plugin.
- No personal data is collected under GDPR Article 4(1).
- Compatible with standard WordPress privacy tools and GDPR plugins.
Requirements
| WordPress | 6.4 or higher |
| WooCommerce | 8.0 or higher |
| PHP | 8.2 or higher |
| Object cache | Recommended (Memcached / Redis) |
| Tested up to WP | 6.8.x |
| Tested up to WC | 10.x |
Installation
- 01 Download the plugin zip from WordPress.org.
- 02 In your WordPress admin, go to Plugins → Add New → Upload Plugin.
- 03 Upload the zip and click Install Now, then Activate.
- 04 Make sure WooCommerce is active — this plugin requires it.
- 05 Visit WooCommerce → Live Geo Pulse to see your live dashboard.
- 06 Configure the heartbeat interval under WooCommerce → Settings → Devlin Geo Pulse.
Frequently asked questions
Does this plugin work without an object cache?
Yes, it falls back to WordPress transients. An object cache (Redis or Memcached) is strongly recommended for accurate real-time counts, especially on high-traffic stores.
Will it slow down my store?
No. The frontend heartbeat is a single lightweight fetch request (< 1 KB payload) fired on a configurable interval (default 45 seconds). It runs completely asynchronously and has no impact on page load.
Does it track logged-out visitors?
Yes. The heartbeat fires for all visitors — logged in or not — using an anonymous session hash. No personally identifiable information is associated with the hash.
Can I disable the privacy notice on the storefront?
The plugin does not add any storefront notice by default. A configurable opt-in notice text is available under WooCommerce Settings if you choose to display one.
Is the data accurate to the second?
Presence is heartbeat-based, so accuracy depends on the interval. At the default 45-second window, counts are accurate to within one interval. You can lower the interval for tighter accuracy at the cost of slightly more server requests.
Ready to see who's shopping?
Free, open source, and takes under two minutes to install.
GPL-2.0-or-later · Developed by Devlin Duldulao