Wire Tianji custom event tracking for auth, billing, and chat (#36)
Unit Tests / test (pull_request) Successful in 13s
Unit Tests / test (pull_request) Successful in 13s
Add identifyAccount + AnalyticsSession, instrument MVP funnel call sites without PII payloads, and document event names in ANALYTICS.md. Billing portal event reserved until #33.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Tianji product events (Hesychia)
|
||||
|
||||
Helpers: `llm-fe/src/llm-fe/utils/analytics.ts`
|
||||
Consent gate: custom events + identify only when `hesychia_analytics_consent*` is `granted` (see #37).
|
||||
Page views: always via `Tracker` / `tracker.js` on prod + beta.
|
||||
|
||||
## Event catalog
|
||||
|
||||
| Event name | Constant | Call site(s) | Payload (non-PII) |
|
||||
|------------|----------|--------------|-------------------|
|
||||
| Login Success | `LOGIN_SUCCESS` | SignIn, AuthCallback | `{ method: 'password' \| 'sso' }` |
|
||||
| Login Failed | `LOGIN_FAILED` | SignIn, AuthCallback | `{ method }` |
|
||||
| Sign Up Started | `SIGNUP_STARTED` | SignUp | — |
|
||||
| Sign Up Success | `SIGNUP_SUCCESS` | SignUp, AuthCallback (`created`) | `{ method? }` |
|
||||
| Sign Up Failed | `SIGNUP_FAILED` | SignUp, AuthCallback | `{ method? }` |
|
||||
| Logout | `LOGOUT` | AnalyticsSession (auth → logged out) | — |
|
||||
| Checkout Started | `CHECKOUT_STARTED` | SignUp, AuthCallback | `{ source }` |
|
||||
| Payment Success | `PAYMENT_SUCCESS` | BillingSuccess | `{ hasSessionId }` |
|
||||
| Payment Canceled | `PAYMENT_CANCELED` | BillingCancel | — |
|
||||
| Conversation Created | `CONVERSATION_CREATED` | MessageContext | `{ conversationId }` |
|
||||
| Message Sent | `MESSAGE_SENT` | AsyncDashboard2 | `{ hasConversation, hasAttachment }` |
|
||||
| ToS Acknowledged | `TOS_ACKNOWLEDGED` | TermsOfService | — |
|
||||
| Billing Portal Opened | `BILLING_PORTAL_OPENED` | *(pending #33 Account portal CTA)* | — |
|
||||
|
||||
## Identify
|
||||
|
||||
`identifyAccount(account)` sends `{ userId: email, companyId?, isCompanyManager? }`.
|
||||
No message text, document contents, or names.
|
||||
|
||||
## Environments
|
||||
|
||||
Only prod/beta (`REACT_APP_DEPLOY_ENV` or production build with Tianji website id). Local dev skips unless env set.
|
||||
Reference in New Issue
Block a user