Skip to content

Add PostHog analytics and error tracking#216

Open
campavao wants to merge 1 commit into
mainfrom
campavao/posthog-analytics-setup
Open

Add PostHog analytics and error tracking#216
campavao wants to merge 1 commit into
mainfrom
campavao/posthog-analytics-setup

Conversation

@campavao

Copy link
Copy Markdown
Collaborator

Adds PostHog product analytics + error tracking across the Rails API and React SPA, gated entirely on POSTHOG_KEY (off in dev without a key, always off in test). The backend adds a singleton client and an Analytics::{Config,Events,Tracker} service layer that emits authoritative domain events (experience create/lifecycle, registration, block open/close, response submitted, avatar saved) plus an around_action that reports unexpected controller exceptions. The frontend uses a server-injected JSON config block to drive a guarded posthog-js module that captures SPA pageviews/exceptions, identifies users by User#id, groups events per experience, and wraps the app in an error boundary — configured via POSTHOG_KEY/POSTHOG_HOST/POSTHOG_SESSION_REPLAY (US cloud default, documented in .env.example). Includes backend specs (config, tracker, helper, error reporting, event emission) and a frontend vitest suite (config, client, identity, error boundary).

Wire PostHog product analytics + error tracking across the Rails API and
React SPA, gated entirely on POSTHOG_KEY (off in dev without a key, always
off in test).

Backend: a singleton PostHog client, an Analytics::Tracker/Config/Events
service layer, authoritative domain events (experience create/lifecycle,
registration, block open/close, response submitted, avatar saved), and an
around_action that reports unexpected controller exceptions.

Frontend: a server-injected JSON config block drives a guarded posthog-js
module that captures SPA pageviews and exceptions, identifies users by
User#id, and groups events per experience; includes a top-level error
boundary.

Adds backend specs (config, tracker, helper, error reporting, event
emission) and a frontend vitest suite (config, client, identity, error
boundary).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant