GA4 is free, powerful, and installed on more websites than any other analytics tool on the planet. For tracking traffic, understanding user behavior, and connecting your Google Ads spend to results, it is hard to beat.
But there is a version of your business that GA4 simply cannot see.
It misses the customer who bought using Safari and had their cookie reset the week before. It loses the sale that came through a PayPal redirect.
It cannot tell you which customers are worth keeping or what your most profitable product actually is after costs. And in markets like Germany or France, it may be invisible to more than half your visitors before they even reach your store.
These are not setup errors. They are Google Analytics limitations built into how GA4 works at a structural level.
This article covers every significant gap, what each one costs you in practice, the fixes worth implementing, and what to do about the gaps that no workaround can fully close.
What GA4 actually gives you
Before getting into what GA4 cannot do, it is worth being clear about what it genuinely does well. For behavioral analytics, it is a strong tool.
GA4 uses an event-based tracking model. Every user interaction on your site is captured as an event with parameters attached.
For eCommerce, this covers the full purchase funnel: view item, add to cart, begin checkout, add payment info, and purchase.
Beyond the funnel, GA4 covers a lot of ground: acquisition reports, engagement reports, monetization reports, retention reports, explorations, Google Ads integration, and predictive metrics including purchase probability, churn probability, and predicted revenue for stores with sufficient traffic.
All of this is free. For understanding what visitors do on your site and how Google Ads campaigns are performing, it is genuinely useful.
The limitations start the moment you need accurate revenue numbers, multi-platform visibility, or customer intelligence that goes beyond session data.
Google Analytics limitations that affect your data accuracy
These are the gaps that silently corrupt the numbers you are making decisions from every day.
GA4 undercounts eCommerce revenue by 10 to 20%
The gap between what GA4 reports and what actually landed in your bank account is not a rounding error. On average GA4 undercounts eCommerce revenue by 10 to 20%. One documented audit found GA4 captured only 67% of actual Shopify revenue over a seven day period.
Ad blockers, consent rejections, payment gateway redirects, and customers closing the thank you page before it loads all compound into a revenue figure that systematically understates your actual performance.
Ad blockers hide roughly 30% of your visitors
Around 912 million people globally use ad blockers, representing roughly 30% of all internet users. Tools like uBlock Origin, Brave, and DuckDuckGo completely block GA4 scripts from loading. In Germany the rate reaches 49%. In Southeast Asia it exceeds 65%.
The visitors most likely to block tracking are tech-savvy, higher-spending customers, which means the blind spot is not random. It is skewed toward your most valuable audience.
Cookie consent rejection removes up to 60% of EU visits
Under proper GDPR compliance, stores must offer a genuine reject option. In Germany and France fewer than 25% of users accept tracking cookies.
The UK’s Information Commissioner’s Office documented this directly, after implementing a legally compliant consent banner, their reported daily traffic appeared to drop from 119,000 visitors to just 11,000. The visitors were still there. GA4 just could not see them.
Apple’s Intelligent Tracking Prevention limits GA4’s tracking cookie to 7 days in Safari, and sometimes just 24 hours. Safari holds around 46 to 50% of US mobile browser share, and because Apple requires all iOS browsers to use WebKit, this affects every browser on every iPhone.
A loyal customer who visits every 10 days appears as a brand new user in GA4 each time. Retention data loses its foundation.
Subscription renewals and refunds are largely invisible
Auto-renewals happen server-side with no browser interaction, so no purchase event ever reaches GA4. Unless you configure Measurement Protocol specifically, every subscription renewal is absent from your revenue data.
Refund tracking has the same problem. It requires passing the original transaction ID back to GA4 at the time of the refund, which most eCommerce platforms do not do automatically. Your GA4 revenue stays inflated by orders that were later returned.
Payment gateway redirects break purchase tracking
When customers leave your domain to complete payment through PayPal, Klarna, or Shop Pay, GA4 loses the session.
The redirect breaks the tracking chain and the completed purchase either disappears entirely or gets misattributed to direct traffic. Approximately 10% of PayPal purchases never register in GA4 at all.
Headless Shopify stores face even worse attribution issues
Headless Shopify setups face compounded tracking failures. GA4 Custom Pixel sandbox does not support cross-domain tracking, session continuity breaks at every handoff between frontend and checkout, and standard GTM implementations fail silently without proper server-side configuration.
Merchants running headless architectures often see GA4 conversion rates that are dramatically lower than actual performance.
Google Analytics limitations that affect your analysis
Even when the data does reach GA4, structural limitations in how it processes and stores that data create a second layer of problems.
Data sampling distorts high-traffic reports
GA4’s free tier triggers sampling when an Exploration query exceeds 10 million events. Large stores hit this ceiling easily when analyzing longer date ranges.
Sampled data can vary by 15 to 25% depending on which sample is drawn. High-cardinality dimensions with more than 500 unique values per day get collapsed into an “other” row, hiding the granular product and campaign data that matters most.
Standard reports have a 24 to 48 hour delay
GA4’s standard reports take 24 to 48 hours to process. Attribution credit can keep changing for up to 12 days after an event. During a flash sale or product launch, the data you are looking at is yesterday’s picture at best.
Data retention defaults to just 2 months
GA4’s default event-level data retention is 2 months. The maximum on the free tier is 14 months and must be manually changed.
This only affects Explorations but it means year-over-year granular analysis is impossible without BigQuery export. Most store owners never change this setting and silently lose months of historical data.
Attribution models were cut down to just two in 2023
Google sunset first-click, linear, time-decay, and position-based attribution models in September 2023. Only data-driven attribution and last-click remain.
Data-driven attribution is a black box with a formula that differs per advertiser and cannot be audited. It also requires 400 conversions per month to stay stable.
No customer lifetime value calculation
GA4 has a user lifetime exploration but it only covers data within the retention window, cannot incorporate returns or COGS, and is undermined by Safari ITP resetting user identity every 7 days. There is no CLV metric in any standard GA4 report.
No cross-platform consolidation
GA4 tracks one website per property. If you sell on Shopify plus Amazon plus Etsy plus eBay, each platform lives in a separate silo. Revenue from other channels, customer behavior across platforms, and total business performance are entirely outside its view.
No product cost or profit data
GA4 shows revenue per product. It has no awareness of what each product costs you to sell. There is no COGS input, no margin calculation, no profit per channel, and no way to determine true ROAS after costs. You can see which products sell most. You cannot see which products make you money.
Cross-domain checkout breaks attribution
Shopify uses checkout.shopify.com, a completely separate domain from your storefront. Without explicit cross-domain configuration, GA4 treats the checkout as a new referral visit and misattributes every purchase to direct or referral traffic instead of the actual marketing source.
Data thresholding hides rows with low user counts
When Google Signals is enabled and reports include demographics or interest dimensions, GA4 withholds entire data rows to prevent user identification.
This is system-defined and cannot be adjusted. It frequently removes the most interesting long-tail segments from reports, precisely the niche audiences that matter most for targeted campaigns.
Raw data requires BigQuery export and SQL knowledge
Accessing unsampled raw event-level data in GA4 requires exporting to Google BigQuery and querying it with SQL. For most store owners and marketers without a data engineer, this is simply not accessible. The data is there but practically locked away for most businesses.
GA4 is genuinely hard to use
Over 75% of SEOs reported dissatisfaction with GA4 in a 2023 survey. Searches for “GA4 for dummies” rose 90% globally in a single year.
The interface was rebuilt from scratch in a way that disorients anyone who knew Universal Analytics, and the event-based model requires setup decisions that most marketers are not equipped to make correctly.
Google Analytics limitations that hurt eCommerce stores specifically
Self-referral traffic inflates your session counts
When customers leave your site to complete payment and return to the thank you page, GA4 often records the payment gateway as a referral source.
This creates ghost sessions that inflate your session count and distort your channel breakdown. PayPal, Stripe, and Klarna are the most common culprits.
Real-time reporting only covers the last 30 minutes
GA4’s real-time report shows active users and events from the last 30 minutes only. The moment a session ends it disappears. There is no historical storage of live activity and no filtering by traffic source or product in the real-time view.
Predictive metrics are out of reach for most stores
GA4 offers purchase probability, churn probability, and predicted revenue scores. But qualifying requires at least 1,000 users with the positive condition and 1,000 with the negative condition within a 28-day window. Most small and mid-sized stores never meet this threshold.
PII restrictions prevent customer identification
GA4 prohibits storing personally identifiable information including names, email addresses, and phone numbers.
You cannot look up a specific customer’s journey, tie a transaction to a named account, or connect GA4 data to your CRM without a complex user ID implementation.
Because Safari ITP resets GA4 cookies every 7 days, returning customers appear as new users after every reset.
A WooCommerce store with 40% actual repeat buyers showed 80% new users in GA4 because Safari kept fragmenting customer identities. This makes GA4’s returning customer rate one of its least reliable metrics for eCommerce decisions.
Cardinality limits collapse important dimensions
GA4 has a hard cardinality limit on dimensions. When a dimension like product name or UTM campaign has more than 500 unique values in a single day, the excess values get collapsed into an other row that cannot be broken down further.
For stores with large product catalogues or granular campaign structures, this makes GA4 practically useless for SKU-level or campaign-level analysis without BigQuery.
Multi-channel sellers waste hours every week on manual reconciliation
GA4 only sees your website. A seller on Shopify plus Amazon plus Etsy with PayPal and Stripe payments has no consolidated revenue view. Merchants managing multiple channels report spending 10 to 15 hours per week manually pulling, normalizing, and reconciling data across platforms.
Marketing budget misallocation from GA4 gaps costs real money
A Paramark study found that companies relying solely on GA4 misallocated an average of 18% of their digital marketing budget due to data gaps.
When GA4 undercounts conversions from a specific channel because ad blockers disproportionately affect that audience, the channel looks unprofitable and budget gets cut from campaigns that were actually working.
Fixes and workarounds worth implementing
Quick wins that take minutes
Three changes every store should make immediately. None of them require a developer and all three take under 10 minutes combined.
Change data retention to 14 months: GA4 defaults to 2 months. Go to Admin → Data Settings → Data Retention and switch it to 14 months.
Fix cross-domain tracking: Add checkout.shopify.com and your storefront domain under Admin → Data Streams → Configure Tag Settings → Configure Your Domains. Also add checkout.shopify.com to your unwanted referrals list.
Standardize UTM parameters across every channel: Align utm_medium values with GA4’s default channel grouping rules. Use “cpc” not “paid”, use “email” not “newsletter.” Tag every external link including emails, social posts, influencer links, and SMS campaigns.
Implement Consent Mode v2 for EU traffic
Consent Mode v2 adjusts how Google tags behave when users decline cookies. Instead of losing the visit entirely, GA4 sends anonymized cookieless pings and uses behavioral modeling to estimate activity for non-consenting users.
It has been mandatory since March 2024 for EU and EEA stores running Google Ads features.
Use your eCommerce platform as your revenue source of truth
GA4 should never be your primary revenue number. Shopify and WooCommerce record every transaction server-side, unaffected by ad blockers, consent banners, or browser restrictions.
Use your eCommerce platform for revenue and financial reporting. Use GA4 for behavioral and marketing intelligence. A 10 to 20% gap between the two is normal for a well-configured store. Above 30% signals a broken setup worth investigating.
Server-side tracking for near-complete data capture
Server-side tracking moves GA4 data collection from the visitor’s browser to your own server. Purchase events fire directly from your server to GA4 regardless of ad blockers, privacy browsers, or iOS restrictions.
Stores that implement it correctly report tracking accuracy improving to around 95 to 98%. The tradeoff is cost and complexity — hosting runs $120 to $500 or more per month, with agency setup costs ranging from $2,000 to $10,000.
What GA4 can’t fix on its own: Putler
The workarounds above close some gaps. But none of them give you accurate multi-platform revenue, customer lifetime value, subscription metrics, or consolidated product intelligence. Those gaps require a different approach entirely.
Putler fills them at the foundation. It connects to 17+ data sources including Shopify, WooCommerce, PayPal, Stripe, Amazon, Etsy, eBay, and Google Analytics as completely separate integrations, then automatically consolidates, deduplicates, and cleans everything into one accurate revenue number.
Every transaction is pulled directly from payment processors and eCommerce platforms server-side. Ad blockers cannot interfere. Cookie consent does not matter. Safari ITP is irrelevant. If Stripe recorded the sale, Putler captures it.
Here is what that clean data foundation unlocks:
Accurate multi-platform revenue: A seller on Shopify plus Amazon plus Etsy with PayPal and Stripe payments sees all revenue unified in one dashboard. The same transaction appearing in both WooCommerce and Stripe gets counted once. Currencies convert using actual daily exchange rates across 36+ supported currencies.
Customer lifetime value and RFM segmentation: Putler automatically calculates CLV across every connected platform and scores your entire customer base into 11 behavioral groups. Unified customer profiles combine purchase history across every channel.
Subscription metrics GA4 cannot see: Auto-renewals processed server-side are invisible to GA4. Putler captures them directly from payment processors and surfaces MRR, ARR, churn rate, upgrades, downgrades, and subscription LTV in a dedicated dashboard.
Product intelligence across all channels: The product analysis dashboard shows which products drive revenue across every platform combined, not just your website. It surfaces frequently bought together patterns for cross-sell opportunities.
Traffic connected to real revenue: Putler’s eCommerce web analytics layer connects your GA4 traffic data to actual transaction data. You see which sources, pages, and keywords generate real purchases, not just visits.
Long data retention: Putler retains 2 to 7 years of historical data, depending on plan, compared to GA4’s 14-month maximum for user-level data.
Putler and GA4 are not competitors. They answer different questions. GA4 tells you who visited your site, what they did, and how your Google Ads performed.
Putler tells you who actually bought, what they are worth over time, and what is happening across your entire business. Together they cover what neither can handle alone.
- GA4: Complete Guide to Google Analytics 4
- Google Analytics for eCommerce: A Complete Guide
- Best Google Analytics Plugins for Your Website
- Google Analytics Technology, Mobile, Social and Traffic Reports
- Google Web Analytics: Everything You Need to Know
- How to Use Google Analytics to Track Website Traffic
- WooCommerce Google Analytics: How to Set It Up and Use It




























