ZenMarkup Privacy Analytics

Changelog

1.2.3

  • New: added an optional previous-period comparison line to the main dashboard chart. You can compare the last 7 days with the previous 7 days, the last 30 days with the previous 30 days, or today with yesterday using the new “Compare previous period” checkbox.
  • Changed: renamed the “New vs Returning” widget to “New vs Repeat” to better match the privacy model. “Repeat” now means visitors with more than one session in the same day. Cross-day returning visitors are not tracked because fingerprints rotate daily for privacy. Added an info tooltip to explain this.
  • Improved: faster dashboard loading on busy sites. Added a covering database index for country and city geography queries, so they no longer need to scan the full hits table on each load.

1.2.2

  • Visitor fingerprint salt now rotates every 24 hours at midnight UTC. The same visitor returning the next day is counted as a new unique visitor — the privacy-first standard for consent-free analytics. This aligns the plugin with the EDPB Guidelines 2/2023 reading of ePrivacy Article 5(3) and the CNIL audience-measurement criteria (July 2025), which require fingerprints to have a “limited lifespan”. Why this matters: the prior static salt produced a fingerprint that persisted for months, which made the “no consent banner” posture harder to defend in the EU. After this change the plugin matches the privacy-by-design industry standard.
  • Expected impact on numbers: the “Returning Visitors” share in New vs Returning will drop, because cross-day returns are no longer detected — only same-day returns count as returning. Within a single day, visitor counts are unchanged. This is a deliberate privacy trade-off, not a bug.
  • Updated author description in the plugin readme to reflect current site direction.

1.2.1

  • Fixed the device breakdown (“Devices” widget on the Overview tab) showing “No device data yet” even when device data existed.
  • Tested up to WordPress 7.0.

1.2.0

  • Geolocation now runs entirely on your own server. The plugin downloads a public IP geolocation database (DB-IP City Lite, CC-BY 4.0) from jsDelivr CDN about once a month and resolves visitor country and city locally. Visitor IP addresses are never sent to a third-party service.
  • New “External services” section in the readme documents every outbound request the plugin can make.
  • Settings → General gains a “Geolocation” toggle (on by default) that fully disables external traffic when off, and an “Update database now” button with a status block (Ready / Outdated / Downloading / error states).
  • Privacy disclosure page lists DB-IP and jsDelivr with the source URL, license, and a one-click way to disable.
  • Defeated stale-data caching across LiteSpeed Cache (private tier), Cloudflare APO, BunnyCDN, Varnish, Fastly, Akamai, nginx FastCGI and the WordPress object cache. Dashboard now reads fresh data on every load.
  • Dashboard JS in-memory cache now expires after 30 seconds instead of forever.
  • Asset URLs versioned via plugin version (matches WP core convention) so version bumps invalidate browser disk-cache cleanly.
  • Fixed map gradient legend showing duplicate “1” labels for sites with a single visitor.

1.1.1

  • Fixed AJAX action names for the tracker fallback, custom event tracking, Clear All Data form and the test-email button (hooks were still registered under the old prefix after the 1.1.0 rename)
  • Shipped unminified JavaScript and CSS sources alongside the minified bundles
  • Moved third-party notices into the readme

1.1.0

  • Renamed to ZenMarkup Privacy Analytics
  • Internal prefix migration (classes, functions, options, CSS, data attributes) to meet WordPress.org naming requirements
  • Rewrote plugin description in neutral, non-comparative tone
  • No functional changes — all features from 1.0.0 preserved

1.0.0

  • Initial release
  • Cookieless visitor tracking
  • 4-tab dashboard (Overview, Traffic, Geography, Behavior)
  • Interactive Canvas line chart with metric toggle
  • Donut chart for new vs returning visitors
  • Interactive SVG world map with zoom and pan
  • UTM campaign tracking with automatic URL cleanup
  • Event tracking (outbound links, downloads, mailto, tel, 404)
  • Smart Insights (exit intelligence, dead pages, user journeys)
  • Weekly/monthly email reports
  • CSV export on every tab
  • Server-side geolocation from a self-hosted database (optional)
  • Role-based dashboard access control
  • Configurable data retention (7–365 days)
  • Compatibility with common caching plugins

Plugin Website
Visit website

Author
zenmarkup
Version:
1.2.3
Last Updated
June 16, 2026
Requires
WordPress 5.6
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.