You run one sale. Three platforms claim credit for it. Meta reports 26% more conversions than your analytics tool. Google Ads over-attributes by 15-20%. GA4 may underreport by 18-35%. Add it up and 100 actual WooCommerce orders can appear as 180 conversions across your dashboards. This isn’t a glitch. It’s three different attribution systems doing exactly what they were designed to do.
Three Judges, One Sale
Think of each platform as a judge examining the same crime scene. Same sale. Same customer. Three different verdicts. The reason isn’t that any platform is lying — it’s that each uses different rules to decide who gets credit.
Google Ads has a 30-day click attribution window by default. Meta’s default is 7-day click plus 1-day view-through. GA4 uses data-driven attribution (or last-click if there aren’t enough conversions). None of these windows align. A customer who clicked a Google ad on day 8, saw a Meta ad on day 9, and converted on day 10 gets counted in all three dashboards.
That’s not a bug. That’s three attribution models doing their jobs — each one optimised to make its own platform look as valuable as possible.
The Four Reasons Your Numbers Don’t Match
1. Attribution Windows Are Set by Each Platform
Google Ads allows attribution windows from 1 to 90 days. Meta defaults to 7-day click plus 1-day view. GA4’s window can be adjusted but most stores leave it at the default. Mismatched windows alone create systematic double-counting — and no amount of dashboard-staring resolves it.
A WooCommerce store running both Google Ads and Meta with default settings will have meaningful overlap for any customer journey longer than 24 hours. That’s most journeys.
2. View-Through Attribution Inflates Meta Numbers
Meta’s 1-day view-through window means: if someone saw your ad yesterday and bought today — even via a Google search — Meta counts it. According to Varos Industry Benchmark data, Meta reports 26% higher conversions on average compared to third-party analytics tools, and view-through attribution is a primary driver.
Some WooCommerce stores disable view-through to get cleaner numbers. But Meta’s default is to include it, and many store owners don’t realise it’s switched on.
You may be interested in: UTMs Were Invented in 2005. They’re About to Matter More Than Ever.
3. Modelled Conversions Fill the Consent Gap
When a user declines cookies, both Google Ads and Meta use statistical modelling to estimate what those users would have done. This is Consent Mode V2 modelling for Google and Meta’s Advanced Matching.
Here’s the math: Google Ads can over-attribute conversions by 15-20% when Enhanced Conversions and Consent Mode V2 modelled conversions are active (Google Ads Documentation, 2024). Meanwhile, GA4 goes the other direction — underreporting paid conversions by 18-35% when cookies are blocked (Cardinal Path, 2024). One platform models up. The other tracks less.
Translation: Google Ads is estimating what it can’t see. GA4 is reporting only what it can see. Neither gives you the full picture.
4. Cross-Device Journeys Break Single-Session Tracking
More than 65% of conversions start on one device and finish on another (Facebook cross-device research, 2024). Meta tracks cross-device via login ID — if a user is signed into Facebook on their phone and laptop, Meta connects the dots. GA4 relies on cookies and device-based signals, so it often sees these as two separate visitors.
A customer who browses your WooCommerce store on mobile Monday, clicks a Google ad on desktop Wednesday, and converts Wednesday evening will look very different across your dashboards. Google Ads counts the click. Meta may count the mobile impression. GA4 may count a new session.
You may be interested in: How to Capture GCLID in WordPress Contact Forms for Offline Tracking
The Number You Can Actually Trust
Your WooCommerce order count. That’s it.
When Google Ads shows 120 conversions but WooCommerce shows 100 orders, there were 100 orders. When Meta shows 140 and GA4 shows 82, there were still 100 orders. WooCommerce is your ground truth. Every other number is an interpretation of how much credit each platform deserves for those 100 orders.
A 20-30% difference between Google Ads and GA4 is widely cited as “normal industry variance” (Galicki Digital, 2025). That framing is worth interrogating. It’s not inevitable. It’s the consequence of each platform using different rules — and it can be substantially reduced.
Why Reconciling Dashboards Doesn’t Work
The instinct is to try to get the numbers to match: adjust windows, switch attribution models, add UTM parameters. This treats a structural problem as a settings problem.
Even with identical attribution windows, you’ll still have view-through overlap, cross-device mismatches, and modelled conversion differences. The platforms have different data — because they have different tracking coverage. You can’t reconcile what was never measured consistently in the first place.
Here’s the thing: the question isn’t which dashboard is right. The question is what architecture gives you a neutral, authoritative number that overrules all of them.
The Structural Fix: One Pipeline, One Truth
The resolution is to own your data layer before it reaches any platform. When your WooCommerce order events flow through a first-party server pipeline — hitting your own infrastructure before going to Google Ads, Meta, and GA4 — you control what’s sent and when.
More importantly, every event carries the same order_id. That ID is your deduplication key. When Google Ads, Meta, and GA4 all receive the same purchase event with the same order_id, their import systems can deduplicate. The triple-claiming stops. Your BigQuery table becomes the single source of truth: exact order count, exact revenue, timestamped. The platform dashboards remain useful as directional signals — but they no longer get the final vote on what happened.
The Transmute Engine™ routes this exactly. It’s a first-party Node.js server that receives WooCommerce events via the inPIPE™ plugin and sends them simultaneously to Google Ads Enhanced Conversions, Meta CAPI, GA4 Measurement Protocol, and BigQuery — with consistent order_ids and PII hashed at the point of transmission. Every platform gets the same clean event. Your BigQuery table holds the master record.
The gap doesn’t shrink because you’ve changed a setting. It shrinks because you’ve changed the architecture.
You may be interested in: GA4 Looker Studio Connector vs BigQuery Connector: Why the Free Native Option Costs You Data
Key Takeaways
- Attribution windows don’t align: Google Ads, Meta, and GA4 each use different defaults, creating systematic overlap for the same sale.
- View-through inflates Meta: Meta’s 1-day view-through window produces a 26% average premium over third-party analytics tools.
- Modelled conversions cut both ways: Google Ads models up (15-20% over-attribution); GA4 may underreport by 18-35% in cookie-restricted environments.
- WooCommerce orders are your truth: The only number that reflects what actually happened is your actual order count.
- The fix is structural: A first-party server pipeline with consistent order_ids deduplicates across platforms — BigQuery holds the master record.
Meta’s default attribution window includes 7-day click and 1-day view-through. This means Meta claims credit for purchases by users who merely saw your ad — even if they converted from a Google search the next day. GA4 uses data-driven attribution and can only track users who accept cookies. The gap typically runs 26% or more in Meta’s favour.
Google Ads can show more conversions than actual orders because of modelled conversions — filling gaps where Consent Mode V2 users declined tracking — and attribution window overlap with Meta. If a customer clicked a Google ad and a Meta ad before buying, both platforms count the conversion. Your WooCommerce order count is the accurate baseline.
Trust WooCommerce orders as your ground truth. GA4 provides useful trend data but underreports in cookie-restricted environments. The structural fix is routing all events through a first-party server pipeline to BigQuery, then deduplicating by order_id — so every platform receives the same consistent event.
A 20-30% difference is widely cited as normal industry variance, but it isn’t inevitable. The gap exists because of different attribution windows, modelled conversions, and cookie-blocking. Server-side tracking with consistent event delivery narrows this gap substantially — because all platforms receive the same data rather than each measuring separately.
Your dashboards will always tell different stories. That’s their nature. The goal isn’t to get them to agree — it’s to have one number you own that tells you the truth, while the dashboards do the only job they’re actually suited for: informing your bidding strategy, not your business decisions.
