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
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
How the system fits together
- Stateless first-party event
- Property-scoped visitor-day
- Campaign and landing-source rollups
- Search, crawler, and index observations
- Permanent snapshots and bounded cleanup
- Reports and exact-day API exports
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.
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.
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
What is collected, retained, and allowed to expire.
The diagram separates incoming observations, temporary raw detail, permanent decision history, and the guarded cleanup path.
What exists and what it can establish
Measured implementation facts stay separate from business outcomes.
| Subject | Observed or verified | Limit |
|---|---|---|
| Collection footprint | The 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 contract | The 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. |
| Retention | Permanent 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. |
| Identity | The 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. |
See where I have used this approach
The case studies show what shipped, what was tested, and what is still unfinished.
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.
- Core release
- $15k–$28k
- Optional scope
- $0
Selected scope
- Useful core release
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.
This is a planning range, not a quote or a promise of delivery dates. I confirm scope, dependencies, and responsibility before proposing a build.
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 feeYou take over the agreed release. I still fix build defects for 30 days; ongoing updates and operational help are separate.
Maintenance
$1.5k–$3k/monthAnnual commitment. Scheduled releases, security and compatibility fixes, and planned upgrade help. No incident response or custom development.
Production support
$3.5k–$6.5k/monthSix-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/monthSix-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.