GTM server-side (server-side tagging) moves tag processing from the browser to a container on your own server (usually Google Cloud Run). The browser sends data to that container, which forwards it to GA4, Google Ads or Meta. The result: you recover data that blockers and browser restrictions (ITP) remove, gain speed and control what information leaves and where it goes.
1. What it is and how it differs from client-side
In traditional (client-side) tagging, every tag runs in the user's browser. With server-side, the browser only sends the data to a container hosted on your infrastructure, and from there it is distributed to each platform.
| Aspect | Client-side | Server-side |
|---|---|---|
| Where it runs | User's browser | Your server (Cloud Run) |
| Loss from ad blockers/ITP | High | Low |
| Page speed | More load on the client | Lighter |
| Data control | Limited | Full (you decide what leaves) |
2. Why it matters
Ad blockers, Safari's ITP and third-party cookie restrictions erase a growing share of your data. That means conversions that happened but your platforms don't see, and campaigns that learn from incomplete information. Server-side, by operating in a first-party context, keeps that data and improves the quality of the signals that feed Google and Meta Ads.
3. How to implement it step by step
Create the server container
In GTM, a new container of type "Server".
Deploy it on Cloud Run
On Google Cloud (or a provider like stape.io). Set a minimum capacity to avoid cold starts.
Set up a first-party subdomain
E.g. metrics.yourdomain.com, so the traffic is first-party.
Move the GA4 client and the tags
Point GA4 to the server container and migrate the key tags.
Validate in Preview and compare
Confirm that conversions arrive and aren't duplicated.
4. When it's worth it and when it isn't
- Yes: you invest in paid media and need complete conversion signals.
- Yes: you have privacy requirements and want to control what data leaves.
- Maybe not: a small site, no paid media and a well-configured basic GA4.
5. Common mistakes
- Duplicating conversions by leaving the client-side tag active too.
- Not using a first-party subdomain and losing the benefit.
- Minimum capacity at 0 → cold starts that lose hits.
6. Implementation checklist
- Server container created and deployed on Cloud Run
- First-party subdomain set up with SSL
- GA4 client and key tags migrated
- No duplicated conversions (validated in Preview)
- Consent Mode respected in the server-side flow
After fixing its measurement and funnel, Milenio PC went from a 0.27% to a 12.16% conversion rate. Measuring well also sells. Milenio PC case: 0.27% → 12.16% ↗
Frequently asked questions
The container runs on Cloud Run, which bills by usage; for medium traffic it is usually a low, predictable cost.
Not entirely: many setups are hybrid. The browser collects and the server distributes.
Yes, by removing script load from the browser, although the impact depends on how many tags you migrate.
Are you losing conversions without knowing it?
We measure how much data you lose today and set up server-side tagging to recover it.
Request your data audit ↗