PixelDigital Insights

Description

Understand how visitors use public pages on your WordPress site. Explore measured page views, clicks, scroll depth, active time and heatmaps in your administration area.

Created by PixelDigital.sk. Free GPL software: no subscription, upgrade or API account. No automatic advertising or author backlink is added to your public site.

  • Overview with trends, device categories and broad referral categories.
  • Click, sampled cursor and scroll heatmaps filtered by page, device and revision.
  • Non-interactive preview of the current page with adjustable overlay intensity.
  • Separate test visits without inflating production reports.
  • Built-in opt-in consent or integration with an existing consent manager.
  • Sampling, excluded page IDs and 7/30/90-day retention.
  • Administrator-only reports with capability and nonce checks.

The current interface is Slovak. English installation and technical guides are included. The plugin works independently of the PixelDigital theme.

Privacy

No analytics request is sent before consent. DNT and Global Privacy Control disable collection. Logged-in users are excluded except explicit administrator test visits. No analytics leaves your site for PixelDigital.sk or another service.

Records contain coarse coordinates, structural paths, page IDs, viewport size, scroll, active time and a broad source category. No field values, passwords, keystrokes, page text, URL parameters, persistent visitor IDs or session videos are recorded. Views are not linked across pages. Forms, editable fields, dialogs, private/password-protected content and WooCommerce account/cart/checkout pages are excluded. Exclude whole pages for sensitive portals and mark custom private blocks with data-pdhm-private.

Raw IP addresses are not stored by the plugin. A salted hourly HMAC of the client address (IPv6 grouped by /64) is used only for rate limiting and expires after two hours, subject to scheduled cleanup. Hosting logs are separate. Built-in consent uses localStorage pdhm_consent_v1 for up to 180 days and offers withdrawal. In external mode your consent manager stores/restores the choice. Review the suggested privacy policy text and adapt it to your site; this plugin does not certify legal compliance.

Scope and limits

Views are not unique people. Heatmaps overlay today’s layout, not an archived screenshot. JavaScript-only content, menus and redesigns may reduce accuracy. Cursor movement is not eye tracking.

Storage is bounded at 20,000 views. Daily production admissions are ceil(20,000 / retention days), e.g. 667 with 30-day retention. Tests allow 100/day and share total capacity. Reports process the newest 5,000 matching views and 3,000 heatmap regions, displaying a notice when truncated. These are resource safeguards, not paid feature gates. Reduce sampling/retention to suit your host. Hourly WP-Cron deletes up to 500 expired records; low traffic can delay it.

Public endpoints can receive fabricated traffic. Signed tokens, validation and atomic limits reduce abuse but do not replace a host firewall or prove human visits. Attackers may consume quotas. Collection pauses at capacity or on storage failure.

Requires MySQL/MariaDB with InnoDB and table creation permissions; SQLite is not supported. Site and WordPress URLs must have the same origin. Activate individually on multisite sites; network activation is not supported. The plugin does not weaken CSP/frame security headers to enable its preview.

Full operation and integration details: docs/USER-GUIDE.md and docs/DEVELOPER.md in the plugin package.

Source code

The complete human-readable source is included in this plugin package. JavaScript and CSS are shipped unminified and are loaded directly from these files:

  • assets/admin.js and assets/admin.css: administration dashboard and heatmap display.
  • assets/tracker.js: consent-aware collection and public consent controls.
  • assets/consent.css: public consent controls.

These are the original editable sources, not generated bundles. There are no third-party JavaScript/CSS libraries, compilation tools or required build steps. To develop the plugin, edit the included PHP, JavaScript and CSS files directly. See docs/DEVELOPER.md for the source layout and validation steps. All source files are covered by the included GPL-2.0-or-later license.

Installation

  1. Install the ZIP through Plugins > Add New > Upload Plugin, or upload the folder to /wp-content/plugins/.
  2. Activate on the individual site and open Analytika a heatmapy.
  3. In Nastavenia, configure consent, sampling, exclusions and retention. Review privacy information before measuring visitors.
  4. Open Otvoriť testovaciu návštevu, start the test, click public content and scroll. Select Testovacie návštevy in the dashboard and refresh after the next five-second test batch.
  5. Choose a page and device in Heatmapy. Test consent withdrawal, DNT/GPC and your custom sensitive areas as well.

FAQ

Is it free and self-hosted?

Yes. All features are included. Scripts, records and endpoints stay on your site; no account or external analytics service is required.

Why do counts differ from server logs?

Consent, privacy signals, sampling, excluded content, logged-in users and limits affect measurement. Views are not unique people or all HTTP requests.

Can I connect an existing cookie banner?

Yes. Select external mode and use the early/late-loading consent bridge in docs/DEVELOPER.md. Nothing is measured until explicit permission is supplied on that page.

How do I exclude sensitive content?

Exclude entire page IDs for sensitive portals. Use data-pdhm-private on custom private containers. Check custom widgets after changes; do not treat a heatmap plugin as access control.

What about a CDN or reverse proxy?

Forwarded headers are ignored unless exact trusted proxy CIDRs are configured with pdhm_trusted_proxies. This includes private network proxies. Never trust every address. Without configuration, visitors behind a shared proxy share its limit.

Will updating from 1.0.x preserve records?

Yes. Version 1.1.0 performs a resumable copy of legacy private posts into private tables. Collection pauses until copying completes. Originals remain until ordinary retention. Back up your database first and follow docs/USER-GUIDE.md.

What happens on uninstall?

Deactivation preserves data. Uninstall also preserves it unless the explicit deletion option was enabled. Deletion affects the current site’s plugin tables, settings and legacy records. Network-wide data cleanup is not automatic.

Reviews

There are no reviews for this plugin.

Contributors & Developers

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

Contributors

Changelog

1.1.1

  • Ship fully formatted, human-readable JavaScript and CSS as the directly executed source.
  • Document source locations and development without a compilation or build step.
  • Preserve collection behavior, consent requirements, storage schema and existing data.

1.1.0

  • Private InnoDB tables with conditional atomic snapshot writes and transactional capacity reservations.
  • Atomic rate counters and resumable legacy migration.
  • Explicit trusted-proxy configuration, including private networks.
  • Consent state before tracker loading and a readiness event.
  • Local calendar-day reports and decoded page-title entities.
  • Public-release documentation, licensing and PixelDigital.sk credit.

1.0.3

  • Earlier private deployment with daily budgets and proxy handling.

1.0.2

  • Initial private deployment with reports, heatmaps, consent and test visits.