Why GA4 and Bloomreach show different numbers

If you're using both GA4 and Bloomreach, you'll notice the numbers don't always match. This is expected—and neither platform is wrong.

Most typically, differences in data between systems aren’t due to incorrect or "false" numbers, but to deviations in the ways each platform defines what it's tracking in the first place.

Understanding those definitions helps you reconcile the gaps and choose the version that best fits your needs.

Unique users

How GA4 counts users

GA4 uses a feature called Reporting Identity, which relies on a hierarchy of four signals: User-ID, Google Signals, Device ID, and Modeling. If a developer consistently sends a user_id on login, GA4 merges sessions across devices in reports. Without it, each device or browser is treated as a separate user.

How Bloomreach counts users

Bloomreach uses a hard ID and soft ID system to stitch anonymous identifiers (like cookies) to known identifiers (like email or login). When a customer browses on their phone, visits from their laptop, and then provides their email, Bloomreach merges all activity into a single customer profile.

Why he numbers differ

The same customer using two devices may appear as two users in GA4 but one customer in Bloomreach—or vice versa, depending on how identity resolution is configured on each platform. Neither number is wrong. They reflect different approaches to identity stitching.

Sessions

How GA4 defines sessions

A GA4 session ends after 30 minutes of inactivity. Unlike Universal Analytics, a session doesn't restart at midnight or when the campaign source changes mid-browse.

How Bloomreach defines sessions

Bloomreach also defaults to 30 minutes of inactivity, but this timeout is configurable per project. A session starts when the first page opens and ends when the last page closes after the inactivity window expires.

Why the numbers differ

If your Bloomreach project uses a different timeout than your GA4 property, session counts will always differ—regardless of other factors. Even with identical settings, differences in how each platform handles edge cases (like midnight rollovers or returns from payment gateways) can lead to small variations. Expect 5–10% variance in session counts.

Events

How GA4 structures events

GA4 uses multiple separate events to describe related activities at different stages. For example, cart activity is tracked as 3 distinct events: add_to_cart, view_cart, and remove_from_cart.

How Bloomreach structures events

Bloomreach consolidates related activities into a single event type, using properties to differentiate between stages. For example, all cart activity is tracked as a single cart_update event, with an action property set to add, view, or remove.

Why the numbers differ

The same customer behavior is captured under different event names in each platform. Total event counts for the same activity should be similar, but event-level comparisons require mapping between the two platforms.

Real-time data vs. standard reports

How GA4 processes events

GA4 handles events differently depending on type. Key events process in near real time, while standard events are batched and sent in groups. GA4's Real-time report shows data within seconds, but standard reports can take 24–48 hours to fully process.

How Bloomreach processes events

All tracking events are processed in real time and available for reporting and activation within seconds.

Why the numbers differ

If you compare yesterday's totals at 9:00 AM, GA4 may show fewer events than Bloomreach because its processing pipeline hasn't finished. End-of-day comparisons are more reliable than real-time ones. This is a timing difference, not a data accuracy issue.

Data visibility

How GA4 handles small segments

GA4 applies Data thresholding. It may hide rows of data in reports when user counts are too low, to prevent identifying individual users based on demographics or interests. This is most common when Google Signals is enabled. A small orange exclamation icon at the top of a GA4 report indicates thresholding is active.

How Bloomreach handles small segments

Every captured event and customer profile is visible in Bloomreach. As a first-party data platform, it doesn't apply thresholding or hide data based on audience size.

Why the numbers differ

For specific segments — for example, "users from Prague who bought a blue shirt"—GA4 may show zero or "Data low" while Bloomreach shows the actual count. This doesn't mean GA4 lost the data. It's protecting user privacy in its reporting layer.

What to expect

Reconciling differences is usually just a matter of knowing how each platform defines each metric and using the version you prefer. Use the benchmarks below to gauge whether your numbers are within a normal range.

MetricExpected varianceWhy
Conversion rateVariableDepends on how each platform defines "sessions" in the denominator.
Orders and purchases< 3%Should be nearly identical. Larger gaps indicate a tracking issue.
Sessions5–10%Timeout settings and edge case handling.
Unique users5–15%Different identity resolution methods.

Normal differences to expect

  • Small variations in totals: Different session rules, identity methods, and processing timing create small variances. Expect 1–5% on most metrics.

  • Different unique user counts: Bloomreach's identity resolution merges profiles across devices and sessions. Depending on your configuration, this can result in higher or lower unique customer counts compared to GA4."

  • Timing gaps: GA4's batching means some recent events may not have been processed yet. Compare end-of-day data for more reliable results.

  • Event name mismatches: Different naming conventions mean that filtering for "cart events" returns different counts across platforms. Use the event mapping table to understand equivalent events.

When to investigate

  • Events appear in one platform but not the other. For example, Bloomreach shows 500 purchase events, and GA4 shows 0. This suggests one platform isn't receiving the data — check your implementation on both sides.

  • Large revenue discrepancies. A 50%+ difference in revenue figures points to a tracking configuration problem, not a definitional difference.

  • Persistent time delays. Events from yesterday still haven't appeared in GA4 but are visible in Bloomreach. This goes beyond normal batching — check GA4's status page.

  • Zero activity for specific segments in one platform. This suggests a platform-specific implementation gap rather than a definitional difference.

Don't panic — choose wisely

If numbers differ, there's almost always an explanation rooted in how each platform defines and processes data. Getting to the bottom of why helps you develop a deeper understanding of both platforms—and choose the metrics that matter most for your goals.

Questions? 

Contact Bloomreach Support or your Customer Success Manager.

Resources


© Bloomreach, Inc. All rights reserved.