Skip to content

Introduction

tracing.tools is web analytics for products that sell something. It answers the two questions a dashboard usually splits in half — where did the traffic come from and where did the money come from — on the same screen, under the same filters.

It is built around three decisions.

There is no analytics cookie, no local-storage id, no fingerprint, and nothing in the browser that survives a page. A visitor is identified server-side, by a SHA-256 hash of:

UTC day | rotating salt | IP address | user agent | site public key

The hash is truncated to 16 bytes and written instead of the IP. It cannot be reversed, it is different on every site, and it is different tomorrow. Nothing links a visitor across two days or two sites.

That is the whole identity system, and it is what makes the default install work without a consent banner in most jurisdictions — but it also sets a hard limit on what can be measured. Retention across days, lifetime value and month-long funnels do not work from a rotating id. Where that matters, the product says so on the screen rather than quietly printing a wrong number.

A single tag installs everything: pageviews, single-page-app route changes, outbound link clicks, time on page, custom events, revenue events and traits.

<script defer
data-site="pk_live_xxxxxxxx"
data-api="https://ingest.tracing.tools"
src="https://ingest.tracing.tools/t.js"></script>

The tag never changes. Exclusions, timezone, currency and the public dashboard are settings on the site row, not edits to your HTML.

Send an amount with an event, from the page where the purchase completed, and it is credited to the visit it fired in: the source, the campaign, the landing page and the country come for free. There is nothing to connect and no id to forward.

tracing("purchase", { revenue: 49, currency: "USD" });

See Tracking revenue for the setup, and How attribution works for the one rule.

Piece What it is
Tracker ~6 KB of JavaScript served at /t.js, running in the visitor’s browser
Collector Validates, enriches and writes hits, close to the visitor
Database Sessions, events, properties, traits and vitals
Dashboard The app at tracing.tools, and the HTTP API behind it

tracing.tools is a hosted service; all four are run for you.