Full Answer
Run the reconciliation weekly, on the same day, with the same definitions. In WooCommerce, export orders in completed and processing status for the trailing seven days. In GA4, pull purchase events and revenue for identical dates in the same time zone. Compare three numbers: order count, total revenue, and average order value. Log the gap percentage in a simple spreadsheet so a trend line builds week by week.
The question isn't whether the numbers match. The question is whether the gap is stable. Ad blockers, iOS privacy features, consent rejections, and payment-gateway redirects all strip purchase events before GA4 records them, which is why a 10 to 15 percent shortfall is the normal cost of client-side measurement. A steady 12 percent gap is a known measurement cost you can plan around. A jump from 12 to 35 percent in one week almost always traces to one specific technical failure: a checkout change, a plugin update, a new payment method, or a broken thank-you page.
When the gap jumps, check the most recent change to your checkout first. Subscription renewals are a classic silent offender — [GA4 misses most WooCommerce subscription renewals after the first purchase](https://seresa.io/seed/wordpress-tracking/subscriptions-renewal-tracking-gap), so stores with recurring revenue often carry a structurally larger gap. For the full weekly audit routine and why month-end reconciliation catches problems too late, see [the daily-check, month-end-reconcile trap](https://seresa.io/blog/reporting-dashboards/you-check-ga4-revenue-daily-but-only-reconcile-at-month-end).