Full Answer
The honest answer is that client-side and server-side tracking are good at different things, so a hybrid setup usually beats either alone. Client-side excels at behavioural detail: it sees page interactions, scroll depth, on-page engagement, and the front-end context that never reaches your server. Server-side excels at reliability: it records the conversions that browsers, ad blockers, and privacy features would otherwise drop, which is where the recovered 15-30% of missing conversions comes from.
The real risk in running both is duplication. If a purchase fires once from the browser pixel and again from the server, you'll count it twice and overstate revenue and ad performance. This is a solved problem: assign each event a shared event_id and send it from both sources. GA4 and the major conversion APIs use that identifier to recognise the two hits as the same event and keep only one.
So the decision isn't client-side versus server-side; it's how to combine them cleanly. Keep client-side for behaviour and the server-side layer for durable conversion capture, wire up deduplication with a consistent event_id, and you get the completeness of server-side without losing the front-end richness of client-side. For a WooCommerce store, that hybrid is typically the most accurate configuration available, provided the deduplication is actually implemented and tested rather than assumed.