Full Answer
The classic WooCommerce checkout rendered through a PHP shortcode, and most tracking plugins attached to the woocommerce_thankyou hook that fires on the order-received page. The Blocks checkout replaces that shortcode with a React-based block editor component. It still creates orders and triggers server-side hooks, but the front-end rendering lifecycle is entirely different — scripts injected into the classic template simply never execute.
This matters because the breakage is invisible. The checkout still works for the customer. Orders still appear in WooCommerce. But the JavaScript that was supposed to fire a GA4 purchase event on the thank-you page never runs, so the conversion never reaches Google. There is no error in the console, no failed network request — the tracking code is not loaded at all. Stores can run for weeks or months before anyone notices the [data gap](https://seresa.io/blog/data-loss/ad-blocking-didnt-peak-1-77-billion-users-entrenched-in-2026).
The fix depends on how your tracking is wired. Plugins that hook at the order object level rather than the checkout template — or that send events server-side through the Measurement Protocol — are unaffected because they never relied on front-end rendering in the first place. If your current plugin has not been updated for Blocks compatibility, the safest path is to move purchase tracking [server-side](https://www.dataslayer.ai/blog/server-side-tracking-2026), where the event fires from your server when the order is created, regardless of which checkout template rendered the page.