For years the standard setup was simple: add the Google Tag Manager snippet to the website and let the browser send data to Google Analytics, Google Ads and Meta. That setup still works, but it no longer sees everything, and the gap keeps growing.
This article explains where the data goes missing, what server-side tracking actually changes, and how to check whether it is worth it for your website.
Where browser-only tracking loses data
Browser restrictions
Safari’s Intelligent Tracking Prevention (ITP) limits cookies set by JavaScript to 7 days, and in some cases to 24 hours when the visitor arrives from a link with tracking parameters. Someone who clicks an ad today and buys in two weeks often looks like a new visitor. The purchase is then credited to the wrong source, or the ad platform never connects it to the click.
Ad blockers and privacy extensions
Most blockers work with lists of known tracking domains. When your tags load from googletagmanager.com or connect.facebook.net, a blocker can stop them before they run. For that visitor nothing is recorded, not even the purchase.
Consent
In the EU, many visitors decline analytics or marketing cookies. That is their right, and no setup should work around it. It does mean that your reports describe only part of your traffic, and you need to know how large that part is.
How big is the gap for you?
There is no universal number. The loss depends on your audience: the share of Safari and iPhone users, how many use blockers, and your consent rate. A B2B site visited from office laptops looks very different from a webshop selling to young mobile users.
The most reliable way to find out is to compare. Take the orders or leads from your backend or CRM for one month and compare them with the conversions recorded in GA4 and in your ad platforms for the same period. A difference of a few percent is normal. A difference of 20 percent or more is a sign that the setup is worth fixing.
What server-side tracking changes
With server-side tracking, the browser sends data to your own tagging server first, for example on a subdomain such as data.yourdomain.com. That server, usually a server-side Google Tag Manager container, forwards the data to GA4, Google Ads, Meta and other platforms.
This brings three practical changes:
- Requests go to your own domain, so blockers that target known tracking domains stop fewer of them.
- The server can set cookies in the HTTP response, which last longer in Safari than cookies set by JavaScript. This works best when the tagging server is on the same domain or shares the IP range of the main website. A subdomain that points to a different IP address is treated more strictly.
- You control what leaves your server. You can remove IP addresses, personal data in URLs or parameters a platform does not need, before anything reaches a third party.
What it does not change
Server-side tracking is not a way around consent. If a visitor declines marketing cookies, the server has to respect that decision in the same way the browser should. It also does not fix a weak data layer: if the purchase event is wrong on the website, it will be wrong on the server too.
It also costs something. A tagging server needs hosting (the cost depends on traffic, from around 20 euros a month for smaller sites to considerably more for high-traffic shops), a correct setup and occasional maintenance.
When it is worth it
Server-side tracking usually pays off when:
- you spend a meaningful budget on Google Ads or Meta and the platforms optimise on conversions,
- a large share of your buyers use Safari or iPhones,
- the user journey is long, with several visits before the purchase or enquiry,
- you want Meta Conversions API or Google Ads enhanced conversions to run from one place.
For a small brochure site with a contact form, a clean client-side setup with correct Consent Mode is often enough. In between there are lighter options, such as Google Tag Gateway.
If you are not sure where your website stands, a tracking audit starts by measuring the gap between your real orders and what your tools record.
