Why Your GA4 Data Doesn’t Match Your Actual Revenue

Jun 16, 2026

It is the end of the month, and you are sitting down to review your business numbers. You open up your store backend, whether that’s Shopify, WooCommerce, or your payment dashboard, and look at your total monthly revenue. Then, you open up Google Analytics 4 (GA4).

The numbers don’t match. In fact, there is a gaping canyon between them.

Cue the immediate spreadsheet panic. You start wondering if your tracking is completely broken, if you are burning through your ad budget, or if you are missing real sales. First, take a deep breath: experiencing a GA4 data mismatch is incredibly common, and it doesn’t automatically mean your website tracking is fundamentally broken.

The most important thing to understand is that GA4 is not financial accounting software. Your website backend tracks actual money changing hands; GA4 is designed to track human behavior, traffic sources, and directional trends.

data mismatch

The Modern Reality Check: What is a “Normal” Discrepancy?

In the past, legacy tracking setups allowed marketers to claim that a 5% to 10% data gap was standard. But for UK and European businesses operating under strict GDPR rules, that benchmark is completely outdated.

Because cookie acceptance rates vary wildly based on user demographic, it is now entirely normal to see a 20% to 40% discrepancy between your raw bank data and your standard GA4 reports simply due to users declining cookie tracking.

If your data mismatch is within this range, it might just be the baseline cost of privacy compliance. However, if your gap is much wider (0r if your numbers are drifting in ways that defy logic) it’s usually driven by a specific mix of technical quirks, platform configurations, and user behavior. Here is exactly what is happening behind the scenes.

GA4 data mismatch

Cookie Consent & The Role of Consent Mode v2

When a user lands on your website and clicks “Decline” on your cookie banner, GA4 is blocked from dropping traditional tracking cookies. Historically, this meant that user became completely invisible to your reports, even if they went on to complete a high-value purchase.

To help patch this massive blind spot, Google introduced Consent Mode v2, which is mandatory for advertisers targeting audiences in the UK, EU, and EEA. When properly configured, if a user denies consent, GA4 doesn’t just shut down; instead, it sends anonymous, non-identifiable “pings” to Google. GA4 then uses behavioral modeling and machine learning to estimate and fill in those missing conversion gaps. If your site hasn’t implemented Consent Mode v2 correctly, you are leaving an enormous amount of data completely uncounted.

The Great Payment Gateway Escape (PayPal, Klarna, & Redirects)

This is one of the most common reasons channel-level data becomes an absolute mess. When a customer reaches your checkout and chooses to pay via a third-party gateway like PayPal, Klarna, or Clearpay, they are temporarily redirected away from your website to complete the secure payment.

Once the payment clears, the gateway sends them back to your website’s “Thank You” page. If your GA4 account isn’t configured to ignore these external payment URLs, GA4 assumes the original session ended. It treats the returning customer as a brand-new visit, stripping the credit away from your paid ads or email campaigns and incorrectly handing it to the payment gateway domain as a referral source.

Tracking Duplication: GTM vs. Hardcoded Overlaps

A common myth is that GA4 double-counts sales when customers refresh their order confirmation screen or re-open an old browser tab days later. While that used to happen, modern e-commerce platforms and GA4 are quite good at using unique transaction IDs to deduplicate those identical hits automatically.

Instead, true double-counting usually stems from a messy setup behind the scenes. If you have a tracking tag hardcoded directly into your website’s header or theme file, and someone also sets up an identical purchase trigger inside Google Tag Manager (GTM), GA4 will fire two distinct conversion events for every single transaction, artificially inflating your analytics numbers.

Subscriptions and Recurring Billing Are Invisible

If your business model includes a subscription tier, a software-as-a-service (SaaS) element, or recurring payment plans, GA4 is structurally blind to a large portion of your revenue by default.

GA4 can easily track the “Day 1” signup because the customer is actively on your website clicking buttons. However, when Month 2, Month 3, or annual renewals hit, those transactions happen automatically in the background on your billing server (like Stripe or Recharge). Because the user isn’t physically on your website when the renewal fires, GA4 has no idea it occurred, causing your analytics revenue to look drastically lower than your actual bank deposits over time.

Refund Events Exist (But Are Rarely Used)

When business owners notice that GA4 revenue looks significantly higher than their net sales reports, they often assume GA4 simply cannot track returns.

That isn’t true. GA4 actually has a dedicated refund event built directly into its core ecommerce architecture. The issue is that most standard website implementations completely ignore it. If a customer requests a refund three days after a purchase and you process it inside your store backend, GA4 will never know about it unless you explicitly build a technical bridge to send that refund data back to Google.

Attribution Adjustments and UI Sampling

Your store backend records a sale on the exact day and time the payment clears. GA4, however, defaults to a Data-Driven Attribution model. This means GA4 looks at the entire multi-step journey a user took over days or weeks and distributes fractions of the credit across multiple marketing channels rather than awarding 100% to the final click.

Furthermore, if your website generates large volumes of traffic, GA4 will often apply data sampling or thresholding to your standard reports to save processing power. When this happens, the system looks at a fraction of your real data and estimates the rest, which can cause your user interface reports to show slightly different revenue totals than a raw data export.

How to Diagnose and Fix Your Data Gaps

Fixing a data mismatch requires a structured, diagnostic approach. Instead of guessing, work through these concrete adjustments to clean up your tracking environment:

Audit Your Referral Exclusion List: Go into your GA4 Admin panel, navigate to your Data Stream web settings, and add your third-party payment providers (e.g., paypal.com, klarna.com) to the List of Unwanted Referrals. This ensures GA4 preserves the original marketing source of the sale.

Run a Tag Audit: Use tools like Google Tag Assistant to inspect your checkout page. Ensure you don’t have an old, legacy Google Analytics script conflicting with a newer Google Tag Manager container, which causes inflated, duplicate numbers.

Connect Your Offline Events: If you have high return rates or a subscription business model, look into setting up GA4 Measurement Protocol. This allows your internal backend server to securely ping GA4 whenever a subscription renewal occurs or a refund is processed, bringing your reporting into true alignment.

Upgrade to Server-Side Tracking: If cookie consent refusal is leaving you with a massive data blind spot, consider migrating to server-side tracking. By allowing your website’s server to handle data transmission directly rather than relying on a user’s browser, you bypass browser ad blockers entirely. While it varies depending on your audience, a high-quality server-side implementation can act as a potential framework ceiling to recover data accuracy significantly closer to your actual sales numbers.

You don’t need your data to be perfectly identical down to the last penny to make smart commercial decisions, but you do need to trust the overall directional trend. If you are constantly second-guessing your marketing reports because your numbers feel completely disconnected from reality, you are flying blind with your ad spend and growth strategy.

Tired of playing the guessing game with your analytics? We take complete ownership of your data tracking, cleaning up the technical noise so you can focus entirely on your business margins. Check out our GA4 and Adobe Analytics services and arrange a Business Growth review with Allsopp Media to see how we help you turn raw numbers into profitable strategic decisions.

Marketing Insights