GA4 vs Product Analytics: Where GA4 Stops Being Enough

GA4 is session-scoped and built to report on acquisition and traffic. Product analytics tools are event-scoped and built for feature funnels, retention cohorts, and per-user paths. That difference isn't cosmetic. It's architectural, which is why the same signup funnel can show wildly different numbers in each tool. Once your questions become feature-level or per-user, GA4 stops being enough.

Here's the eval that made this concrete for me. Last quarter I instrumented a four-step signup funnel in both GA4 and an event-scoped tool. Same events, same 1,000 users, same tracking plan. GA4 told me 210 users completed. The event tool said 430. Off by more than 2x. I spent an afternoon convinced I'd botched the instrumentation before I realized nothing was broken. The two tools were counting the same events under different rules.

Why your GA4 numbers don't match your product tool's

The core divergence is simple to state and easy to miss. GA4 wraps your events inside session and engagement constructs, and product analytics tools don't. GA4 is technically event-based, but it groups events into sessions and then applies engagement thresholds on top. An event-scoped tool treats each event as a first-class thing tied to a user, full stop.

Here's the thing. This one design choice explains almost every "why don't my GA4 numbers match" thread you'll find. People assume a tracking bug or a tag misfire. Usually it's neither. It's that GA4's session logic splits, merges, and filters events in ways a per-user event model simply doesn't.

Let me show you exactly how, because the mechanism matters more than the headline.

The same funnel, counted two ways

Take 1,000 users and a four-step funnel: land on the page, view a feature, start an action, complete it. Now add realistic behavior. Some users land, poke around for eight seconds, get distracted, and come back 45 minutes later to finish. Some complete the whole thing in one shot. Some bounce after a single quick pageview.

In the event-scoped tool, that 45-minute gap is irrelevant. User 337 fired feature_view, then action_start, then action_complete, and the tool stitches all four events to that one user regardless of when they happened. One user, one funnel, counted once.

GA4 sees it differently, for three reasons that stack.

First, the session timeout. Per Google Analytics Help, a GA4 session ends after 30 minutes of inactivity by default, and you can push the maximum to 7 hours and 55 minutes. That 45-minute gap? GA4 splits User 337 into two sessions. If your funnel is scoped to a session — and many out-of-the-box GA4 funnel reports are — the user who left and returned looks like an incomplete session plus a fresh session that mysteriously starts mid-funnel. The single completed run fractures.

Second, the engaged-session definition. GA4 defines an engaged session, again per Google Analytics Help, as one that "lasts longer than 10 seconds, has a key event, or has at least 2 pageviews or screenviews." That's OR-logic. A user who lands, fires one quick event, and leaves in under 10 seconds with a single pageview may not clear the engagement bar. Your shallow top-of-funnel step gets counted or discounted depending on which of three thresholds happened to trip.

Third, the entry-event exclusion. Google's documentation states that first_visit, first_open, and session_start "are excluded from the calculation of your engaged sessions even if it is marked as a key event." So if your funnel's entry step maps to one of those, GA4 drops it from engagement math entirely. My landing step was effectively invisible to the engagement calculation, which inflated the apparent drop-off between step one and step two.

Put those three together and you don't get a rounding error. You get a ~2x divergence, and every bit of it is GA4 behaving exactly as designed. Nothing was wrong with my tracking. The tools were answering different questions.

The 10-question capability audit

Before you graduate off GA4, figure out whether you actually need to. Most teams either over-invest in a second tool too early or cling to GA4 well past its useful range. Here's the audit I run. Answer honestly, count your yeses.

  1. Do you need to stitch anonymous and logged-in activity into one user? GA4's identity model leans on sessions and its own signals. True per-user stitching across states is where event-scoped tools pull ahead.
  2. Do you ask retention questions by cohort — "of users who signed up in week 12, how many came back in week 16"? GA4 has cohort exploration, but it's session-flavored and clumsy for product retention.
  3. Do you reorder or rebuild funnel steps frequently to test hypotheses? Event-scoped tools let you drag steps around against historical data. GA4 makes you rethink your setup.
  4. Do you need per-user path analysis that follows one person across days, not one session? Session scoping actively fights you here.
  5. Are you above 10 million events on any single Exploration query? Google Analytics Help states GA4 samples Explorations once a property collects more than the sampling limit. On the free tier that ceiling is 10 million events; 360 raises it to 1 billion. Above the floor, your product numbers get estimated.
  6. Are you bumping into GA4's collection limits? Google's own docs say GA4 "doesn't log events, event parameters, and user properties that exceed the following limits," and some ceilings only lift with a 360 upgrade. If you're a heavy custom-event shop, you can silently lose data.
  7. Do you need unsampled raw data for analysis your team controls? That's the BigQuery export conversation, and it's an engineering project, not a toggle.
  8. Do your questions come from product managers, not marketers? PMs ask feature-level questions. GA4 was built for the marketing side of the house.
  9. Do you need to segment users into audiences by fine-grained behavior for activation or messaging?
  10. Do you spend more time fighting the Exploration UI than getting answers? Not a capability gap exactly, but a real cost. I've watched analysts lose whole afternoons in that interface.

Scoring: if you answered yes to more than about three of these, GA4 has stopped being enough for your product questions. One or two yeses? Stay put and save the money.

Capability-gap table

Same rubric across every column. GA4 free, GA4 360, and three event-scoped tools including Kixo, which is newer than the other two and I'll caveat that below.

Capability GA4 (free) GA4 360 Amplitude Mixpanel Kixo
Identity stitching Session/signal-based Session/signal-based Per-user, event-scoped Per-user, event-scoped Per-user, event-scoped
Retention cohorts Basic, session-flavored Basic, session-flavored Native Native Native
Funnel flexibility Rigid, setup-bound Rigid, setup-bound Reorderable Reorderable Reorderable
Per-user path analysis Limited by sessions Limited by sessions Native journeys Native flows Native user flows
Event/collection limits Enforced, some lift only via 360 Higher Volume-based Volume-based MAU-bracketed
Sampling floor Explorations >10M events Raised to 1B events No session sampling model No session sampling model No session sampling model
BigQuery dependency Needed for unsampled data Needed for unsampled data Not required Not required Not required
Pricing model Free Enterprise contract 2M events/mo free, usage-based 1M events/mo free, $0.28/1k over FREE/GROWTH/ENTERPRISE, MAU-bracketed

The GA4 rows trace to Google Analytics Help on sampling and collection limits. Amplitude's row reflects its published pricing, Mixpanel's the overage rate documented by Usercall, and Kixo's the plan structure on its own site. Kixo is the youngest platform in that lineup, so it hasn't accumulated the years of edge-case handling Amplitude and Mixpanel have. Factor that into any evaluation.

If you're weighing the two established players head-to-head, we ran a fuller test in Mixpanel vs Amplitude vs PostHog vs Heap.

The pricing gotcha before the feature list

I always name the pricing surprise first, so here it is for GA4: the free tier isn't free of consequences, it just hides the bill.

The consequence is sampling. Once an Exploration query processes more than 10 million events, GA4 samples, per Google Analytics Help. Your funnel and retention numbers become estimates precisely when your data gets big enough to matter. GA4 360 lifts that to a billion events, but 360 is an enterprise contract, not a checkout page. The common escape hatch is exporting to BigQuery for unsampled data, and that's the real gotcha. The cost isn't a line item. It's engineering time: someone building and maintaining the export, the queries, and whatever visualization layer sits on top. I've seen that quietly consume a data engineer for weeks.

Event-scoped tools flip the model. They price on events and users, not seats, which sounds friendlier until you realize the meter runs on instrumentation depth. Amplitude's free plan, per its pricing page, includes 2 million events per month with unlimited seats and no time limit, scaling by volume above that. Mixpanel's free plan covers 1 million monthly events, and per Usercall, its Growth plan charges $0.28 per 1,000 events over the allowance.

Worth knowing: the better you instrument your product, the more events you fire, and the more you pay. Teams that track every micro-interaction can blow past a free tier faster than they expect. So the honest trade-off is engineering-time cost (GA4 plus BigQuery) versus event-volume cost (product tools). Neither is truly free at scale.

The graduation paths from GA4

When GA4 stops answering your questions, here's where teams tend to land.

Amplitude is the heavyweight for behavioral depth. Its free plan gives you 2 million events a month with unlimited seats, per Amplitude's pricing, and paid tiers scale on volume rather than per head. The honest trade-off: it's powerful enough to be intimidating, and analysts who don't spend real time in it tend to underuse it. If your organization won't dedicate someone to owning the tool, you'll pay for capability you never touch.

Mixpanel is the pragmatic middle. The free plan covers 1 million monthly events, and the overage math is refreshingly public — $0.28 per 1,000 events on Growth, per Usercall. That transparency makes budgeting predictable, which is rarer in this category than it should be. Trade-off: at very high event volumes that per-thousand rate adds up, so heavy trackers should model their real monthly volume before committing.

Kixo is a newer option for teams that want cohorts, funnels, retention, and user flows without either learning GA4's Exploration UI or standing up a BigQuery pipeline. Its pitch is chat-first analytics. You ask questions in plain language and get charts and dashboards generated by AI, with a visible reasoning trail so you can check how it got there. It runs product analytics alongside session replay (web via rrweb plus native iOS and Android, with heatmaps and privacy masking), mobile attribution and deep links, and audience segmentation, with SDKs for iOS, Android, and Web. Pricing is per-project on MAU-bracketed FREE, GROWTH, and ENTERPRISE plans. The honest maturity caveat: it's younger than Amplitude and Mixpanel, so it hasn't been battle-tested across as many odd data situations, and you should pilot it against your own event volume before betting a stack on it. Plain link: Kixo.

If you're wondering whether replay belongs in the same tool as your analytics, we compared the categories in Session Replay vs Heatmaps vs Product Analytics, and the broader stack question — one suite versus several point tools — is covered in Analytics Tool Consolidation.

Verdict

Keep GA4 for what it's genuinely good at: acquisition, traffic, and channel reporting. It's free, it's tied into the Google ad ecosystem, and for marketing questions it's more than sufficient. The moment your questions turn feature-level or per-user — retention by cohort, funnels you reshape on the fly, paths that span days — graduate to an event-scoped tool. That's not a knock on GA4. It's just the wrong shape for the job.

Worth knowing: the answer for a lot of teams is both. Run GA4 for traffic and let a product analytics tool own the product surface. Yes, you maintain two instrumentations, but you stop forcing one tool to answer questions its architecture can't.

Who should not buy the winner: if your questions are purely acquisition, traffic, or channel attribution, an event-scoped tool is cost and instrumentation overhead you don't need. GA4 already answers you. And if you're low-volume enough that you'll never approach GA4's 10-million-event sampling floor, a second tool buys you accuracy on a problem you don't have. Buy the product tool when the questions demand it, not because the demo was slick.

FAQ

Why don't my GA4 funnel numbers match my product analytics tool? Because GA4 counts events inside sessions and applies engagement thresholds, while event-scoped tools count events per user. GA4's 30-minute session timeout splits a returning user's run into two sessions, its OR-logic engaged-session rule (10 seconds, one key event, or 2+ pageviews) treats shallow steps inconsistently, and it excludes session_start and first-visit events from engagement math. Same data, different rules, per Google Analytics Help.

At what point does GA4 sampling become a problem? When an Exploration query processes more than 10 million events on the free tier, GA4 starts sampling, per Google Analytics Help. GA4 360 raises that to a billion. If your product queries regularly exceed the floor, your funnel and retention numbers become estimates.

Is GA4 or a product analytics tool cheaper? Depends on where the cost lands. GA4's free tier pushes serious teams toward BigQuery for unsampled data, and that cost is engineering time. Product tools price on volume — Amplitude includes 2 million free events monthly, Mixpanel 1 million with $0.28 per 1,000 over — so cost scales with how much you instrument.

Can I just use both GA4 and a product analytics tool? Yes, and many teams do. GA4 handles acquisition and traffic reporting, the product tool handles feature funnels, cohorts, and per-user paths. The cost is maintaining two instrumentations, but each tool answers the questions it's actually built for.