Server-side tracking
A growing share of Shopify orders happen without the browser ever reporting them. Server-side tracking sends the same purchase event from your server instead, reducing the gap created by browser-side tracking loss.
A standard Meta Pixel or Google tag fires from the customer's browser at checkout. That works fine until something between the browser and the ad platform breaks the connection — Safari's Intelligent Tracking Prevention trimming cookie lifespans, an ad blocker stripping the script outright, a customer closing the tab a second early, or a network request that just never lands.
None of these are rare edge cases anymore. On iOS Safari in particular, a meaningful share of purchase events never reach the ad platform at all, which means the platform under-reports conversions and — because it thinks the campaign performed worse than it did — can end up optimising away from audiences that were actually converting.
Browser tracking
Server-side tracking
Simplified — illustrative, not a literal network diagram.
What one purchase event goes through
Conceptual — the actual sequence per order depends on which events your store and ad accounts send.
Event matching
Each server event carries identifiers — email, phone, or an internal click ID — that Meta or Google can match to a known user, even without a cookie. Match quality depends entirely on what identifiers are available and hashed correctly; a server event with no usable identifiers isn't much more useful than a dropped browser event.
Duplicate prevention
Running both a browser pixel and a server event for the same purchase means the ad platform could count it twice. Meta and Google handle this differently: Meta can deduplicate matching browser and server events using a shared event ID, while Google Ads relies on its own conversion-action setup and unique transaction identifiers to prevent the same purchase from being counted more than once.
Purchase value accuracy
Server events are built from the actual Shopify order, so they can account for refunds, discount codes and currency conversion — rather than the raw value the browser captured at the moment of checkout, before any of that was known.
Server-side tracking is a different transport, not a way around consent requirements. If a customer declines tracking consent, that choice still has to be respected in what gets sent server-side — the data just travels a more reliable route once consent is given.
Attribix sends server-side events to both the Meta Conversions API and Google Ads enhanced conversions from the same Shopify order data, rather than requiring a separate integration and a separate set of matched identifiers for each platform.
Server-side tracking recovers events that browser tracking would have missed — it doesn't make tracking complete. Customers who decline consent are still excluded, as they should be. Identity matching still depends on the customer providing an email or phone number at checkout. And no method, server or browser, tells you about the ad a customer saw but never clicked. Treat it as a meaningful improvement to data quality, not a guarantee of catching every conversion.
Connect your Shopify store and see which purchase events are currently making it to Meta and Google — and which aren't.
See how this feeds into Shopify attribution reporting, or ask about tracking and attribution setup.