Google tag gateway vs server-side tagging: how to choose
Google tag gateway, server-side tagging and Full Signal Tracking compared: what each moves first-party, what it costs and which gets past ad blockers.
Google tag gateway and server-side tagging both make Google Ads tracking more first-party, and a managed endpoint is the third route merchants ask about. The gateway changes where Google’s tag is served from, a server container changes where the data is processed, and a managed endpoint hands the whole server to someone else.
Moving Google’s tag to your own domain does not get it past ad blockers: they block Google tag gateway and server-side Google Tag Manager setups. Full Signal Tracking gets through. Every Google and Cloudflare claim links to the page it comes from.
Three routes, three different jobs
Google tag gateway serves Google’s own tag from your domain. Google says it “lets you deploy a Google tag using your own first-party infrastructure, hosted on your website’s domain” (Google Tag Platform). In its setup guide, your site loads the tag from your first-party domain and “some measurement requests will be sent to Google using your first-party domain”.
Server-side tagging is a server container you run. Google describes it as processing data “on a server you control, rather than in the user’s browser” (Google Tag Platform). It runs in your own Google Cloud project or another environment, and Google strongly recommends putting it on your first-party domain.
A managed endpoint is the same idea with someone else running it. Full Signal Tracking runs a unique endpoint on your own domain and sends every purchase from there into Google Ads, with no server container for you to host. If an endpoint is ever blocked, it auto-rotates to a fresh one.
What happens when a visitor runs an ad blocker?
Ad blockers block Google tag gateway and server-side Google Tag Manager setups. Full Signal Tracking gets through, and if an endpoint is ever blocked it auto-rotates to a fresh one.
- Brave Shields
- uBlock Origin
- AdGuard
- AdBlock
- VPN / DNS blockers
- Standard Google tagGoogle Tag Manager, GA4 and the Google Ads tag: stopped or replaced by stubs in Brave Shields, uBlock Origin Lite and AdGuard in our labBlocked
- Google tag gatewayGoogle’s tag served from your own domainBlocked
- Server-side Google Tag ManagerA server container you host on your own domainBlocked
- Product Metrics: Full Signal Server-side TrackingEvery purchase sent from a unique endpoint on your domain; reached in all 6 lab setupsGets throughAuto-rotates if ever blocked
Our lab ran real browsers with real extensions on 30 September 2026. The standard Google Tag Manager, GA4 and Google Ads tags were stopped or replaced by stubs in Brave Shields, uBlock Origin Lite and AdGuard with Tracking Protection. AdGuard on its default filters and AdBlock did not block the Google Ads tag. A Full Signal-style first-party endpoint was reached in all 6 setups.
In how many of 6 blocker setups did each request get through?
Show the dataHide the data
| Request tested | Setups where it got through (of 6) |
|---|---|
| Standard Google Ads tag | 3 |
| Full Signal-style first-party endpoint | 6 |
Safari lets tags load but cuts their cookies to 7 days; Full Signal’s first-party cookie lasts 30 days.
To see what a request carries, decode it in the SDK debugger.
Test what your own browser blocks →
Side by side
| Google tag gateway | Server-side GTM | Full Signal Tracking | |
|---|---|---|---|
| Ad blockers | Blocked | Blocked | Gets through; auto-rotates if ever blocked |
| What moves first-party | Google’s tag and “some measurement requests”, through your own domain | Data processing, on a server you control instead of in the browser | Every purchase, sent from a unique endpoint on your domain into Google Ads |
| Who hosts it | Your CDN, load balancer or web server, with in-UI integrations for Google Cloud (beta), Fastly, Akamai, Webflow, Duda and Cloudflare | You, in your own Google Cloud project (Cloud Run is recommended) or elsewhere | Product Metrics; no server container to host |
| Cost | Free on Google Cloud’s load balancer integration plus load balancer usage; free on Cloudflare; other CDNs not documented | About $45 a month per Cloud Run server, two recommended (about $90 calculated) | Included in Pro, not billed separately |
| Setup | Five steps in Google tag settings, or a toggle, tag ID and path on Cloudflare; no changes to tag code | Server container, tagging server, custom server domain and a billing account | Three steps on your platform; no custom dev work |
| What it cannot fix alone | Moves Google’s tag and only some requests; no product-level view | Someone has to run it; a processing layer, not a product-level view | Google Ads only; consent still decides |
Sources: the Google and Cloudflare pages linked in this post, and Product Metrics’ own product facts.
You don’t have to pick one. Google documents the gateway running through a tagging server, so the first two overlap.
Cost and setup
Google documents the gateway as free on its Google Cloud load balancer integration: “The Google tag gateway for advertisers integration is free. You’ll only pay for your standard Google Cloud Load Balancer usage, such as data processing and network traffic” (Google Ads Help). Cloudflare says it “is free to use” (Cloudflare docs, updated 17 April 2026). We found no cost statement for other CDNs.
A server container comes with a stated price. Google says “Each server costs approximately $45 /month (USD)” and recommends a minimum of two instances in case of an outage (Cloud Run setup guide).
What does Google say a server container costs, in US dollars a month?
Show the dataHide the data
| Number of Cloud Run servers | Cost in US dollars a month |
|---|---|
| One server | 45 |
| Two servers (recommended minimum) | 90 |
Setup differs too, as the table shows, and a server container is also a server: someone has to keep it patched, paid for and awake. Full Signal Tracking has no container to look after and is included in the Pro subscription.
What none of them fixes alone
The gateway changes where Google’s tag is served from, and only “some” requests move. Google describes it as a way to serve the tag, not to add customer data. Enhanced conversions are a separate feature, covered in enhanced conversions vs server-side tracking.
Server-side tagging is a routing and processing layer. Google lists screening and modifying incoming requests, validating and normalising data, and removing personally identifiable information before passing it on (Google Tag Manager Help). It gives no product-level view.
Full Signal Tracking covers Google Ads only. Every purchase is sent marked NEW or RETURNING, and Product Metrics delivers new-customer, profit and LTV conversions to Google Ads.
None of the three replaces consent. What you need depends on your region and your consent setup; this isn’t legal advice.
Which should you set up first?
Measure your own gap first, then choose the lightest route that closes it, changing one thing at a time.
- Measure the gapCompare your shop's orders with the conversions in Google Ads for the same days, allowing for conversion lag, and run the ad blocker test in your own browser.
- Serve Google's tag from your domain, if that is all you needIf your CDN or load balancer has an integration, Google documents a short setup with no changes to your tag code. Ad blockers still block it.
- Run a server container to filter or enrich dataServer-side tagging fits if you want to screen, modify or route data before it goes on, and you can look after a server. Ad blockers block it too.
- Use a managed endpoint if purchases are missing from Google AdsIf the gap is purchases that never arrive and you don't want to host anything, Full Signal Tracking runs the endpoint on your domain for you, and it gets through ad blockers.
- Re-check after your usual conversion delayCompare orders and conversions again over the same kind of period, then decide whether you need a second route.
Lost purchases skew product verdicts
Smart Bidding and your per-product decisions learn from the conversions that arrive. A product that loses purchases on the way looks worse than it is, and can end up with its priority lowered because of it.
One product's ROAS, actual and as reported when 20% of its purchases never reach Google Ads
- ROAS: revenue ÷ ad spend
- ROAS needed to break even (4)
- Profit
- Loss
Show the dataHide the data
| Purchases counted | ROAS: revenue ÷ ad spend |
|---|---|
| Actual ROAS | 4.8 |
| Reported ROAS | 3.84 |
Break-even ROAS is 1 ÷ contribution margin and POAS equals ROAS × contribution margin, so break-even POAS is 1.0 (POAS vs ROAS). The maths is in break-even ROAS per product, the break-even ROAS calculator gives each product’s floor, and Product Segmentation then segments your products by clicks and return, using ROAS straight away and POAS once margins are connected.
Measure your own gap this week
Run the ad blocker test and compare your orders with your Google Ads conversions. If purchases are missing and you don’t want to host a server, read how Full Signal Tracking works per platform; it is included in Pro and not billed separately (see pricing). Google’s pages change, so check them again in a few months.
Keep reading.
Enhanced conversions vs server-side
What enhanced conversions are, how to set them up and check them, how they differ from server-side tracking and how Full Signal fits. With our ad blocker lab.
Customer acquisition cost formula for ecommerce
Customer acquisition cost is ad spend divided by new customers. See the formula, a worked example, and the most you can pay for a first order.
How to set a target ROAS from your margin
Set target ROAS as 1 ÷ (margin − profit kept). Includes a margin lookup table, what Google Ads documents about target level, and the target CPA equivalent.
Frequently asked questions.
Is Google tag gateway free?
How do I install Google tag gateway?
How is Google tag gateway different from Google Tag Manager?
Does Google tag gateway work with ad blockers?
How much does server-side tagging cost?
See which of your products to push, fix or pause. Start with your own products, or a 30-second estimate.
See what a blocker stops with the ad blocker tracking test. Then see how your products perform once every conversion is counted.
Not ready to connect? Book a demo: a video call with Berend, then a demo account.