What server-side tracking means on WooCommerce
On a WooCommerce store, the browser pixel usually reports the purchase when the order-received page loads. Server-side tracking adds a second path: when the order is paid, a server sends the purchase to Meta, TikTok, Google (GA4 and Google Ads), Snapchat, Pinterest, X, Microsoft Ads and Reddit through their server APIs.
The question is which server. You can send events from your own WordPress hosting with a plugin, run a server-side tag manager on separate hosting, or let a service like Settl handle it.
Whatever you choose, the same three ingredients decide how useful the events are: the ad click saved when the visitor landed, hashed customer details for matching, and an event id shared with the browser pixel so each sale is counted once.
Your WooCommerce options
Each has a place. These are the common routes:
- Meta's official plugin for WooCommerce, which includes Conversions API for Meta only.
- PixelYourSite, a widely used plugin with a free version on WordPress.org and a yearly Pro licence that adds more platforms.
- Server-side Google Tag Manager with a WordPress plugin and a hosting service like Stape. Very flexible, technical to run.
- Settl's plugin: paid orders sent from our server to eight ad platforms, with a 90-day click memory and ROAS per ad.
Why sending from your own hosting can hurt
Some plugins send server events from your WordPress site itself. That works, but every event is an outgoing request from your hosting, often during checkout. On shared hosting that can slow down the moment you least want it slow, and if a platform's API is briefly down, the event may simply be lost.
With Settl, the plugin only tells our servers what happened. Sending to eight ad platforms, retrying failures and keeping the delivery log all happen on our side.
What gets sent, and when
Page views, product views, add to cart and checkout go out from the browser and from our server with the same event id. The purchase goes out when WooCommerce marks the order as paid, with value, currency, hashed email and phone, and the ad click the buyer arrived with, saved on your store and kept for 90 days.
That timing matters on WooCommerce. A bank transfer paid two days later still becomes a purchase on the day it's paid. A redirect payment where the buyer never comes back to your site is still reported.
Every send is logged per order in your dashboard: which platforms received it, when, and whether it was accepted. If Meta, TikTok or another platform has a short outage, the event is retried, so a busy sale day doesn't leave gaps in your data.
Keeping it clean
Two things trip up most WooCommerce server-side tracking setups. First, duplicate browser pixels from a theme, a plugin and a tag manager at once. Pick one. Second, caching and script-delay plugins holding back tracking scripts until a visitor scrolls or clicks. Exclude the tracking script from those settings if your plugin allows it.
A third, quieter one: two plugins both sending server events for the same Meta pixel. Meta can deduplicate only when both copies carry the same event id, and two different plugins rarely agree on one. Keep a single server source per platform.
From tracked sales to better ad decisions
Sending purchases is half of the value. The other half is using them. Once your ad accounts are connected, Settl shows per ad what you spent, which paid WooCommerce orders came from it and the ROAS that results, with advice on which ads to scale and which to switch off.
That matters on WooCommerce in particular, because many stores there run ads on more than one platform without a shared view. Seeing spend from Meta, TikTok, Google Ads, Snapchat and Pinterest next to each other, based on the same order data, makes it much easier to move budget to where it earns the most. A live map of visitors on your store shows what's happening right now.