GA4 · Comparing counts

Why is my Simple Analytics data different from Google Analytics?

Image of Iron Brands

Published on May 5, 2023 and edited on Sep 24, 2026 by Iron Brands

You installed Simple Analytics alongside GA4. Both are measuring the same website, but the totals disagree. Which number should you report?

Start by checking what each number counts. Pageviews, session starts and users answer different questions. Once those definitions match as closely as possible, investigate collection, consent and reporting settings.

A higher count does not automatically mean better measurement. A lower count does not prove better bot filtering. The useful result is a comparison you can explain.

Start with pageviews, not users

For a first comparison, use Simple Analytics pageviews and the GA4 event count filtered to page_view for the same web traffic. Avoid comparing a website total with a property total that also includes app traffic.

Pageviews still need a definition. A full page load, a reload and a route change in a single-page app can each generate a pageview, depending on your setup. Check the triggers before treating the totals as equivalent. Google's pageview documentation.

Session counts require a separate comparison. Simple Analytics calculates session starts from pageview context, including the referrer, without creating a persistent visitor identity. GA4 uses a different session model, with a default inactivity timeout of 30 minutes. Those totals need not match even when the tools receive the same pageviews. See our session methodology and Google's session definition.

Simple Analytics session starts are not a count of distinct people. Do not compare them directly with GA4 Active users or Total users.

Write down the comparison before investigating the gap

Use a completed period and record the report or export used on each side. Avoid today's partial totals, and allow for reporting delays.

Check What to align or document
Metric Pageviews against page_view event count; evaluate sessions separately.
Coverage Same hostnames, paths and web traffic; exclude staging and unrelated streams.
Time Same date boundaries and time zone. For exports, apply the same timestamp boundaries.
Triggers Initial loads, reloads and virtual pageviews; check for duplicate firing.
Filters Internal traffic exclusions, report filters and any other collection exclusions.
GA4 reporting Report or export, reporting identity, and any data-quality notices shown.

Keep this record with the comparison. Otherwise, a later change to a filter or reporting setting can look like a change in traffic.

Test the before-consent, rejected-consent and accepted-consent states in separate fresh browser sessions so a saved choice does not affect the next test. Inspect the requests sent by both tools, not just whether the tags appear in your tag manager.

With basic Consent Mode, Google tags remain blocked if the visitor does not consent. With advanced Consent Mode, Google tags can send cookieless measurements while analytics_storage is denied. That means rejected consent does not always mean no GA4 request. Google's Consent Mode explanation.

GA4 behavioral modeling is another layer. Eligible properties can include estimated user and session metrics in supported reports using the Blended reporting identity. Google distinguishes those estimates from event counts such as page_view in reports: enabling modeling can make denied-consent events reportable without modeling those event counts. Check the report's data-quality indicator. Google's behavioral modeling documentation.

For Simple Analytics, check whether your CMP or tag-manager trigger is blocking the script. A tool's measurement approach does not override your installation settings.

The difference between the two totals is not a consent rejection rate. It can include differences in collection, configuration and reporting as well.

Check delivery and duplicate pageviews

Follow a small set of page loads and internal navigations in browser developer tools. Confirm that each expected pageview produces the intended request in each system. A successful request alone does not prove that the event is included in the report, but a missing or duplicate request gives you something concrete to fix.

For GA4, check whether automatic and manual pageview tracking overlap. On single-page apps, inspect enhanced measurement's history-change setting as well as your custom route tracking. Google warns that combining automatic and manual pageviews can produce duplicates. How GA4 sends pageviews.

Repeat the checks with the browser and blocking extensions relevant to your audience. Simple Analytics offers a custom-domain setup, but it should be tested in your environment. It is not a guarantee that every request will arrive. Custom-domain setup documentation.

Do not diagnose bots from the totals alone

GA4 automatically excludes known bots and spiders. Google does not expose the volume removed by that exclusion. Google's bot-filtering documentation.

If Simple Analytics reports fewer pageviews, that does not establish that it filtered more bots. Missing installation coverage, different exclusions or duplicate GA4 events are also possible. Look for supporting evidence before attributing the difference to automated traffic.

Use the baseline to investigate changes

Once the setup is checked, compare daily trends as well as period totals. Record whether the difference is consistent or begins on a particular date. A sudden change gives you a date to compare with deployments or configuration changes; a consistent difference still needs an explanation.

If GA4 falls while Simple Analytics stays stable, check whether consent, tagging, filters or reporting changed around that date. If both fall, investigate traffic sources and website changes too. These patterns guide the investigation; they do not establish the cause.

Break the comparison down by page and browser where the definitions align. A difference confined to one page template suggests a different investigation from one appearing across the whole site.

Do not multiply GA4 conversions by the pageview ratio and present the result as observed conversions. That assumes the traffic missing from GA4 behaves like the traffic it measures. The pageview comparison cannot establish that.

The outcome should be something you can tell your team: these are the metrics we compared, these are the collection differences we verified, and this is what remains unexplained.

Free 30-day proof of concept

Compare Simple Analytics with GA4 on your website

Run a free 30-day proof of concept alongside your existing GA4 setup and CMP.

We help you:

  1. Agree on the measurement question, metrics, pages and comparison period.
  2. Set up Simple Analytics, including support for proxies and custom domains where needed.
  3. Review the counts, trends and methodological differences together.
Book a demo

Tell us what you want to compare. We’ll agree on the scope of the POC together.