siteline Start free trial Log in

Why analytics numbers don't match

See your data

If two analytics tools agree to the person, one of them is guessing. SiteLine will not match GA4. It will not match Search Console clicks. It will not match your ad network's "landing page views." Treat each number as the answer to a specific question, or you will spend the quarter "reconciling" noise.

This is not a temporary connector issue. It is three measurement systems.

SiteLine vs GA4

Lever SiteLine GA4 (typical)
Identity Daily hash of truncated IP + UA + salt Client id cookie, optional User-ID, modeled gaps
Pageview Tracker pageview on load / history page_view event, enhanced measurement, ignore-duplicates rules
Consent No analytics cookie Consent mode can drop or model hits
Bots UA substring filter before ingest Googlebot filters plus whatever you configured
Blockers Script/collect URL vs lists gtag / GTM fame on lists
Sessions None Session-scoped metrics everywhere

Even if you dual-tag the same page, SiteLine visitors on a 30-day range count daily identities. GA4 Users try to be people. SiteLine pageviews vs GA4 page_view can be close on a single day with blockers off and no consent gate — and still diverge on events you mapped differently. SiteLine custom events need a name and ≤10 properties. GA4 will happily accept a junkyard.

Do not apply a "SiteLine is 12% lower" factor. The gap moves with Safari share, intern-with-uBlock share, and whether you proxied collect.

SiteLine vs Search Console

GSC clicks are Google-reported search clicks, published ~2 days late, revised for about a week. SiteLine pageviews are browsers that ran your tracker.

Clicks ≠ pageviews because:

Join on page + completed GSC day. Do not join on "this week" while Wednesday's GSC is still empty.

SiteLine keeps ~16 months of GSC on connect and retains it while you subscribe. That does not make GSC real-time.

SiteLine vs ads platforms

Ads count impressions and clicks on their pixel, often with view-through, cross-device, and modeled conversions. SiteLine goals are exact path, path contains, or event name on first-party events that arrived. A Facebook click that never executed script.js is an ads click and a SiteLine zero. That is not "under-attribution you can calibrate." It is a missing hit.

UTM breakdowns in SiteLine only exist when UTMs are on the page URL the tracker saw. Stripped at the redirector = empty UTM report and a full pageview count.

SiteLine vs itself (the traps)

A working rule for reports

  1. Search demand → GSC site totals (clicks, impressions), then query/page tables as the visible head.
  2. On-site volume → SiteLine pageviews for the same host and dates that are closed.
  3. On-site conversion → one goal, same-day.
  4. Instrumentation → Live, allowlist, proxy yes/no, one install path (script or React).
  5. Paid media → the ad platform, with SiteLine as a landing-page check, not the source of truth for spend.

When someone asks why the numbers don't match, answer with the lever, not with a promise to "look into the API."

FAQ

Can SiteLine import GA4 history?

No. Enable SiteLine and start from the install date. GSC history is the 16-month backfill, which is a different dataset.

Should I stop GA4 so the numbers settle?

Only if you do not need ads identity. Stopping GA4 does not make SiteLine equal the old GA4 property. It makes you stop comparing them.

Is a 1:1 match possible with a proxy and no blockers?

Closer on same-day pageviews versus an unfiltered hit-based tool. Still not a match on visitors, sessions, or conversions defined differently. Cookieless daily identity is not a cookie. That is the product.