MemberBehavior Insights

Description

MemberBehavior Insights gives membership site owners a full-featured analytics dashboard built specifically for their members — not anonymous visitors.

What it tracks:

  • Page views, scroll depth, and time-on-page per member
  • Sessions with device type, browser, and geographic location
  • Membership tier segmentation (MemberPress, Paid Memberships Pro, WooCommerce Memberships, or WordPress roles)
  • Custom events and WooCommerce / MemberPress conversions

Dashboard features:

  • Overview KPIs — total sessions, unique members, top pages, average session time
  • Views over time chart (daily)
  • Activity heatmap — discover when members are most active by hour and day
  • Geographic distribution map
  • Cohort retention matrix — see who keeps coming back month over month
  • Scroll drop-off report — where members stop reading
  • Individual member timeline — full page-by-page history per user
  • Members list with sortable stats

Privacy & GDPR:

  • Optional opt-in consent banner before any tracking begins
  • IP anonymization (last octet stripped from IPv4 by default)
  • Per-user data export (JSON)
  • Right-to-erasure: delete all data for a single member
  • Configurable data retention period (default: 365 days, auto-pruned daily)
  • Excludes administrators and configurable roles by default

Membership plugin integrations:

  • MemberPress — active subscription name
  • Paid Memberships Pro — membership level name
  • WooCommerce Memberships — plan name
  • Fallback: WordPress user role

Premium Support

MemberBehavior Insights is free and fully functional. A premium license from appskey.ca provides priority support and early access to new features.

External Services

This plugin connects to two external services:

1. ip-api.com (Geolocation)
When geolocation is enabled (default: off), the server-side IP address of each visitor is sent to ip-api.com to determine their city, region, and country. No personal data beyond the IP address is transmitted. This service is free and requires no API key, but is rate-limited.
* Service URL: http://ip-api.com
* Privacy policy: https://ip-api.com/docs/legal
* Data sent: visitor IP address
* When: on each new page view when enabled (results are cached for 24 hours)
* Can be enabled: Yes — Settings Geolocation

2. memberanalyticspro.appskey.ca (License Management)
When a license key is activated, the plugin sends the key and your site URL to the licensing server to validate the license. This call is made on activation and then throttled to at most once every 6 hours thereafter.
* Service URL: https://memberanalyticspro.appskey.ca
* Privacy policy: https://appskey.ca/privacy
* Data sent: license key, site URL (scheme + host only), site name (on activation only)
* When: on license activation and periodically to re-validate
* Can be disabled: No — required for license validation only; geolocation can be disabled independently

Installation

  1. Upload the memberbehavior-insights folder to /wp-content/plugins/.
  2. Activate the plugin through Plugins Installed Plugins in WordPress.
  3. Navigate to MemberBehavior Insights in your WordPress admin sidebar.

Requirements

  • WordPress 5.8 or higher
  • PHP 7.4 or higher
  • MySQL 5.7 or higher (or MariaDB 10.3+)
  • At least one membership plugin is recommended (MemberPress, Paid Memberships Pro, or WooCommerce Memberships), but not required

FAQ

Does this track all users or just members?

By default the plugin tracks all logged-in users except administrators. You can configure which roles to exclude under Settings. Anonymous (logged-out) tracking is disabled by default but can be enabled.

Is it GDPR compliant?

The plugin provides the tools needed to operate in a GDPR-compliant way: opt-in consent banner, IP anonymization, data export, and data deletion. Compliance depends on how you configure and use these tools on your site.

Can I enable geolocation?

Yes. Go to MemberBehavior Insights Settings and toggle on Geolocation. When disabled (the default), no data is sent to ip-api.com.

What data is stored and for how long?

Page views, session data, events, consent records, and daily summaries are stored in your WordPress database in five custom tables. Data older than the configured retention period (default: 365 days) is automatically pruned daily.

Will deleting the plugin remove my data?

Yes. The plugin includes an uninstall routine that drops all custom database tables and removes all plugin settings when you delete the plugin via the WordPress admin.

Where can I get premium support?

Premium support and early access to new features are available at appskey.ca.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“MemberBehavior Insights” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.7

  • Fix: Renamed all plugin identifiers from the mema prefix to memabeh (MEMABEH_) to comply with WordPress.org uniqueness requirements — covers all PHP classes, constants, option names, database table names, AJAX hooks, cron events, transients, JS globals, and CSS class names.

1.0.6

  • Fix: Renamed main plugin class from Member_Analytics to MEMA_Plugin to comply with WordPress.org naming requirements — all plugin classes now consistently use the mema prefix.

1.0.5

  • Security: AJAX handlers (track_view, update_session, track_event) now enforce nonce validation for all users via check_ajax_referer(), removing the bypass that allowed logged-in users to skip the nonce check.
  • Security: Session ownership is now verified for logged-in users on update_session and track_event — a user can only update their own session records.
  • Security: view_id updates in update_session now confirm the view belongs to the supplied session_id before writing, preventing cross-session data tampering.

1.0.4

  • Fix: Corrected phpcs:ignore annotations placed inside SQL strings that caused MySQL syntax errors on all multi-line queries (views-over-time, top-content, geo, tiers, heatmap, cohort, members, scroll-dropoff, session update).
  • Fix: Session heartbeat AJAX handler now correctly updates total_time_spent, enabling Avg Session Duration to display.
  • Fix: Member list now shows display name and email separately; membership tier values are properly capitalized.
  • Fix: Role label lookup uses wp_roles() function for reliable role name resolution.

1.0.3

  • Fix: Corrected external service URL in readme (licensing server is memberanalyticspro.appskey.ca).
  • Fix: Removed misleading phpcs suppress comment; meta_data is fully sanitized recursively.

1.0.2

  • Add: License page for managing premium support key activation and deactivation.
  • Add: Admin notices when a premium support license is not present.
  • Fix: Version constant now matches plugin header.

1.0.1

  • Add: Remote license key activation and validation against the licensing server.
  • Add: Per-user data export and deletion (GDPR right-to-erasure).

1.0.0

  • Initial release.
  • Page-level and member-level tracking with session management.
  • Geographic distribution via IP geolocation.
  • Membership tier segmentation for MemberPress, Paid Memberships Pro, and WooCommerce Memberships.
  • Cohort retention analysis.
  • Activity heatmap.
  • Individual member timelines.
  • GDPR/CCPA compliance tools: consent banner, IP anonymization, data export and deletion.
  • React dashboard with interactive charts.