Cherry Seed

How do I upload WooCommerce offline sales to Meta for ad attribution?

woocommerce blocks checkout ga4 tracking breaking update

Quick Answer

The WooCommerce Blocks checkout — now the default since WooCommerce 8.3 — renders entirely through React, which breaks most existing GA4 tracking setups that relied on the classic shortcode checkout's DOM structure. According to Pressable's WooCommerce optimisation guide, stores that updated without reconfiguring their tracking saw purchase events stop firing because the expected page elements and jQuery hooks no longer exist. The Blocks checkout uses a different JavaScript architecture, and any tracking plugin that hooks into the legacy checkout form silently fails without error.

Full Answer

The classic WooCommerce checkout was a PHP-rendered form — tracking plugins hooked into its DOM elements, jQuery events, and WooCommerce action hooks to fire purchase, add-to-cart, and begin-checkout events. The Blocks checkout replaces all of that with a React component that manages its own state. The form fields look similar to the customer, but the underlying code is completely different, and tracking scripts that depend on the old selectors or events find nothing to attach to.

The breakage is insidious because it's silent. GA4 doesn't report missing events — it just shows fewer purchases. A store owner comparing this month's GA4 revenue to last month's might attribute the dip to a marketing problem when it's actually a tracking problem. The only reliable signal is a widening gap between GA4-reported purchases and WooCommerce's own order count in the admin.

Tracking plugins that fire events server-side rather than client-side aren't affected by the Blocks migration, because they capture the purchase event from the WooCommerce order hook — not from the checkout page's JavaScript. That architectural choice insulates the tracking from frontend changes, which is exactly the kind of resilience that matters when WordPress and WooCommerce ship breaking updates on a monthly cycle ([WooCommerce tracking](https://seresa.io/blog/woocommerce-tracking/)).

Sources

Programmatic Access

GET https://seresa.io/wp-json/cherry-tree-by-seresa/v1/seeds/1051

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/wordpress-tracking/offline-meta-capi-crm-upload-woocommerce