Analytics / search visibilityWorking multi-property self-hosted system

See traffic, search visibility, and crawlers across your own sites.

A small stateless tracker, multi-property reports, Google and Bing data, crawler observations, index counts, landing-source attribution, and permanent rollups live in one self-hosted system. Raw data can age out without deleting the history used for decisions.

Approximately 3 KB gzipped stateless tracker · 84-operation OpenAPI contract · permanent rollups with safe raw-data cleanup

Estimate your version
Approach
Adapted to your business
Hosting
Your server or cloud account
Starting range
$15k–$60k+
Support
Handoff or ongoing support
First useful outcome

A useful first release, built around the real job

A self-hosted measurement stack adapted to your sites, campaign model, goals, retention rules, search properties, reports, and operating environment.

  • First-party tracker and ingestion endpoint
  • Multiple properties, pageviews, visitor-days, referrers, and devices
  • Campaign, goal, and journey reporting
  • First-touch landing-source and AI/search crawler rollups
  • One webmaster-data connector
  • Optional rollup-first raw cleanup, backups, metrics, and runbook
Working flow

How the system fits together

  1. Stateless first-party event
  2. Property-scoped visitor-day
  3. Campaign and landing-source rollups
  4. Search, crawler, and index observations
  5. Permanent snapshots and bounded cleanup
  6. Reports and exact-day API exports
Your implementation

Your version follows your business

The reusable parts give us a head start. Your version still follows your data, staff, approvals, integrations, and infrastructure—not somebody else’s generic process.

Already built

This is not a blank-slate proposal

The current system uses an approximately 3 KB gzipped tracker with no cookies or browser storage and does not write raw IP addresses, full user agents, or Client Hints. It supports multiple properties, campaigns, goals, journeys, permanent first-touch landing-source rollups, Google Search Console, Bing, operator-triggered AParser index counts, edge crawler observations, exact-day API exports, hashed revocable view invitations, backups, system metrics, and an 84-operation OpenAPI contract. Optional daily cleanup preserves permanent traffic, search, crawler, index, and landing-source rollups before bounded raw-data deletion and guarded VACUUM.

Wrong fit

When this is the wrong tool

  • Cross-device identity graphs or covert person tracking
  • A drop-in promise of exact parity with every GA4 report
  • Treating visitor-days as unique users or user-agent claims as provider-confirmed bots
  • Guaranteed legal compliance without counsel reviewing your actual operation
Implemented views

What is collected, retained, and allowed to expire.

The diagram separates incoming observations, temporary raw detail, permanent decision history, and the guarded cleanup path.

Private analytics data flow combining stateless site events, search-console data, crawler observations, and index checks into raw records, permanent rollups, and reports
Raw observations can expire only after the permanent rollups required for traffic, search, crawler, index, and landing-source history are verified.
Evidence

What exists and what it can establish

Measured implementation facts stay separate from business outcomes.

SubjectObserved or verifiedLimit
Collection footprintThe current stateless tracker measured 3,066 bytes with GNU gzip's default compression level and header; it uses no cookies or browser storage.Payload size changes with the build and gzip settings. It does not make every deployment legally compliant.
System contractThe current OpenAPI document contains 84 method-bearing operations across properties, traffic, campaigns, goals, search, crawlers, index checks, exports, access, and operations.Contract breadth does not mean every operation has a finished dashboard surface.
RetentionPermanent traffic, search, crawler, index-count, and first-touch landing-source rollups are created before bounded raw-row cleanup.A rollup preserves the stated dimensions, not every raw event or arbitrary future report.
IdentityThe tracker does not write raw IP addresses, full user agents, or Client Hints; view invitations are hashed and property-scoped.Visitor-days are estimates, and crawler providers remain user-agent-claimed until source IPs are validated.
Related builds

The case studies show what shipped, what was tested, and what is still unfinished.

Project cost calculator

Build a first-pass budget

Start with the useful core, then add only the parts your version needs. The calculator updates here in your browser; nothing is submitted until you attach the estimate to an enquiry.

Useful core releaseThe included scope described above, adapted to one business and deployed into your account. $15k–$28k
Choose optional scope
Estimated one-time build $15k–$28k Useful core only
Core release
$15k–$28k
Optional scope
$0

Selected scope

  • Useful core release
Choose what happens after launch
Ongoing costHandoff — no ongoing fee
Assumptions behind this range
  • One person can approve scope and product decisions.
  • The source data is usable and available for review.
  • Deployment goes into infrastructure you control.
  • The reusable core remains mine; your data and business-specific work remain yours.

Messy data, migrations, unusual integrations, compressed deadlines, and deeper production responsibility can move the range.

Attach estimate and continue

This is a planning range, not a quote or a promise of delivery dates. I confirm scope, dependencies, and responsibility before proposing a build.

After launch

Run it yourself, or keep me around

I fix agreed-scope defects for 30 days after handoff. Then you can take over completely or keep me involved for maintenance, production help, or reserved development time.

Handoff

No ongoing fee

You take over the agreed release. I still fix build defects for 30 days; ongoing updates and operational help are separate.

Maintenance

$1.5k–$3k/month

Annual commitment. Scheduled releases, security and compatibility fixes, and planned upgrade help. No incident response or custom development.

Production support

$3.5k–$6.5k/month

Six-month minimum. Maintenance, one-business-day response on working days, deployment help, and a monthly allowance for incident or operational work.

Reserved engineering

$7.5k–$12k/month

Six-month minimum. Priority queue, planned release work, and reserved engineering capacity. Unused capacity does not roll over; larger features are scoped separately.

Instrumentation defects within the accepted scope are covered for 30 days. Ongoing data operations, connector failures, reporting changes, and incident response are separately priced.