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 in the super-admin panel at https://build.chipp.ai/#/admin. 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 in analytics events (events carry only semantic element IDs like
data-testid; session replay masks all text and input values, see below) - 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 does not send journey events until you accept analytics in the cookie banner. If you decline, or never answer, those events are not sent.
One narrow exception: when you are signed in, a short allowlist of Builder product-usage events (for example, opening a Builder page or approving a plan) is recorded without banner consent so Chipp can measure how the Builder is used. These events carry a consent_basis field, never include your email, and are still dropped when DNT or GPC is on.
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 the Privacy Policy 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:
client_error: 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 in the super-admin panel at https://build.chipp.ai/#/admin (requires the admin secret unlock). The aggregate report is the Builder Activation Funnel section; individual journeys open from the panel’s user search.
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 → first app created → first configuration saved → first publish → first builder preview chat → first end-user chat → first knowledge source added
- Conversion rates: what % of signups reach each step
- Time-to-step: median time 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: journey events only send after analytics is accepted in the cookie banner
- 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
Session Replay
Chipp also records privacy-safe session replays of the Builder for operators, viewable in the super-admin panel’s Session Replays section and from a builder’s journey view. Replay follows the same gates as the beacon: it only records after analytics consent is granted, DNT/GPC always disables it, and revoking consent stops recording immediately.
Replay is default-deny on content:
- All text and input values are masked before they leave the browser, except a small set of reviewed interface elements
- Fully blocked (no structure captured): password and file inputs, code editors (such as the system prompt editor), and all iframes
- Never captured: network request/response bodies, console output, and canvas pixels
- Recordings are encrypted at rest and expire after 30 days by default
Related
- Embed Chipp Insights Beacon, analytics for your deployed end-user app
- Analytics & Chat History, view conversations and usage metrics for your builder app
- Privacy Policy: how builder journey events are deleted when you close your account