Features
What happens to a click, in order.
It arrives, it is described, it is scored, it is sent somewhere, and later something it caused is tied back to it. Each of those is a thing you can change.
The redirect
Answered at the edge, decided by one engine.
The redirect runs on Cloudflare’s network, close to whoever clicked. The same decision code also runs on the origin, so the two cannot disagree about where a visitor goes — the edge is a place the engine runs, not a second implementation of it.
Your own domains
A subdomain of yours, CNAMEd to us, with the certificate issued for you once the record resolves. Apex domains work too, by A record.
Per-domain rules
Crawler handling, an HTTPS upgrade before anything is recorded, whether the domain root answers at all — set per domain, not once for the account.
Parallel tracking
Google and Microsoft both require it and both mean something slightly different by it. Both are supported, and documented.
Tokens filled in
The tracking URL comes with the placeholders that network uses, so you paste one string rather than assembling it.
A page-view tag
One script on the lander ties the visit to the click that paid for it, without a second identifier to keep in step.
Nothing to keep running
No process of yours sits in the redirect path, and none of it depends on your lander being up.
The description
Ten things known about a click before it lands.
Resolved as the click passes, from data files on our own machines rather than from headers a middlebox may or may not have set. Which source answers which field is a choice, field by field — a city from one database and an ISP from another is a normal configuration, not a workaround.
- Country
- Region
- City
- ISP
- ASN
- Device, browser and OS
- Datacentre or residential
- Connection type
- Mobile operator
- Proxy
Page views land against the click that caused them and are joined to the campaign at read time, so a lander that beacons a second after the redirect is still attributed correctly.
The scoring
Bot filtering with the dial exposed.
Not a list you are either on or off. Each signal contributes to a score, the threshold is yours to set, and any signal that is wrong for your traffic can be switched off — with two exceptions, because a request pretending to be a search engine and a browser being driven by software are not judgement calls.
Crawler impersonation
Always onA request claiming to be Googlebot from an address Google does not publish. Verified against the ranges each search engine publishes, refreshed daily.
Headless browser
Always onThe tells a browser leaves when it is being driven rather than used.
Datacentre address
The click came from hosting, not from a home or a phone network.
Known crawler
A declared, verified crawler. Usually worth recording and not paying for.
Tor exit node
Refreshed daily from the published list.
User agent anomalies
Combinations of claims that no real client makes.
Every filtered click keeps the reason it was filtered, in words, so a disagreement with an ad network is a thing you can answer with specifics rather than with a total.
The money
What it cost, and what it earned.
A campaign carries a cost model — a flat cost per click, a share of revenue, a fixed amount, or a cost passed in the URL. Conversions arrive by postback from the network or from the tag on your own pages.
Cost models
Set per campaign, so a CPC buy and a revenue-share deal can sit in the same account and both report correctly.
A ceiling on cost
Because the URL is public, a cost arriving in it is treated as a claim rather than a fact.
Conversions
Postbacks from affiliate networks, with the field mapping already written for the common ones, or a call from your own thank-you page.
Working with others
Accounts, invitations and goals.
A team joins by invitation and each person has their own login, which is the only arrangement in which an audit trail means anything. Measurement goals sit alongside: a site, a key, and the events on it that count as progress.
Invitations
By email, to a role, revocable.
Per-user sessions
Signed in devices are listed and can be revoked individually.
Goals and sites
Name what counts as a conversion on your own properties.
Usage in the open
The plan screen reads the same counter the limiter reads, so the two cannot disagree.
Being built
Named here so you can plan around it.
These are not shipped. They are listed because finding out after you have moved your campaigns over is worse.
Ad platform cost sync
Google Ads, Microsoft Ads, Meta and TikTok, pulling spend rather than trusting a URL.
Alerts that leave the app
Today they are computed and shown in the app. Email and push are next.
A public API
There is no customer-facing REST API yet. Reporting is read in the app or exported.
Billing
Everything is free while this is being built. See the pricing page for what is planned.
Anything above unclear? Ask us.
Point a domain at us and run a click through it.
The free plan takes ten thousand clicks a month and no card. If it does not do what you need, you have lost twenty minutes.