Commit Graph

54 Commits

Author SHA1 Message Date
Usman Baig
7247281ce2 feat: move performance to dedicated tab, fix 0/99999 metrics bug
Performance metrics moved from dashboard into a new Performance tab.
Fixed null handling so "No data" shows instead of misleading zeros.
Script no longer sends INP=0 when no interaction occurred.
2026-03-14 22:01:44 +01:00
Usman Baig
cf0b6b8a68 feat: track time-on-page via unload ping for accurate visit durations
Sends duration to the metrics endpoint on visibilitychange and SPA
navigation. Also lowers journey min_sessions to 1 for low-traffic sites.
2026-03-14 14:07:54 +01:00
Usman Baig
fcfa4bfed9 fix: use allowlist for query params to prevent path fragmentation
Switch from blocklist (strip known-bad params) to allowlist (only keep
UTM/attribution params). Eliminates cache-busters like _t and _ from
page paths without maintaining an ever-growing blocklist.
2026-03-13 13:33:11 +01:00
Usman Baig
f7340fa763 fix: include URL in outbound/download events, exclude form inputs from dead clicks 2026-03-13 09:11:23 +01:00
Usman Baig
6e213539ea feat: filter headless browsers and zero-screen bots client-side 2026-03-13 09:07:49 +01:00
Usman Baig
f69248ecfa fix: strip utm_id from page paths to prevent fragmentation 2026-03-13 08:58:33 +01:00
Usman Baig
360d6e7e71 fix: preserve UTM params for backend attribution, only strip ad click IDs 2026-03-13 08:43:55 +01:00
Usman Baig
63144a136e fix: only attribute referrer to landing page and strip Meta ad params 2026-03-13 01:31:14 +01:00
Usman Baig
1d71a13df4 fix: normalize page paths — strip UTM params and trailing slashes 2026-03-13 01:19:23 +01:00
Usman Baig
6edd5ac0b6 fix: skip pageview tracking for prerendered pages 2026-03-13 01:17:12 +01:00
Usman Baig
a57ed871f1 fix: screen size shadowing, popstate double pageview, custom event self-referrals 2026-03-13 01:09:45 +01:00
Usman Baig
765f8ec63e fix: strip self-referrals from tracking script 2026-03-13 01:06:14 +01:00
Usman Baig
aae1714b02 fix: deduplicate pageviews on page refresh 2026-03-13 00:50:13 +01:00
Usman Baig
1f64bec46d fix: correct summary card label and skip MutationObserver on html/body 2026-03-12 17:02:52 +01:00
Usman Baig
fb47716711 fix: use hasAttribute for data-no-rage and data-no-dead opt-out checks 2026-03-12 16:50:20 +01:00
Usman Baig
247a0b3460 feat: add dead click detection to tracking script 2026-03-12 16:47:53 +01:00
Usman Baig
9e6e2a2214 feat: add rage click detection to tracking script 2026-03-12 16:47:15 +01:00
Usman Baig
b05f7bbcf6 feat: add element identifier function for frustration tracking 2026-03-12 16:46:32 +01:00
Usman Baig
5677f30f3b feat: add dashboard dimension filtering and custom event properties
Dashboard filtering: FilterBar pills, AddFilterDropdown with dimension/
operator/value steps, URL-serialized filters, all SWR hooks filter-aware.

Custom event properties: pulse.track() accepts props object, EventProperties
panel with auto-discovered key tabs and value bar charts, clickable goal rows.

Updated changelog with both features under v0.13.0-alpha.
2026-03-06 21:02:14 +01:00
Usman Baig
8b1d196812 feat: add automatic 404 detection, scroll depth tracking, and scroll depth dashboard card
- 404 detection: checks document.title for "404" or "not found", fires custom event, SPA-aware
- Scroll depth: passive scroll listener fires events at 25/50/75/100% thresholds
- ScrollDepth dashboard card: progress bar visualization showing % of visitors reaching each threshold
- Scroll events filtered out of GoalStats to avoid duplication
- Both features on by default, opt-out via data-no-404 / data-no-scroll
2026-03-06 20:00:22 +01:00
Usman Baig
53a0341925 feat: automatic outbound link and file download tracking
Adds a single click listener in the tracking script that detects
external link clicks and file download clicks, firing outbound_link
and file_download custom events. On by default, opt-out via
data-no-outbound / data-no-downloads attributes.
2026-03-06 19:41:11 +01:00
Usman Baig
4a8f627a5c refactor: enhance session ID caching logic to handle legacy string format and improve expiration checks 2026-02-11 15:52:30 +01:00
Usman Baig
10df76454a refactor: improve comment clarity in session ID caching logic within script.js 2026-02-11 15:31:51 +01:00
Usman Baig
d9f07f5cde refactor: simplify TTL parsing in script.js and add comment for session ID caching behavior 2026-02-11 14:29:44 +01:00
Usman Baig
1454d15142 docs: clarify default and optional data-storage options in ScriptSetupBlock and script.js for improved user understanding 2026-02-11 14:13:05 +01:00
Usman Baig
f423d01d7b refactor: remove redundant logging code from script.js to streamline session ID management 2026-02-11 13:54:18 +01:00
Usman Baig
f10b79efac refactor: update logging endpoints in script.js to use dynamic API URL for improved flexibility 2026-02-11 11:32:26 +01:00
Usman Baig
5886cc661c feat: implement race condition fix for session ID management in script.js, ensuring correct ID usage across multiple tabs 2026-02-11 11:26:29 +01:00
Usman Baig
2b3d052f87 feat: add logging for session ID management in script.js to enhance debugging and monitoring 2026-02-11 11:20:05 +01:00
Usman Baig
f1c27e458a feat: update ScriptSetupBlock and script.js to support new visitor ID storage options 2026-02-11 11:06:27 +01:00
Usman Baig
c827e82376 feat: enhance ScriptSetupBlock and script.js with optional persistent visitor ID storage 2026-02-11 10:57:01 +01:00
Usman Baig
14f3fe7fbb feat: add duplicate event name validation in SiteSettingsPage and update user guidance for event name changes 2026-02-04 15:56:25 +01:00
Usman Baig
90a743c170 feat: implement custom events tracking and goals management in the dashboard 2026-02-04 14:33:06 +01:00
Usman Baig
e75d70269f refactor(replay): remove session replay functionality and related components to streamline codebase 2026-01-23 18:21:50 +01:00
Usman Baig
e42e2d9440 fix: reduce LCP observation timeout to 100ms and enhance SPA navigation tracking with MutationObserver and history API integration 2026-01-19 17:50:18 +01:00
Usman Baig
fe38525cf1 feat: implement SPA navigation handling for LCP metrics, ensuring accurate tracking during route changes 2026-01-19 17:42:36 +01:00
Usman Baig
d92884f7ff feat: enhance performance metrics tracking by observing LCP and CLS events, ensuring accurate data reporting only when metrics are available 2026-01-19 17:34:16 +01:00
Usman Baig
3da53aa6c0 refactor: enhance public API for replay control with backward compatibility for Ciphera and branding update to Pulse 2026-01-19 17:22:13 +01:00
Usman Baig
5d867dd519 refactor: update application name and related identifiers from Analytics to Pulse for consistent branding across the codebase 2026-01-19 17:20:01 +01:00
Usman Baig
035d78175f refactor: update branding from Ciphera Pulse to Pulse across the application for consistency and clarity 2026-01-19 16:58:09 +01:00
Usman Baig
9dbe74fd9f refactor: update references from Ciphera Analytics to Ciphera Pulse across the application for consistent branding and messaging 2026-01-19 16:49:42 +01:00
Usman Baig
088e22512a feat: add performance insights feature with toggle in settings and conditional rendering in dashboard pages 2026-01-19 14:40:42 +01:00
Usman Baig
2aa25cb3aa fix: clarify cookie usage and session storage details in About, FAQ, and Security pages; add session replay explanation in FAQ 2026-01-19 14:12:10 +01:00
Usman Baig
8a648a2e5f fix: update session replay settings to map legacy consent_required to anonymous_skeleton and remove related UI elements 2026-01-19 14:01:02 +01:00
Usman Baig
41b177e3e3 fix: dynamically load rrweb library before starting session replay 2026-01-19 13:00:46 +01:00
Usman Baig
a740b0d703 feat: add session replay functionality with privacy controls 2026-01-19 12:43:02 +01:00
Usman Baig
4c186548bb feat: add web vitals tracking script and dashboard UI 2026-01-18 17:48:47 +01:00
Usman Baig
eafa66f450 fix: improve legacy session key handling by trimming whitespace 2026-01-17 16:08:56 +01:00
Usman Baig
02062b6518 feat: add legacy session key support for migration to new storage key 2026-01-17 15:56:06 +01:00
Usman Baig
d12d2d96e3 feat: standardize session storage key for improved consistency across pages 2026-01-17 14:17:07 +01:00