Cherry Seed

How does Klaviyo server-side tracking work with WooCommerce?

klaviyo woocommerce klaviyo server-side track api placed order event email marketing data

Quick Answer

Klaviyo server-side tracking sends WooCommerce events to Klaviyo from your server through its Track API and Events API, instead of relying on Klaviyo's browser snippet. Your server posts events like Placed Order, Started Checkout, and Viewed Product with the customer's profile data attached, so they land even when the browser script is blocked or consent limits client-side firing. This is why Klaviyo often shows fewer orders than WooCommerce: the onsite snippet can miss 30 to 40 percent of sessions the server would capture. Server-side routing closes that gap and keeps flows like abandoned-cart firing on complete, accurate data.

Full Answer

Klaviyo has two ways to learn about a customer's behaviour. The onsite JavaScript snippet watches the browser, and the server-side APIs accept events posted directly from your backend. The snippet is easy but lossy: ad blockers, privacy browsers, and consent gating all suppress it, which is the usual reason Klaviyo's order count comes in below WooCommerce's actual orders.

Server-side tracking sends the events from where the data is authoritative. When a WooCommerce order is placed, your server calls Klaviyo's Events API with a Placed Order event, the line items, value, and the customer profile keyed on email. The same pattern covers Started Checkout, Viewed Product, and custom events the snippet can't reliably emit. Because the call originates server-side, it isn't subject to the browser blocking that drops snippet events, so your flows trigger on the real customer actions rather than a sampled subset.

The payoff is in the automations that depend on accuracy. An abandoned-cart or post-purchase flow built on snippet data fires for only the customers who were trackable; built on server events it fires for everyone who actually qualified. You can wire this with Klaviyo's APIs directly or route it through a server-side pipeline alongside your other destinations, but the core idea is the same: let the server, not the browser, tell Klaviyo what happened.

Sources

Programmatic Access

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

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/conversion-apis/klaviyo-server-side-woocommerce