Why Is My Google Analytics 4 Data Not Matching My Sales?
You check your sales dashboard, then log into Google Analytics 4, and the numbers don't line up. It's a frustrating and confusing experience. You're not alone—this is one of the most common questions we hear from site owners. The good news is that the gap usually comes from a handful of predictable causes, and most of them are fixable without a developer.
Here's how to diagnose why your GA4 data doesn't match your actual sales, and what to do about it.
Why GA4 and Your Sales Reports Will Never Be Identical
Before you chase every discrepancy, understand that GA4 and your sales platform measure different things. GA4 is a session-based analytics tool, while your sales platform (like Shopify or WooCommerce) records orders. GA4 counts events (like purchase events) and attributes them to sessions, whereas your sales platform counts revenue. Small differences are normal.
But when the gap is large, or you're seeing zero purchases in GA4, something is likely off.
1. The Tracking Code Isn't Firing on the Thank-You Page
If your GA4 purchase event isn't firing, you'll see no sales data at all. The most common culprit: the tracking code (or tag) isn't placed on the order confirmation page. That's the page where the purchase event should fire.
How to check: In GA4, go to Reports > Realtime. Complete a test purchase (or ask a friend to). If you don't see the purchase event appear in Realtime, your tracking isn't firing.
How to fix: Ensure your GA4 tag is on the confirmation page. If you use Google Tag Manager, check that the tag is set to fire on that specific page, not just on all pages. You can use the preview mode in Tag Manager to see if the tag fires.
2. You're Not Sending the Right Parameters
Even if the purchase event fires, GA4 needs the correct parameters to record revenue. The standard purchase event should include value (the total revenue) and currency. If these are missing or named incorrectly, GA4 will show the event but no revenue.
How to check: In GA4, go to Reports > Engagement > Events and click on the purchase event. Look at the event count and the total revenue. If revenue shows $0 but events are counted, your parameters are off.
How to fix: Update your tracking code to pass value and currency. If you're using a plugin or integration, check its documentation—many e-commerce platforms have GA4 integrations that handle this automatically, but they need to be configured correctly.
3. Ad Blockers and Privacy Extensions Are Blocking GA4
A significant portion of your visitors may be using ad blockers or privacy-focused browsers that block Google Analytics. This means some of their sessions—and purchases—never reach GA4.
How to check: Compare the number of sessions in GA4 to your server logs or your sales platform's unique visitors. If there's a big difference, ad blockers could be the cause.
How to fix: You can't fully eliminate this, but you can minimize it by using a server-side tracking setup or a cookieless tracking solution. For most small sites, it's enough to be aware that GA4 will undercount—so don't treat GA4 as your source of truth for revenue.
4. The Time Zone Mismatch
GA4 gives you the ability to set a time zone for your reports. If it's different from your sales platform's time zone, you'll see mismatches for daily or hourly data. For example, if your sales platform uses UTC and GA4 uses Eastern Time, a purchase made at 11 PM ET might show up on different days.
How to check: In GA4, go to Admin > Data Settings > Data Collection and note your time zone. Then compare it to your sales platform's time zone.
How to fix: Set both to the same time zone. For consistency, consider using the time zone where your business is based.
5. The Attribution Model Is Different
GA4 uses a data-driven attribution model by default, which credits sales to multiple touchpoints across the user's journey. Your sales platform might use last-click attribution. This can cause revenue to be attributed to different channels or campaigns, making it look like GA4 is missing sales.
How to check: In GA4, go to Advertising > Attribution and see which model is active. Compare it to your sales platform's reporting.
How to fix: You can change the attribution model in GA4 to last-click if you prefer, but remember that data-driven attribution is generally more accurate. This isn't a bug—it's a difference in methodology.
6. You're Double-Counting or Missing Revenue
Another common issue: your tracking code might be firing multiple times, or you might be counting refunds as new sales. GA4 doesn't automatically exclude refunds unless you set that up. If you have a high refund rate, your GA4 revenue will be higher than your actual net sales.
How to check: Look at your GA4 revenue for a period and compare it to your net sales (after refunds). If GA4 is consistently higher, refunds are likely the cause.
How to fix: Set up a refund event in GA4 to deduct refunds from your revenue. Many e-commerce plugins support this natively.
Your Next Steps
Start by checking the most common causes: the purchase event firing, parameters, and time zone. Then, if you're still stuck, consider whether ad blockers or attribution differences are at play.
Remember, GA4 is a powerful tool for understanding user behavior, but it's not your accounting system. Use it for trends and insights, and rely on your sales platform for exact revenue.
If you're still seeing a large mismatch, it might be worth running a free audit of your site to uncover other tracking or technical issues that could be interfering with your data. Our audit can help you spot problems you might have missed.
For more troubleshooting guides, check out our guides library on analytics and measurement.
Get your tracking right, and you'll trust your data again—so you can make confident decisions about your website and marketing.
More guides · Compare audit tools · Run a free website audit