Server-side GA4: a pragmatic rollout for mid-market brands
You don't need a full data team to ship server-side tracking. Here's the rollout we use with retainers.

Server-side tagging used to mean a six-figure data engineering project. With GTM Server and a lightweight Cloud Run setup, it's a two-week sprint — and the conversion accuracy improvement pays for itself in a month. The trick is resisting the temptation to redesign your entire measurement stack at the same time.
The minimum viable setup
GTM Server on Cloud Run, first-party cookie domain, GA4 client and Enhanced Conversions for Google Ads. Skip the consent-mode rabbit hole until v1 is live. Most teams over-scope this and never ship — pick the smallest version that improves Google Ads match rate and ship that first.
What to measure first
Compare client-side vs server-side conversion counts over a fortnight. Expect a 6–15% reporting uplift on iOS Safari and a tighter match in Google Ads. If you don't see the lift, your client-side container was probably blocking ITP already — diagnose before you blame the new setup.
Common pitfalls
- Forgetting to map user_id consistently across client and server.
- Double-firing purchase events when the client tag isn't disabled.
- Not setting a custom hostname — defeats the whole first-party cookie point.
- Treating server-side as a swap-in replacement rather than a parallel rollout.
Cost reality
A 5M-event/month brand typically spends £40–£90/month on Cloud Run. Below 1M events, Cloud Run's free tier covers it. Don't believe SaaS vendors quoting £2k/month — that's a managed service convenience fee, not infrastructure cost.

