Builder Analytics & Activation Tracking
Track your builder's activation journey, from signup through first app creation and publication. Understand conversion funnel metrics and identify where users get stuck.
Chipp automatically tracks your builder journey from signup through activation milestones like app creation, configuration, publication, and first user chat. This helps Chipp operators understand activation patterns and identify where builders get stuck.
For Chipp operators only. These analytics are internal builder-product metrics, visible only to Chipp admins at https://build.chipp.ai/admin/builder-funnel. End-user analytics for your deployed app are tracked separately via Chipp Insights — see Analytics & Chat History.
What Gets Tracked
The builder activation beacon captures your journey across three layers:
1. Browser Session & Navigation
When you load build.chipp.ai:
- Session ID — a unique, persistent anonymous identifier per browser per session
- Distinct ID — a stable, per-browser anonymous ID that links all your pre-signup activity to your account after you sign up
- Acquisition data — landing URL, referrer, UTM parameters (source, medium, campaign, term, content)
- Pages visited — every route change and active time spent on each page
- Scrolling & interaction — scroll-depth milestones (25%, 50%, 75%, 100% of page), clicks on labeled elements, and multiple rapid clicks (rage-click detection)
- Active duration — time spent with the browser tab visible (backgrounded tabs don’t count against your active time)
2. Server-Side Activation Milestones
Durable events are created server-side at key activation steps:
- Signup completed — recorded when your account is created
- Onboarding started / completed — when you begin or finish the builder tutorial
- First app creation started / failed — the first time you attempt to create an application
- First app creation succeeded — your first successful application creation
- App configuration saved — settings updated on an app
- App published — an app goes live
- First builder preview chat — you test your app via the builder’s preview chat
- First end-user agent chat — an end-user (not you) sends the first message to your agent
- First knowledge source add started / failed — the first time you attempt to add a knowledge source
- First knowledge source add succeeded — your first successful knowledge source creation
3. Error & Context Capture
We also capture:
- Unhandled JavaScript errors — client-side exceptions and promise rejections during your session, with stack traces
- Tier-gate and feature-flag events — when a feature is not available due to your plan tier
- Tier-gate & error messages — error context for failed operations
What Gets Redacted
Never captured:
- Passwords, API keys, or authentication tokens
- Prompt text, message content, or uploaded documents
- Form values or arbitrary DOM text (we only track semantic element IDs like
data-testid) - Raw query strings containing sensitive values (codes, session IDs, OTP tokens) — these are stripped from URLs before storage
Acquisition fields (landing URL, referrer, UTM) are sanitized to remove query params matching sensitive names (auth, token, secret, code, otp, credential, jwt, apikey, etc.).
Anonymous-to-Identified Stitching
Your pre-signup browser activity is linked to your account after signup via a persistent distinctId:
- Before signup: your browser generates a random, persistent anonymous ID (stored locally)
- During signup: you create an account with an email address
- After signup: we link all your pre-signup events to your new account
- On future visits: the same browser is recognized, and future sessions are linked automatically
This means Chipp can see your ENTIRE journey — from the first time you landed on build.chipp.ai through to your first app creation — even if signup took multiple browser sessions or you visited from different devices.
If you clear your browser storage (cookies, localStorage), you’ll generate a new anonymous ID, and future sessions won’t be linked to your pre-cleared history.
Privacy & Consent
Do Not Track (DNT) & Global Privacy Control (GPC)
If your browser sends a DNT: 1 header or Sec-GPC: 1 signal, the builder beacon respects it:
- Your events are NOT sent to our analytics pipeline
- The request gets a 204 No Content response and is immediately discarded
- No events land in our database
Consent
The beacon respects your browser’s consent preferences if your site has a consent banner. Out of the box, the beacon starts enabled — if you’d like to require explicit consent before beacon events fire, reach out to support.
Data Retention & Deletion
Retention Policy
Builder journey events are retained for analytics purposes:
- Active builder accounts: indefinite (useful for understanding activation patterns across cohorts)
- Deleted builder accounts: purged completely as part of your account deletion
- Raw Loki logs: 30 days
Account Deletion
When a Chipp builder requests account deletion:
- All builder journey events (anonymous and identified) are deleted
- Analytics milestone records tied to your account are deleted
- Distinct IDs that map to your account are cleared
- This applies to any events during pre-signup, onboarding, or activation
See Account Deletion for full GDPR/deletion-request details.
Feature Flag Noise Suppression
Feature flag evaluations can fire hundreds of times during normal app usage (every time you navigate, open a modal, check a feature gate, etc.). To prevent the raw volume from overwhelming the builder journey view:
- Write-side dedup: the first feature-flag evaluation within a 60-second window per flag per session is recorded; identical re-evaluations are dropped
- Read-side summary: even if some duplicates land, the journey view collapses all
feature_flag_evaluatedevents into a single summary (count, distinct flags, first/last timestamp)
This keeps the journey view readable while preserving full fidelity in production logs for debugging.
Event Contracts & Design
All events include:
timestamp— server-assigned wall-clock time at captureclientTimestamp— client-asserted time (for clock-skew awareness)sessionId— ordered session identifier for correlationseq— monotonic sequence number for page loads within a session (for ordering)distinctId— pre-auth anonymous identifieruserId— your account ID (set after signup)organizationId— your organization IDproperties— event-specific fields
Event Types
Session & Navigation:
session_started— session begins, includes acquisition fieldspage_viewed— page load or route change, includes scroll-depth resetelement_clicked— semantic click on a labeled element (data-testid)element_rage_clicked— 3+ rapid clicks on the same elementscroll_depth_reached— 25%, 50%, 75%, 100% of page scrolled
Milestones:
milestone_reached— activation milestone event (signup, app creation, etc.)identity_linked— user identified after signup (carries bothdistinctIdanduserId)
Errors & Context:
error_captured— uncaught JavaScript errortier_gate_hit— a feature is not available due to your plan tierfeature_flag_evaluated— a feature flag was evaluated (can be high-volume, see noise suppression above)
Operator Surface
Chipp operators can view builder activation data via the Builder Analytics panel at https://build.chipp.ai/admin/builder-funnel (requires super-admin unlock).
Individual Builder Journey
Search by user email or ID to view:
- Signup date & acquisition source — where this builder came from
- Chronological sessions — every browser session with active time, pages visited, actions taken
- Activation state — which milestones this builder has reached (app creation, publication, knowledge source, etc.) and when
- Last activity & last error — the most recent thing the builder did and any errors they hit
- Feature flag summary — total feature-flag evaluations and distinct flags checked (not per-row spam)
Activation Funnel Report
View the aggregate conversion funnel:
- Date range filter — signups within a date range
- Acquisition source filter — breakout by direct, referral, UTM, or unknown
- Funnel steps — signup → onboarding → app creation → app settings → app published → chat
- Conversion rates — what % of signups reach each step
- Time-to-step — median time (in hours or days) from signup to each milestone
- Dropout points — where builders get stuck most often
The funnel query is optimized to prevent N+1 queries and runs in bounded time regardless of cohort size.
Authorization & Data Boundaries
Builder journey analytics are internal Chipp product metrics about our own builders. They are:
- Not tenant data — separate from your Alchemist project’s end-user telemetry (
alchemist.telemetry_events) - Super-admin only — visible only to Chipp team members at @chipp.ai with a super-admin unlock (same as other
/api/hqadmin surfaces) - Not accessible via API keys — you cannot query builder journey analytics programmatically; they are view-only in the super-admin panel
- Not merged with end-user analytics — your builder journey and your app’s end-user analytics are separate datasets with separate retention policies
Troubleshooting
My acquisition source is “unknown”
Possible causes:
- The beacon fires before the page’s
session_startedevent (rare race condition) - Your browser storage was cleared before signup
- You accessed the site via a direct link with no referrer (no UTM, no referring domain)
This doesn’t affect your account or data — it just means acquisition attribution is best-effort.
Events appear to be missing
Check:
- Do Not Track: if your browser sends
DNT: 1, events are not recorded at all (not a bug, by design) - Consent: if your site has a consent banner, make sure the analytics category is enabled
- Time lag: events are batched and sent every 5 seconds; new events may not appear immediately in the operator view
- Feature flag noise: if you see a lot of
feature_flag_evaluatedevents but no other activity, those are deduplicated — the raw volume is still in Loki logs for debugging
I don’t see my session in the builder journey view
If you were signed out when you visited (or your session expired):
- Your activity is still captured under your persistent
distinctId - Once you sign back in and
identify()fires, future events are linked to your account - To see pre-signin activity, search by email — the journey view will include pre-auth events via the distinct-ID link
Not Implemented: Session Replay
Session replay (DOM recording, pixel-perfect playback) is explicitly not part of this system. We only track semantic interactions (pages, clicks, scrolling) and error stacks — never raw DOM, input values, or text content.
If a future project needs session replay, the event contracts here (stable sessionId, ordered seq in page events) are already replay-correlation-ready — no schema changes would be needed to add replay support later.
Related
- Embed Chipp Insights Beacon — analytics for your deployed end-user app
- Analytics & Chat History — view conversations and usage metrics for your builder app
- Account Deletion — how builder journey events are deleted when you close your account