Why GA4 Is Wrong for Ecommerce Attribution (And What It Gets Backwards)
by Trivas.ai
|
8 min read
Oct 21, 2026
GA4 Was Never Built to Answer "What Drove This Sale"
GA4 wasn't designed as an attribution engine. It was designed as a behavioral analytics tool, built on the bones of Firebase, Google's app analytics product. Events, engagement, user flow. Ecommerce tracking got bolted on afterward.
That history matters more than most marketers realize. Universal Analytics at least pretended to be session-and-goal oriented in a way that mapped loosely to ecommerce funnels. GA4 inherited a different DNA: it wants to tell you how users engage with a product, not which dollar came from which channel.
Here's the opinionated version, stated plainly: why GA4 is wrong for ecommerce attribution comes down to a mismatch between what it was built to measure and what growth teams are asking it to decide. Its attribution models were designed around engaged sessions and event streams, not verified revenue. Treating it as the source of truth for ROAS decisions isn't a minor calibration problem. It's a category error.
The rest of this post is a diagnostic, not a takedown. Four specific symptoms, each one a place where GA4's architecture quietly produces numbers that look authoritative but aren't measuring what you think they're measuring: Google-channel bias in the default attribution model, session fragmentation across devices, consent-driven modeling gaps, and a revenue number that rarely matches what actually got collected.
Symptom 1: Data-Driven Attribution Quietly Favors Google's Own Channels
GA4's default model, data-driven attribution (DDA), runs on a Google-built algorithm that nobody outside Google can audit. That alone should give you pause. But the bigger issue is structural: Google's tracking has far more visibility into Google Ads clicks and organic/paid search than it does into Meta, TikTok, or email.
Walk through a common path. A shopper sees a Meta ad, doesn't click, but remembers the brand. Two days later she searches the brand name on Google, clicks the top result (often a paid search ad), and buys. GA4 sees the search click clearly. It sees the Meta impression poorly or not at all, since impression-level data from other platforms isn't native to Google's pipeline the way its own ad clicks are.
Result: GA4 credits the branded search that closed the sale, not the ad that created the demand in the first place.
The practical effect shows up in budget meetings. Marketers read GA4, see Google Ads "performing," and shift spend toward search and away from the upper-funnel channels that were actually generating awareness. It's not that GA4 is lying. It's that it can only attribute what it can see, and what it sees skews toward Google's own ecosystem. If you're trying to untangle this at the platform level, it helps to look at how GA4 handles channel groupings and conversion paths directly inside GA4's ecommerce reporting setup before assuming the attribution model is giving you a clean read.
Symptom 2: Session-Based Modeling Doesn't Match How Ecommerce Shoppers Actually Buy
GA4 stitches behavior together using device and cookie signals, not a persistent customer identity. That's a meaningfully different thing than tracking "a customer."
Think about a realistic path for a considered purchase: research on mobile during a commute, checkout on desktop that night, a reorder through the app three weeks later. To GA4, that's not necessarily one loyal buyer. Depending on sign-in state and cross-device matching, it can register as two or three separate "users," each with their own fragmented session history.
The effect compounds at scale. Repeat buyers get undercounted. Lifetime value, which depends on correctly linking a customer across visits, gets quietly deflated because the stitching logic was never built to prioritize identity resolution. It was built to approximate behavior within a session.
Then there's timing. GA4's default lookback windows and session-timeout settings assume a tighter purchase cycle than a lot of ecommerce categories actually have. Furniture, electronics, anything north of $150, these often involve research spread across days or weeks. A shopper who first engages on day one and converts on day eighteen may fall outside the window GA4 is even configured to connect, especially with default settings nobody goes back and adjusts.
This is part of why why GA4 is wrong for ecommerce attribution isn't just a Google-bias problem. It's an identity problem. The underlying unit GA4 measures, the session, was never meant to carry the weight of "customer" the way revenue reporting demands.
Symptom 3: iOS14, Consent Mode, and Cookie Loss Create Phantom Attribution Gaps
Apple's App Tracking Transparency prompt and browser-level protections (Safari's ITP, Firefox's ETP) mean a real, non-trivial share of sessions never make it into GA4 at all. Not misattributed. Missing.
Google's answer to the resulting data gaps is Consent Mode, which backfills missing conversions using modeled estimates based on observed patterns from consenting users. Reasonable idea in theory. But in the standard reporting view, modeled conversions and observed conversions get blended together without a clear label distinguishing which is which. You're looking at one number that's actually two different kinds of number wearing the same formatting.
That blending is what makes month-over-month trend lines unstable in a way that has nothing to do with your business. If consent rates shift (a new cookie banner, a change in EU regulation enforcement, a browser update that tightens ITP further), the modeling assumptions shift with it. Your GA4 revenue line can move 8% in either direction purely because Google's model recalibrated, not because demand changed at all.
Most teams reading that dashboard have no way to separate "real change in the business" from "the model updated its assumptions." That's not a small caveat. It's a direct hit to the credibility of GA4 as a trend source, let alone an attribution source.
Symptom 4: GA4 Revenue Rarely Matches What Shopify or Amazon Actually Collected
This is the symptom most operators notice first, usually around month-end close, when the GA4 number and the Shopify admin number refuse to agree.
The causes are mechanical, not mysterious. GA4 often fires its transaction event at checkout initiation or on page load, before a payment is confirmed, before a refund happens, before a cancellation gets processed. Shopify and Amazon, by contrast, record settled orders: net of refunds, net of cancellations, converted into a consistent currency. Two systems measuring two different moments in the order lifecycle will never produce the same number, by design.
In practice, a brand doing $500K a month on Shopify will commonly see GA4 revenue land 5 to 15% off from the Shopify admin figure. And there's no native reconciliation report inside GA4 to explain the gap. You just get two numbers and a shrug.
It gets worse once ad platforms enter the picture. Meta reports its own self-attributed revenue. Google Ads reports its own. Neither matches GA4, and GA4 doesn't match Shopify. Now you've got three or four numbers, each confident, none agreeing, and nothing built into any of these platforms that tells you which one (if any) reflects reality.
[@portabletext/react] Unknown block type "table", specify a component for it in the `components.types` prop
This is the clearest version of why GA4 is wrong for ecommerce attribution: it's not reporting the same thing your finance team is reporting, and nothing forces those two numbers to reconcile on their own.
What to Measure Instead: Incrementality and a Reconciled Revenue Source of Truth
The fix isn't to throw GA4 out. It's genuinely useful for what it's good at: bounce rate, funnel drop-off, on-site search behavior, engagement patterns across a product page redesign. Keep using it for that. Stop using it to decide where next quarter's ad budget goes.
For budget decisions, incrementality testing is the more defensible approach. Holdout groups and geo-based lift tests measure what a channel actually causes, not what a last-touch or modeled attribution system assigns it credit for. A channel that looks mediocre in GA4 might be driving real incremental lift that session-based modeling can't see, and vice versa.
The other half of the fix is reconciliation at the data layer, not the reporting layer. Pulling GA4, Shopify, Amazon, and ad platform data into one warehouse (Redshift, in our case) is what actually resolves the mismatch between "GA4 says X, Shopify says Y, Meta says Z." You're not trusting any single platform's number anymore. You're comparing them side by side against the same order IDs and settlement data, and building reporting on top of that reconciled layer instead. That's the kind of work a proper BI reporting layer is meant to handle, and it's also where Insights can flag when a channel's reported performance has drifted from its reconciled, actual contribution.
Where This Leaves Ecommerce Brands Still Relying on GA4 Alone
Four symptoms, in short: GA4's default model structurally favors Google's own channels, its session logic fragments real customers into phantom users, consent-driven modeling quietly reshapes your trend lines, and its revenue number rarely matches what Shopify or Amazon actually settled.
None of that means GA4 is useless. It means it's being asked to do a job it wasn't built for. The brands getting burned aren't the ones using GA4, they're the ones using GA4 alone, as the single source of truth for channel budget decisions.
If you're comparing attribution and reporting tools right now, it's worth seeing how different platforms handle this reconciliation problem differently, including in a breakdown of Northbeam, Polar, and Trivas.
Worth spending twenty minutes reconciling your own GA4, Shopify, and ad platform numbers side by side before your next budget call. If the gaps surprise you, you're not alone, and it's a pretty quick way to see exactly where your current reporting setup is quietly misleading you.
Content author and contributor at Trivas.ai, sharing insights on e-commerce analytics, business intelligence, and data-driven strategies to help businesses grow.
Continue Reading
explore more insights
Northbeam Integrations Supported List: What It Connects To (And Where It Doesn't)
3 min read
How to Scale a Shopify Brand Using Better Analytics
3 min read
Ecommerce Analytics Platform GetApp Comparison: Where Trivas Stands