Skip to content
Documentation

Tracking

Installing the tag

2 min read

The tag records page views on your own website and joins them to the click that brought somebody there. Without it you still get clicks from tracking links and outcomes from your CRM, but nothing about what happened in between.

It is served from your domain, not ours

Add a tracking subdomain for the company first, on the company's Settings screen. Everything then runs on that host:

<script src="https://go.yourdomain.com/tp.js" async></script>

Put it in the head of every page. It is asynchronous and never blocks rendering.

This is not a preference. A cookie set from our domain is a third-party cookie, blocked by default in most browsers and capped at seven days in Safari where it is not. From your own domain it is first-party and lasts two years. Moving the domain later invalidates every identifier already issued, which is why it comes first.

What it collects

The page URL and the referrer, and nothing else. Sessions, bot filtering and normalisation all happen on our side, so none of it depends on a cached copy of the script expiring on your visitors' machines.

Two cookies are set on your domain: a visitor identifier that lasts two years, and a session identifier with a thirty minute sliding expiry. Neither contains personal data and neither means anything outside your company.

Telling us who somebody is

When a visitor identifies themselves, on a form submission or a login, call:

window.__tp.identify({ email: 'someone@example.com' });

The address is hashed before it is stored; the raw value is never written down. Hashing is what lets the same person be recognised on a phone and a laptop, and what lets an outcome recorded in your CRM find the click that produced it.

There is also window.__tp.view(), for a single page application that changes route without loading a new page. The tag records the first view itself.