Analytics reconciliation

Find the visitors your analytics never saw.

Your server logged them. Google Analytics didn't. GhostKings reconciles server-side truth against GA, Search Console and Ads to surface every real human who tried to reach you and went uncounted.

Errors, blockers, abandonment before the tag fired — plus a CrUX-based estimate of who left because you were slow.

Join the waitlist Log in
Lost kings this month
0
Untracked
0%
AprMayJunJul
Tracked in GA
Lost kings (measured)
Estimated speed loss
What it is

Your server is ground truth. Analytics is a best-effort sample.

Every request hits your edge and gets logged. Google Analytics only counts the visitors whose browser downloaded, executed and successfully fired the tracking script. The difference between those two numbers isn't noise — it's people. GhostKings measures it, per URL, per day.

Step 01
Server logs

Every request Cloudflare or your origin actually served.

Step 02
Filter bots

Verified-crawler detection strips out anything that isn't human.

ServerGA
Step 03
Compare

Line up real requests against GA, Search Console and Ads.

The gap
Lost Kings

Real humans who reached you and were never counted.

How it works

Four connections. One reconciled number.

  1. 1

    Connect your server truth

    Hook up the Cloudflare API or drop in log files. Nothing to install on your site.

    EdgeLogs
  2. 2

    One OAuth for Google

    Analytics, Search Console and Ads authorise together in a single flow, read-only.

    AnalyticsSearch Con.Ads
  3. 3

    We filter and reconcile

    Crawlers out, sources aligned by URL and day, discrepancies attributed to a cause.

    filter
  4. 4

    See your lost kings

    Measured misses and CrUX speed-loss estimates, side by side and never conflated.

    MeasuredEstimatedboth, never mixed
Features

Every source of loss, accounted for.

GET /pricing · 200Googlebot/2.1GET /docs · 20098.6%human

Server-log truth

Cloudflare API or log-file import, with verified-crawler detection stripping bots before anything is counted.

/pricing/docs/blog/xtracked in GAgap

GA reconciliation

The per-URL, per-day gap between requests you really served and pageviews GA managed to record.

Ads clicksPaid sessions4,1803,254926 clicks · $1,412 wasted

Search & Ads cross-check

GSC clicks vs organic sessions, Ads clicks vs paid sessions — so you can price the wasted ad spend.

500page never servedGA never fired

Error detection

5xx and 4xx responses grouped by URL: people who tried to arrive and never even got the page.

CrUX LCP distribution47% good28%25% poorest. 380–520 left~50% abandon onslow pages

CrUX speed estimates

Public Chrome UX LCP distributions turned into abandonment ranges — always labelled as estimates.

URLMeasuredEstimatedCSV/pricing/docs/blog/x

One dashboard

Measured numbers and estimates in one view, visually distinct, exportable to CSV whenever you need it.

We never dress up an estimate as a measurement.

Measured gaps come straight from your logs. Speed-loss figures are shown as ranges with coefficients you can edit, so you always know which half of the number you can take to a meeting.

Measured
Estimated

Claim your throne early.

GhostKings is in private build. Join the waitlist and we'll open your account the day we launch.

No spam. One email at launch.