=== Pulse Analytics ===
Contributors: ciphera
Tags: analytics, privacy, statistics, gdpr, tracking
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.3.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Privacy-first web analytics for your WordPress site. No cookies, fully GDPR compliant.

== Description ==

Pulse Analytics is built by [Ciphera](https://ciphera.net), a Belgian privacy-software company. Pulse is a lightweight, privacy-first analytics platform that gives you valuable insights about your website visitors without compromising their privacy.

**Features:**

* No cookies — fully GDPR, CCPA, and PECR compliant out of the box
* Lightweight — under 3 KB tracking script, no impact on page speed
* Simple setup — just enter your domain and you're tracking

**Privacy by design:**

Pulse uses a server-side daily-rotating hash for session identification. No cookies, no localStorage, no client-side identifiers. Your visitors' privacy is respected by default.

== Installation ==

1. Upload the `pulse-analytics` folder to `/wp-content/plugins/`
2. Activate the plugin through the Plugins menu
3. Click **Pulse** in the WordPress admin sidebar
4. Enter your domain (as registered in your Pulse dashboard)
5. Done — analytics will start flowing immediately

== Screenshots ==

1. Settings page with domain, proxy mode, and admin tracking options.
2. Pulse menu item in the WordPress admin sidebar.

== Frequently Asked Questions ==

= Do I need a Pulse account? =

Yes. Sign up at [pulse.ciphera.net](https://pulse.ciphera.net) to create your dashboard and register your domain.

= What is proxy mode? =

Proxy mode routes analytics requests through your WordPress site instead of sending them to Pulse directly. **It is off by default and we recommend leaving it off.** Pulse cannot record a forwarded request, so a site with proxy mode on collects nothing at all. It also does not get around ad blockers: the filter rules that block analytics match on the request path and ignore the domain, so they apply to your own domain exactly as they do to ours.

= Does this plugin use cookies? =

No. Pulse does not use cookies, localStorage, or any client-side storage for tracking.

= Is this GDPR compliant? =

Yes. Pulse is designed to be GDPR compliant without requiring cookie consent banners.

= Who builds Pulse Analytics? =

Pulse Analytics is built by [Ciphera](https://ciphera.net), a Belgian privacy-software company. Sign up and manage your dashboard at [pulse.ciphera.net](https://pulse.ciphera.net).

== Changelog ==

= 1.3.0 =
* Proxy mode is now off by default, and is switched off on upgrade for any site that still has it on. Leaving it on cost you every pageview: Pulse rejects a request forwarded by your server, and the tracking script reports nothing when that happens, so the dashboard stayed empty with no error shown anywhere.
* Corrected what the plugin claims about proxy mode. It never got around ad blockers. The filter lists that block analytics match on the request path and ignore the domain, so routing through your own domain changes nothing for them.
* No action needed. If your dashboard was empty while proxy mode was on, data starts arriving again as soon as the update lands. Nothing that was already recorded changes.

= 1.2.0 =
* Proxy mode forwards the new engagement endpoint. The tracking script now sends time-on-page and scroll depth to /api/v1/engagement instead of /api/v1/metrics, because a widely used ad-blocker filter list blocks the old path by name — on any domain, including your own, so proxy mode did not get around it.
* The old endpoint keeps working. Proxy mode refreshes its cached copy of the tracking script once a day, so both paths stay available while that catches up.
* Update the plugin before your cached script refreshes. On 1.1.0 and earlier, proxy mode has no route for the new endpoint, and engagement data stops arriving once the newer script is cached. Pageviews are unaffected either way.

= 1.1.0 =
* Removed frustration tracking (rage clicks and dead clicks). Pulse now ships a single tracking script.
* The setting is gone and the add-on script is no longer enqueued.
* Proxy mode now deletes any previously self-hosted copy of the add-on script from wp-content on its next daily refresh — no manual cleanup needed.

= 1.0.1 =
* Readme: brand and company links.

= 1.0.0 =
* Initial release
* Script injection with domain configuration
* Proxy mode with randomized endpoints
* Frustration tracking support (optional)
* Admin tracking toggle
* Self-hosted instance support
