Three times this quarter I've heard some version of "we already have server-side tracking — we turned on that Google thing in Cloudflare." They meant Tag Gateway. And no, they didn't have server-side tracking. Google built something genuinely useful, then named it in a way that practically guarantees the confusion. Time to untangle it.
- Browser requests tag — Loads from yourstore.com, not Google's domain
- Your CDN proxies it — Cloudflare forwards the request on to Google
- Payload untouched — Google states only the hostname changes
- Delivered to Google — GA4 and Google Ads only, nothing else
- More hits survive — ~11% signal uplift claimed by early testers
What is Google Tag Gateway and what does it actually do?
Tag Gateway is a reverse proxy for Google's tags. Instead of your pages loading gtag.js from googletagmanager.com and firing hits to google-analytics.com — third-party domains that sit on every ad-blocker filter list — those requests route through a path on your own domain, and your CDN quietly forwards them to Google. The browser only ever talks to yourstore.com.
Google launched it in 2025 through a partnership with Cloudflare. If your site already runs on Cloudflare, setup is a few clicks in the dashboard, it's free, and you don't touch your existing Google tag snippet. Google has since documented setup paths through Google Tag Manager and the Google tag settings too, with support for other CDN routes expanding — check the current docs for your stack before you assume.
What you get: Google scripts that load even when a blocker or DNS filter is keyed to Google's hostnames, and measurement requests that are less likely to get dropped. Google and Cloudflare's launch material claimed early testers saw around an 11% average uplift in measurement signal. Their number, not mine — but it tracks with what first-party serving has always done for delivery.
Here's the part that matters for this comparison. Google's own documentation is explicit: only the hostname on the request changes. The payload is untouched. Nothing gets transformed, filtered, enriched, or rerouted to any platform other than Google. It's a delivery pipe, and strictly a Google-shaped one.
| Layer | What sits there |
|---|---|
| Inputs | Web container events, Shopify / Stripe webhooks, CRM outcomes |
| track.yourstore.com | Enriches, dedupes on event_id, filters per consent, sets first-party cookies |
| Destinations | GA4, Google Ads, Meta CAPI, TikTok Events API, Microsoft UET |
How is server-side GTM different?
Server-side GTM is a different category of thing. With sGTM, you run a small tagging server on a subdomain you own — say, track.yourstore.com. The browser sends one stream of events to that server. Then your server, under rules you control, decides what each platform receives: GA4 hits, Google Ads conversions with enhanced conversion data, Meta CAPI events with hashed emails and _fbp/_fbc identifiers, TikTok Events API calls. One source, fanned out everywhere you spend.
If you've never heard "server-side tracking" before, here's the plain version. Browser-only tracking means every ad platform relies on a pixel running inside your visitor's browser — and pixels get blocked by ad blockers, throttled by Safari and iOS privacy features, or never fire because someone bounced mid-checkout. The platforms then optimize your campaigns on incomplete data. A server-side setup moves the reporting job to a server you own, where blockers can't reach and where events can be verified against reality before they go out.
And that last part is the real payoff. An sGTM setup can catch a webhook from Shopify, Stripe, or your CRM and fire Purchase from the backend — when money actually moved, at the real order value — then deduplicate it against the browser pixel with a shared event_id. It can attach a hashed email to boost Meta's Event Match Quality, strip fields per consent state, and set first-party cookies from the server, which hold up better against ITP than anything written by JavaScript. Tag Gateway does none of that. Not because it's bad — because it was never designed to.
| Google Tag Gateway | Server-side GTM |
|---|---|
| Google tags only: GA4, Google Ads | Any platform, plus webhooks and CRMs |
| Beats hostname-based blocking | Events leave from your own server |
| Cookies still set by JavaScript | First-party cookies set server-side |
| No transformation, hostname only | Rename, enrich, filter, deduplicate |
| Minutes on Cloudflare, free | A real project: server, mapping, QA |
Tag Gateway vs server-side GTM: what does each one solve?
Gateway solves tag delivery for Google. sGTM solves data control for everyone. Line by line:
| Google Tag Gateway | Server-side GTM | |
|---|---|---|
| Platforms covered | Google tags only (GA4, Google Ads) | Any platform: Google, Meta, TikTok, Snap, Microsoft, plus webhooks and CRMs |
| Blocker resistance | Scripts and hits survive hostname-based blocking | Events leave from your server, out of the browser's reach entirely |
| Cookie situation | Cookies still written by JavaScript; ITP's caps on script-set cookies still apply | Can set first-party cookies server-side for longer, sturdier identity |
| Event transformation | None — Google states only the hostname changes | Full: rename, enrich, filter, validate, deduplicate |
| Backend truth events | No | Yes — webhook-driven Purchase with real order values, deduped via event_id |
| PII and consent governance | Nothing added | You decide exactly what each platform receives, per consent state |
| Effort | Minutes if you're on Cloudflare | A real project: server, event mapping, QA at every step |
| Cost | Free on the Cloudflare path | Hosting from a few dollars a month, plus setup work |
Is Tag Gateway "first-party tracking"?
No — it's first-party serving, and that difference is the whole point. Gateway changes where Google's tag loads from and where the hits appear to go. It doesn't change who controls the data, what's in the requests, which platforms get fed, or how conversions are verified. Your data still flows straight to Google, same shape as before. A first-party data setup means events land on infrastructure you own first, and you govern what happens next. Only one of these is an asset you control.
Why do you still need first-party server-side tracking if Tag Gateway exists?
Because Gateway only rescues the delivery of Google's scripts — and delivery was never your biggest measurement problem. If you spend on Meta or TikTok, every non-Google pixel on your site stays fully exposed to ad blockers and iOS privacy limits, underreporting, feeding the algorithm a partial picture. Gateway doesn't touch any of that.
A first-party server-side setup does. Your tagging server recovers the conversions that blockers and Safari eat, for every platform at once — not just Google. It sends Meta CAPI events enriched with hashed customer data, which raises Event Match Quality; higher match quality means the algorithm optimizes on real buyers instead of guesses, and cheaper CPAs follow from that, not from magic. It fires Purchase from your backend when the order actually completes, so platforms stop counting refunded, duplicated, or abandoned "conversions." And when Google Ads, Meta, and GA4 all read from the same server stream with proper event_id dedup, the numbers finally reconcile instead of telling three different stories.
Gateway is a tactic. First-party server-side tracking is the foundation it sits on.
Who should use Tag Gateway, who needs sGTM — and can you run both?
If you advertise only on Google and your site already sits behind Cloudflare: turn Gateway on today. Free, minutes of work, no downside I've found in practice. Cheapest measurement win Google has shipped in years.
If you spend across platforms, care about match quality, or need your revenue numbers to actually be right — sGTM is the architecture. There's no Gateway-shaped shortcut to CAPI events, backend purchase truth, or consent-aware data governance.
And yes, they coexist. It's Google's own recommended pattern: Gateway handles first-party loading of the Google scripts, sGTM handles processing and distribution behind it. On client builds we treat Gateway as a free bonus layered onto a proper server-side foundation, never as a substitute for one.
Frequently asked questions
Is Google Tag Gateway free?
The Cloudflare integration is free and Google doesn't charge for the feature. Other CDN routes may carry normal CDN costs, but there's no Google fee.
Does Google Tag Gateway work with Meta, TikTok, or LinkedIn tags?
No. It covers Google tags only — GA4 and Google Ads. Every non-Google pixel keeps loading third-party, fully exposed to blockers. For those platforms you need server-side tagging with their events APIs, like Meta CAPI.
Is Google Tag Gateway the same as server-side tagging?
No. Gateway proxies Google's tags through your domain without changing the data — Google states only the hostname changes. Server-side tagging runs your own tagging server that transforms, enriches, and distributes events to any platform.
Can I use Google Tag Gateway and server-side GTM together?
Yes — Google recommends the combination: Gateway serves the scripts first-party while sGTM processes and routes the event data. They stack cleanly.
Does Tag Gateway extend cookie lifetime in Safari?
Don't count on it. Google's cookies are still written by JavaScript, so Safari ITP's limits on script-set cookies still apply. Server-side GTM can set cookies server-side — the sturdier fix for identity persistence.
Do I need Cloudflare to use Google Tag Gateway?
Cloudflare is the few-click path thanks to the launch partnership, but Google has been adding routes for other CDN and infrastructure providers. Check the current docs for your stack.
Will Google Tag Gateway improve my Google Ads conversion numbers?
Usually somewhat, since more hits survive blocking — Google cited around an 11% average signal uplift among early testers. It won't fix duplicate conversions, missing purchase values, or lost Meta signal.
- tag gateway
- sgtm
- first party

