First-party collection
Our own beacon and collector. No third-party analytics tag, so the data belongs to the operator and the privacy position is simple to state.
A business that cannot measure its own traffic cannot price anything. So the analytics layer is engineered, versioned and licensed like any other system we build.
Each stage is separable and independently licensable. An operator can take the collector alone, or the whole path.
Reporting reads pre-aggregated rollups rather than raw events. That is what keeps a dashboard responsive when the raw table holds billions of rows, and it is a design decision rather than an optimisation added later.
Our own beacon and collector. No third-party analytics tag, so the data belongs to the operator and the privacy position is simple to state.
A columnar store with partitioning, retention and materialised aggregates, sized for continuous high-volume ingest.
Source, campaign and click identifiers resolved at the landing event and carried through the session, rather than inferred afterwards.
Configurable windows so a repeat visit inside a defined period counts once, with the rule written down rather than implied.
Two independent counts shown side by side with the capture rate between them, which turns a commercial dispute into a data question.
Role-based access with tenant isolation enforced in the application and again by row-level security in the database.
The systems are built to answer commercial questions about traffic and monetisation, not to profile individuals. Events are recorded against a session identifier rather than an identified person, and reporting is aggregate.
Full network addresses are not retained beyond the point where they are operationally needed. Geography and device are resolved at collection time and only the resolved classification is stored. Where an identifier is not required to answer the question, it is not collected.
This is an engineering position as much as a legal one: a system that holds less is cheaper to run, simpler to license and easier to defend.