Commitments
What TrailStack promises and why.
Every quality you care about starts with seeing what is actually happening. You cannot build with confidence on a foundation you do not trust. TrailStack is the data layer for that trust.
Reliability
Decisions require data you can trust. Every claim is independently verifiable.
With fireAndForget=false, every event is confirmed in the write-ahead log before the response is sent. The log is stored on durable object storage. ClickHouse nodes are rebuilt from it — they can be replaced without data loss.
Failed events are not discarded. They appear in the all_errors view with the original payload and error message.
Every row carries a storage_bytes column with the exact billed size. Billing is based on this column — there is no separate metering system.
The comparison pages show the full cost math for each competitor, including where TrailStack costs more. A comparison is only useful if it is honest.
Convenience
Decisions should not wait for a data engineering project. Nothing stands between the event and the insight.
Send a JSON event over HTTP. Query it with standard SQL. TrailStack handles schema detection, column creation, and storage. No pipeline to build, no schema to define, no infrastructure to manage.
ClickHouse provides a full SQL dialect — window functions, arrays, approximate aggregations — the same query language you would use on a self-hosted cluster. New fields in your events become columns automatically, without migrations.
Query results are accessible through the ClickHouse HTTP interface, so you use the tools you already know: Grafana, DBeaver, AI assistants via MCP, or curl.
Safety
Decisions are better when mistakes are not expensive. Safe by default.
Pricing is storage ($0.025/GB-month) plus compute ($20/CU-month), independent of event volume. Every price is published on this site. Doubling your event rate doubles only the storage portion of your bill. Compute stays flat.
The free tier — 1 GB storage, 0.25 CU compute — has no credit card requirement and no expiration.
IP address and country tracking are off by default. TrailStack does not collect personal data unless you ask it to. To enable tracking, set trackIpAddress=true or trackCountry=true per request. This keeps the decision with you, not with the platform.
There is no proprietary format. Data is queryable and exportable with standard SQL over standard HTTP at any time. After cancellation, data is retained for 90 days before deletion.