Quickstart
Five minutes from nothing to a live dashboard.
-
Create a site
Section titled “Create a site”Sign in at tracing.tools and add the domain.
Enter the bare hostname —
acme.com. The protocol, any path and a leadingwww.are stripped before the site is stored, sohttps://www.acme.com/appandacme.comcreate the same site. The domain must look like a real one (^[a-z0-9.-]+\.[a-z]{2,}$) and must be unique within your account.You also pick, and can change later:
Field Default What it affects Name the domain The label in the site switcher Timezone UTCWhere every day, week and month boundary is cut Currency USDWhich currency the revenue screen opens on The site is created with a public key of the form
pk_live_plus eight hex characters. That key is public by design: it goes in your HTML. -
Install the script
Section titled “Install the script”Copy the snippet from Settings → Installation and paste it before
</head>.index.html <script deferdata-site="pk_live_xxxxxxxx"data-api="https://ingest.tracing.tools"src="https://ingest.tracing.tools/t.js"></script>defermatters: the tracker readsdocument.currentScript, and without a deferred or bottom-of-body position it may run before the DOM it wants to bind click handlers to exists. If neither is possible, the tracker falls back to the firstscript[data-site]on the page.Framework-specific versions are in Installation guides.
-
Publish, then load a page
Section titled “Publish, then load a page”Open your site in a normal browser tab. Within a second or two the first pageview lands.
Open Realtime in the dashboard. You should see Online now: 1 and your path in the feed. Realtime polls every five seconds.
-
Send your first custom event
Section titled “Send your first custom event”Anywhere after the script has loaded:
tracing("signup_completed", { plan: "pro" });Or without writing JavaScript at all:
<button data-tracing-event="cta_click" data-tracing-event-position="hero">Start free</button>Both show up on the Events screen — the first with a
planproperty you can break down by, the second withposition. -
Turn it into a goal
Section titled “Turn it into a goal”On Events, select the event and press Create goal. Or go to Goals → New goal and match a pathname instead, with
*as a wildcard:/checkout/success/docs/*/blog/*/commentsOnce a goal exists, every other screen can be filtered to only people who converted it — see Goals.
Verify from localhost
Section titled “Verify from localhost”The tracker refuses to send anything from localhost, 127.0.0.1, [::1] or
a file: URL. That is deliberate: local page loads would otherwise pollute
production numbers.
To debug against a dev server, set a flag in the browser console and reload:
localStorage.setItem("tracing_debug", "1");Every hit is then sent as if the page were live, including from localhost. To stop:
localStorage.removeItem("tracing_debug");Checklist
Section titled “Checklist”- The script tag is on every page, not just the home page.
-
data-siteis your ownpk_live_…key. -
data-apipoints at the collector you actually deploy (https://ingest.tracing.toolsunless you proxy it). - Your Content-Security-Policy allows the collector host — see CSP.
- Your own IP is in Settings → General → Excluded IPs if you browse the site a lot.
- Script configuration — every attribute and its default.
- Custom events — properties, limits and naming.
- How visitors are counted — what the numbers mean.