Linux 软件免费装
Banner图

Sawir Insights

开发者 sawirricardo
更新时间 2026年11月6日 12:22
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

privacy analytics heatmap survey session recording

下载

1.1.0 1.0.0

详情介绍:

Sawir Insights is behavioral analytics for WordPress: heatmaps, session recordings, surveys, a feedback widget, form analytics, conversion funnels, and a dashboard that ties them together. On multisite networks, each site tracks and configures its analytics independently. In short: a self-hosted alternative to Hotjar or Microsoft Clarity, where visitor data stays in your own database. The reason it exists is simple. The established tools in this category are good, but they work by shipping a record of everything your visitors do to someone else's servers. For a lot of sites — especially in the EU — that is somewhere between uncomfortable and unworkable. I wanted the same class of tooling where the data never leaves the site that collected it. So that is the constraint this plugin is built around: your database, your uploads directory, your retention rules. There is no SaaS behind it, no account to create, and no phone-home of any kind. What it does What it deliberately does not do I think you should know what a tool refuses to do before you install it. The frontend tracker is small vanilla JavaScript, batched over sendBeacon, with sampling controls. Visitors who are not sampled into recording never download the replay library at all. Privacy posture Do Not Track is honored by default. A consent-mode API (window.swinsConsent) integrates with whatever consent manager you already run. Sessions, events, and recordings are wired into WordPress's own personal-data export and erasure tools. Whether your specific deployment is GDPR compliant depends on your notices and legal basis — that part no plugin can do for you — but the data-minimization work is done. Support Support runs through the wordpress.org forum for this plugin, or email ricardo@sawirstudio.com. More free plugins from Sawir Studio

安装:

  1. Upload the sawir-insights directory to /wp-content/plugins/, or install through the Plugins screen.
  2. Activate Sawir Insights.
  3. Open Insights → Settings and review the privacy and sampling options. Tracking is on after activation; session recording is not.
  4. Give it some traffic, then open Insights → Dashboard.

常见问题:

How does it compare to alternatives?

Hosted analytics services like Hotjar and Microsoft Clarity are excellent tools with generous free tiers — and they work by sending a record of your visitors' behavior to their servers. Sawir Insights trades that cross-site infrastructure for one constraint: everything is collected, stored, and viewed on your own site. Choose a hosted service if you want its extras and don't mind third-party processing; choose Sawir Insights if visitor data leaving your server is a dealbreaker. Recordings and heatmaps live in your own database and uploads directory, so the retention settings matter more here than in a SaaS.

Is Sawir Insights GDPR compliant?

The plugin is built for privacy-conscious deployments: data stays on your server, IP addresses are never stored, retention is configurable, Do Not Track is honored, and WordPress export/erasure tools are integrated. Compliance itself depends on your configuration, notices, legal basis, and consent implementation — consult qualified counsel for your site.

How is this different from Hotjar or Microsoft Clarity?

Those are hosted services: capable tools, but your visitors' behavior is recorded onto their servers under their terms. Sawir Insights covers the same category — heatmaps, session recordings, surveys, funnels, form analytics — as a plugin that keeps everything on your own server, with no account, no external service, and no data sharing.

Does visitor data leave my server?

No. The plugin sends no behavioral data to Sawir Studio or any analytics provider. Events live in your WordPress database; recording files live beneath your protected uploads directory.

Can analytics data live in its own database?

Yes. I keep this as a wp-config.php-only setting so database credentials never enter the WordPress options table. Define all four constants before the "That's all, stop editing" line: define( 'SWINS_DB_HOST', 'localhost' ); define( 'SWINS_DB_NAME', 'analytics' ); define( 'SWINS_DB_USER', 'analytics_user' ); define( 'SWINS_DB_PASSWORD', 'a-strong-password' ); The analytics tables keep the main site's table prefix, so moving between the WordPress database and an external database is a plain table copy. Do not run two live collecting databases for one site: copy the tables, switch the constants, and only then resume collection. Otherwise you will split one site's history across two databases.

Does it store IP addresses?

No.

How do I connect a consent manager?

Enable "Require consent before tracking," then call window.swinsConsent('grant') when consent is granted and window.swinsConsent('revoke') when it is withdrawn. The decision is saved in a first-party cookie.

Are form values captured?

No. Form capture records selectors, timing, and empty-state metadata only. Values never leave the browser.

How are session recordings protected?

Recording is disabled by default. When enabled, all input values are masked automatically, canvas capture is off, and replay chunks stay beneath the guarded wp-content/uploads/sawir-insights/recordings/ directory. Only administrators can retrieve them, through an authenticated REST endpoint.

How do I mask or block sensitive page areas?

Add the swins-mask class or data-swins-mask attribute to mask an element's text. Add the swins-block class to omit an element entirely from recordings.

How is recording disk usage controlled?

Insights → Settings has separate recording retention and disk-cap controls. Past the cap, the oldest recordings are removed first. Usage is tracked continuously and recalculated weekly.

How do surveys decide when to appear?

Each active survey can target URL patterns, devices, a stable percentage of sessions, time on page, scroll depth, or desktop exit intent. One survey per browser session; dismissed surveys stay hidden for 30 days.

How complete are funnel reports?

Funnels are computed from ordered page-view and click metadata retained on your server, so history is bounded by the raw-event retention window in Insights → Settings.

Why do heatmaps lag behind live traffic?

I fold raw events into heatmap aggregates hourly through WP-Cron. WordPress only runs WP-Cron when someone visits the site, so on a low-traffic site I recommend a real system cron, for example: */5 * * * * cd /path/to/wordpress && wp cron event run --due-now

Changelog

1.1.0

  • Fix: survey responses now have their own retention period (Insights → Settings, 365 days by default). Previously they never expired, and they kept their sessions — user ID, country, entry URL and referrer — beyond the raw-event retention window.
  • Fix: raw click, mouse-move and scroll events are deleted at the retention cutoff even if heatmap aggregation has stalled (for example when WP-Cron is not running).
  • Fix: reactivating an archived funnel skips sessions that are already past the raw-event retention window, and the report shows that span as a gap instead of silently under-counting.

1.0.0

  • Added the self-hosted analytics foundation.
  • Added optional wp-config.php constants for keeping analytics tables in a dedicated database.
  • Added click, movement and scroll collection and heatmap aggregation.
  • Added live-page heatmap administration.
  • Added privacy controls, consent API, exporter and eraser.
  • Added sampled session recording capture, protected chunk storage, retention, disk-cap eviction, recording administration, and rrweb playback.
  • Vendored rrweb 2.1.0 and rrweb-player 2.1.0 browser bundles locally.
  • Added targeted popup surveys and an accessible persistent feedback widget.
  • Added survey administration, per-question results, NPS scoring, and CSV export.
  • Added privacy-safe daily form analytics with field timing, abandonment, and completion reporting.
  • Added ordered page-view and click funnels with retention-aware daily conversion reports.
  • Added the analytics dashboard with KPI deltas, an inline daily trend chart, device, browser, OS, page, referrer, and UTM breakdowns, funnel and recording summaries, and date, device, and UTM source filters.