Once you are comfortable with collect → visualize → export, choose the next step based on the problem you are solving.
Ask more complex questions#
Use the SQL notebook for joins, window functions, cohort analysis, deduplication, or calculations that do not map cleanly to visualizer controls.
Then work through:
- Saved SQL query workflow
- ClickHouse SQL cookbook
- Product metrics cookbook
- GraphJSON SQL compatibility reference
- SQL performance and troubleshooting
- Build a conversion funnel and A/B test
- Create retention curves
- Deduplicate mutable business events
Put analytics in your product#
Start with Embed graphs to understand static and dynamic embeds.
For internal reporting and read-only sharing, use Manage and share dashboards.
For user-specific views, follow Personalized dashboards. It explains how to keep the API key on your server while changing a filter for each authenticated user.
Before a customer-facing launch, use Production embedded analytics for tenant isolation, caching, states, accessibility, and testing.
If you have strict accessibility, localization, or design-system requirements, continue with Accessible and localized embedded analytics.
For build-time generation, use Static deployments.
Harden ingestion#
Review:
- Tracking plan and instrumentation QA
- Executable event contracts
- Users, accounts, and identity
- Identity stitching and account lifecycle
- Event schema design
- Timestamps and time zones
- Environment and testing strategy
- Reliable event delivery
- High-volume ingestion and backfills
- Browser and mobile collection
- Web analytics and acquisition attribution
- Native mobile instrumentation
- Monitor instrumentation health
- Bad-data containment, correction, and replay
- Data lifecycle and privacy
- Export, delete, and move your data
- Capacity, retention, and cost
- Metric governance
- API keys and security
- Bulk logging
- Errors and limits
- Service behavior and operational expectations
- API compatibility and changelog
- OpenAPI and client tools
- Data API response contracts
- GraphJSON troubleshooting hub
- Account security and recovery
- Billing and subscription management
- Security review and shared responsibility
- Service status and incident communication
Migrate or connect existing systems#
GraphJSON can receive data from Segment, Stripe, and Vercel. For another provider, build a narrow custom-source webhook adapter. Use integrations when the source already emits the events you need; use the logging API when you need a product-specific event contract.
Use Operating managed integrations for monitoring, drift, replay, reconnection, and incident response.
To bring historical data with you, use the migration runbooks for Amplitude, Mixpanel, PostHog, and Google Analytics 4.
For CSV, NDJSON, PostgreSQL, warehouse exports, or object storage, use File, database, and object-storage migrations.
Start from a complete architecture#
Adapt one of the production references:
- B2B SaaS product analytics
- API usage customer portal
- Webhook delivery operations
- Revenue and subscription analytics
- Server runtime recipes
- Next.js and Node reference
- FastAPI and Django references
- Rails reference
- Go reference
- LLM product and cost analytics
- Release-impact analytics
- Usage metering and quota analytics
- Native mobile instrumentation
A production-readiness checklist#
Before treating a metric as a source of truth:
- document who owns its event instrumentation
- use stable event and field names
- keep monetary values numeric and include a currency
- attach durable user or account identifiers
- choose an explicit retention policy
- handle ingestion failures without breaking your application
- reconcile a sample period against the source system
- document the chart’s filters, time zone, and aggregation
The goal is not merely to make a chart. It is to make a number another person can understand, reproduce, and trust.
Review the product and documentation changelog for material documentation and developer-experience changes.