Skip to content
Sealmetrics

Pillar · Complete data

GA4 is not showing you
what really happened.

In Europe, consent banners, ad blockers and browser restrictions remove a large and uneven share of your traffic before GA4 records it. On one Shopify store measured side by side for 48 days, GA4 did not record 29% of visits. Sealmetrics measures without cookies, so the traffic your budget depends on is in the report — and the total can be checked against real orders.

Measured, not modelled · no cookies · last click per session · EU-hosted in Dublin

Quick answer

Complete data is analytics whose totals you can check against something that really happened — orders, bookings, revenue — instead of a model filling the gaps. GA4 does not reflect reality in Europe because it only records visitors who accept the consent banner, are not running an ad blocker and keep their cookies long enough; Consent Mode then estimates part of what is missing. The loss is large and uneven by channel. Measured on a real store, with GA4 and Sealmetrics running side by side on Incapto's Shopify site for 48 days, GA4 did not record 29% of visits or 45% of pageviews, while Sealmetrics recorded 96% of the real orders. How much GA4 misses depends on the store and the channel, so it has to be measured on each site. Sealmetrics measures without cookies or personal data and attributes revenue to the last click of each session. It does not identify people or reconstruct journeys across visits.

Where the traffic goes

Four losses.
None of them on the report.

GA4 is accurate about the visitors it can see. The problem is who it cannot see, and that nothing on the dashboard says how many they were.

LossWhat happensWhat GA4 does about itWhat changes without cookies
Consent rejectionVisitors who decline the banner are not recorded. Rejection ranges widely by sector, brand and banner design.Consent Mode estimates part of the missing activityNothing is stored on the device, so the analytics can run where the regulator's exemption criteria are met
Ad blockersRequests to known tracking domains are blocked, more often on desktop and in tech-literate audiencesThe visit is lostServed from your own subdomain, the tracker is far less likely to match a blocklist
Browser restrictions (Safari ITP)Script-set cookies expire in days, so returning visitors lose their original sourceLater visits land in direct or unassignedNo cookie to expire; each session keeps the source it arrived with
Sampling and thresholdsLarge explorations are sampled and small rows can be withheldEstimates or hides the rowEvery recorded event is counted, with no sampling

How the losses stack is worked through in why GA4 doesn't see part of your traffic; each vector is defined under data loss in analytics, Intelligent Tracking Prevention and GA4's sampling problem. How big each loss is depends on the site, which is why the rest of this page uses measured figures.

What incomplete data costs

The missing traffic
is not random.

If the loss were even, GA4 would simply be smaller. It is not even, so it is wrong — in the direction that moves budget.

01

Budget drifts to the channels that lose least

At Incapto, GA4 put paid campaigns at 50% of traffic; measured without consent loss they were 62%. Direct lost least, so in GA4 it looked more important than it was.

02

The no-origin bucket grows

At Palladium Hotel Group, 40% of inbound traffic had no source or medium and 35% of GA4 bookings had no channel. At Incapto, 14 of every 100 GA4 visits had no usable origin, against 0.3% in Sealmetrics.

03

The numbers stop reconciling

The marketing report, the order system and finance drift apart, and the review becomes an argument about data. That problem has its own page: one number for marketing and finance.

Measure your own gap

Don't take our number.
Measure yours.

This is the method behind the Incapto figures, and it works on any store. The data loss calculator gives an estimate before you start; the parallel run replaces the estimate with a measurement.

  1. Keep GA4 and add Sealmetrics

    Install Sealmetrics on the same site and leave GA4 exactly as it is. Both tools measure the same days; nothing is switched off.

  2. Reconcile both against real orders

    Before comparing traffic, check each tool against the orders your store actually took. Incapto's reconciliation used Shopify's online-store orders: Sealmetrics recorded 96% of them and 97% of revenue.

  3. Compare visits and pageviews

    With the base verified, compare the totals. At Incapto, GA4 recorded 157,844 visits against 222,345 in Sealmetrics, and 256,005 pageviews against 468,427.

  4. Break the gap down by channel

    The loss is uneven. At Incapto, Sealmetrics saw 11% more direct traffic than GA4, 37% to 52% more from paid campaigns, 62% more from organic search and 133% more from organic social.

  5. Size the no-origin bucket

    Count the visits with no channel you can act on. At Incapto that was 14% of GA4 visits against 0.3% in Sealmetrics — traffic that exists but supports no decision.

What changes, by role

Same data,
four different wins.

Complete data is not a dashboard feature. It changes the argument each role can make.

CMO

Allocate budget on the real channel mix.

Channel revenue on every recorded session, not only the visitors who consented, so paid and organic are judged on the same base.

Analytics for CMOs

eCommerce manager

Attribution that matches what the store recorded.

Revenue per channel checked against the order total, with the purchase confirmed server-side on Shopify.

Analytics for eCommerce

CTO / Analytics

Data you can audit, without sampling or modelling.

A 1.1 KB tracker, full-resolution BigQuery export, REST API and MCP server over the same dataset.

Analytics for CTOs

DPO

Measurement that does not start with a consent problem.

No cookies, no personal data in the dataset and processing in Dublin. Whether consent is needed still depends on your configuration.

Consentless analytics

Measured in practice

“Consent Mode left us with a structural blind spot: we knew there was traffic we were not seeing, but we had no way to size it.”

Rosa Tomàs · B2C Acquisition Manager · Incapto

Incapto knew exactly how many orders its Shopify store had taken. What it could not establish was how much of the traffic behind them reached GA4. Running both tools on the same days settled it — and the channels being under-credited were the ones bringing new customers in.

+30%

more traffic measured than with Google Analytics on the same site

Dreamplace HotelsRead the case
40%

of inbound traffic had no source or medium in the previous stack

Palladium Hotel GroupRead the case

What complete data does not mean

Complete means checkable,
not unlimited.

The trade-off is deliberate: aggregate measurement instead of individual tracking. Attribution is last click within each session, and revenue attribution is covered in depth under revenue attribution without cookies.

— Your gap is your own

29% was one store, Incapto, over 48 days. Sector, audience and banner design move the number, so measure yours.

— It counts what fires

Pages without the tracker, filtered bots and orders with no web visit stay outside. The Incapto figures are checked against orders, not presented as 100%.

— No person-level analysis

No returning-visitor recognition, no cohorts of people and no journeys across sessions. For product analytics inside a logged-in app, use a tool built for it.

— Last click per session

No multi-touch model and no view-through. Earlier influence belongs in a marketing-mix model.

— Ad-blocker resistance needs setup

The default tracker loads from t.sealmetrics.com. Serving it from your own subdomain is what keeps it off third-party blocklists.

— No cookies is not a legal exemption by itself

Whether a deployment needs consent depends on its configuration and your regulator's criteria. Ad pixels keep their own consent requirement.

Common questions

Before you trust
the next report.

Why does GA4 show less traffic than reality?

Because GA4 only records visitors who accept the consent banner, do not block its script and keep their cookies. Consent Mode estimates part of the rest, but estimates are not measurement. When Incapto ran GA4 and Sealmetrics side by side on its Shopify store for 48 days, GA4 did not record 29% of visits and 45% of pageviews.

How much traffic does GA4 miss in Europe?

It depends on the site, and it is uneven by channel. On one measured Shopify store the gap was 29% of visits; Dreamplace Hotels measures roughly 30% more traffic with Sealmetrics than with Google Analytics. In our experience with clients, between 40% and 60% of traffic doesn't accept cookies, and of those who do, 40% don't accept on the first pageview. There is no universal figure for the rest: measure it on your own site.

Isn't GA4's Consent Mode v2 already solving this?

Consent Mode is a modelling layer. When visitors reject cookies, Google estimates what they probably did based on the visitors who did consent. That is useful for a ballpark, but it is not a measurement, and it cannot tell you which channels the missing visitors came from. Complete data measures the traffic that actually arrived.

What does complete data actually mean?

Analytics whose totals can be checked against something that really happened. Operationally: no consent gate on the analytics, no cookie to expire, no sampling and no statistical gap-filling, with revenue attributed to the last click of each session. At Incapto that check was against Shopify's orders, where Sealmetrics recorded 96% of them and 97% of revenue.

How do I know my data is incomplete?

Run the data loss calculator for an estimate, then measure: keep GA4, add Sealmetrics for at least 30 days and compare both against the orders your store recorded. There is no benchmark to compare against: the gap depends on the store and the channel. If your measured gap is below 10%, you probably do not need to switch.

Does complete data mean Sealmetrics ignores privacy?

The opposite. Complete capture is possible because the architecture stores nothing on the device and keeps no personal data: no cookies, no identifiers, no stored IP addresses. Privacy is the constraint that forces the measurement to be aggregate, and aggregate measurement is what lets it run without a consent dialog where the regulator's criteria are met.

Where is this data stored?

Exclusively in Dublin, Ireland. The dashboard, the BigQuery export, the API and the MCP server all read the same EU-resident dataset.

Measure the gap

See your gap
on your own traffic.

Book a 30-minute walkthrough with the founder. We run the data loss calculator on your site and reconcile the result against your CRM or your store's orders.