If you advertise your shop on Meta or Google, there is a good chance that a third of your sales never appear in their dashboards. You pay for ads, they work, and the platforms do not see it. They therefore optimise using incomplete data, and your campaigns cost more than they should. This article explains why, what server-side tracking is, and why it should be the foundation of every shop, not an option.

How tracking has always worked

When a customer visits your shop, a small script supplied by Meta or Google, the "pixel", runs in their browser. It records what the visitor does: they viewed a product, added it to the basket, made a purchase. And it sends each event to the advertising platform, from the customer's browser.

This mechanism worked well for fifteen years. It depends on one condition: the customer's browser must agree to run the script and send the data.

What broke

Over the past few years, that condition has stopped being met for a growing share of your visitors.

Blockers. Around one in three internet users in Europe uses an ad blocker, and most also block tracking pixels. For those visitors, nothing is sent.

Safari and iOS. Apple heavily restricts what third-party scripts can do in Safari, which accounts for the majority of mobile visits in Belgium. Cookies set by pixels expire after seven days, sometimes twenty-four hours. A customer who sees your ad on Monday and buys on Saturday is no longer recognised.

Consent. A visitor who refuses cookies on your banner will not be tracked by the pixel, even if they buy.

Unstable networks. On mobile, a script that has not finished loading before the customer closes the page sends nothing.

The result, measured on real shops: between 20 and 40% of conversions never reach the advertising platforms. Meta knows this and says so: it is why it created its "Conversions API".

What server-side changes

The idea is simple: instead of asking the customer's browser to report what happened, your shop itself, from its server, sends the information to Meta and Google.

When an order is paid, your server knows for certain, because it received the payment. It then sends the "purchase" event, with the amount and products, directly to the platforms, without going through the browser. No blocker can prevent it, Safari has no say, and a script that failed to load makes no difference.

In practical terms, for the retailer, this means:

  • Accurate figures. The platforms finally see all your sales. Your displayed cost per purchase falls, not because you are paying less, but because it is finally calculated across all your sales.
  • Campaigns that learn better. Meta's algorithm optimises using the conversions it sees. If it sees 100% instead of 65%, it finds the right profiles faster, and the real cost of each sale falls. Observed efficiency gains range from 10 to 30%, depending on the shop.
  • More precise audiences. Your retargeting lists ("people who added to the basket without buying") are complete, instead of missing a third.
  • Less reliance on cookies. You measure what matters, the sale, from the only source that truly knows it.

Why almost nobody has it

Because it is technical. Setting up server-side tracking on WooCommerce or Shopify means installing an intermediary server, configuring it, connecting it to each platform with their keys, defining every event, deduplicating with the pixel that continues to run, and maintaining it all when Meta changes its API. A freelancer charges between €1,500 and €4,000 for this, plus maintenance. For a retailer spending €500 a month on advertising, that is hard to justify. So they keep paying 20 to 30% too much for their campaigns.

At Opustack, it is the foundation

On an Opustack shop, server-side tracking is neither an option nor an extra charge: it is part of the infrastructure. Every event that matters, a product view, an addition to the basket, the start of checkout, a confirmed purchase, is emitted by the shop's server and sent to the platforms the retailer uses, starting with Meta and Google. Deduplication with the pixel is handled. When Meta changes its API, we update it, for every shop at once.

The retailer does one thing: paste their advertising account identifiers into their client area. Everything else runs.

It is not the most visible feature of a shop. It is probably the one that delivers the most value for those who advertise. And it is exactly the kind of thing infrastructure should do without anyone having to think about it.


Opustack designs, deploys and operates online shops for independent retailers. Server-side tracking, payments, shipping and emails included. See a live shop or book a launch.