Server-side tagging is often sold as the cure for every tracking problem: ad blockers, iOS changes, cookie limits, missing conversions. It does help with some of those. It does nothing for consent, broken events or a messy tracking plan, and it adds a monthly bill and one more system to maintain. Three things usually get bundled under the name (server-side Google Tag Manager, Meta’s Conversions API and Google’s enhanced conversions), and most sites need one or two of them long before they need all three.
Three different things, often confused
| What it is | What it mainly improves | |
|---|---|---|
| Server-side GTM | A tag container running on a server you control. The browser sends one stream of data to it, and it forwards data to GA4, ad platforms and others. | Control over what data leaves your site, fewer third-party scripts in the browser, first-party domain for measurement requests |
| Meta Conversions API (CAPI) | A server-to-server connection that sends events to Meta, alongside or instead of the browser pixel. | Conversions Meta can match and use for optimisation when the browser pixel is blocked or fails |
| Google enhanced conversions | Sends hashed first-party data (such as email) with your Google Ads conversion tags or imported conversions. | Google’s ability to match conversions to signed-in users |
Enhanced conversions work without server-side GTM. So do Meta CAPI events sent through a platform integration. Server-side GTM is a pipeline; CAPI and enhanced conversions are destinations and data types that can travel through it or by other routes.
What server-side GTM fixes
Google’s introduction to server-side tagging lists the main benefits.
Data control comes first. The server runs in your environment, and Google says “only you have access to the data in the server until you choose to send it elsewhere”. You can strip IP addresses, remove query parameters carrying personal data, or drop fields before they reach a vendor.
Permissions and policies also set boundaries on what tags in the container can do, which gives you security and visibility you don’t get from a pile of browser scripts.
And the browser loads fewer scripts. Instead of five vendor scripts, it sends data once to your server, which fans it out. That can help page speed, though Google’s introduction makes no performance promise.
Google strongly recommends serving the container from a first-party subdomain (for example, metrics.yoursite.com). Requests to your own domain can be less likely to be blocked than requests to well-known tracking domains, and cookies set from your own server are first-party cookies.
What it does not fix
Consent
Moving tags to a server does not change what you are allowed to collect. When a visitor declines analytics or advertising cookies under GDPR, UK GDPR, India’s DPDP Act or similar rules, that choice still applies.
In practice, your web container passes the consent state to the server container, and Google’s own tags in the server container read it. Guides from server-side hosts such as Stape point out that non-Google tags in the server container don’t check consent automatically, so you have to build that check yourself. Get Consent Mode v2 set up properly in the browser first. A server container fed by a broken consent set-up just forwards the problem faster.
Bad event design
A purchase event that fires twice, misses the order value or fires on page refresh will be sent, faithfully and wrongly, to every platform. Run a tracking audit before scaling.
Attribution
Server-side tagging raises how many conversions you can record and match. Whether your ads caused them is a separate question, and it still needs experiments.
Meta Conversions API: what it fixes and what to watch
CAPI sends events from your server straight to Meta, so a blocked or failed browser pixel no longer means a lost conversion. Meta calls this a “redundant set-up” and recommends it: “we recommend that advertisers implement the Conversions API alongside their Meta Pixel”.
Running both means deduplicating. Meta’s deduplication documentation says a browser event and a server event count as duplicates when both the event name and event ID match, and only if they arrive within 48 hours of each other.
So generate one event ID per action (the order ID is the obvious choice for a purchase) and send it with both the pixel and the server event. Skip this and Meta can count the same purchase twice, which makes your reported cost per purchase look better than it is.
Google enhanced conversions: what it fixes
Google’s help page describes enhanced conversions as a way to supplement conversion tags with “hashed first party conversion data”. You capture details the customer already gave you (email, phone or address), normalise them, and hash them with SHA-256 before sending. Google matches them to signed-in Google accounts that interacted with your ads.
There are two versions. Enhanced conversions for web covers sales and sign-ups that happen on your site. Enhanced conversions for leads covers sales that close offline after a website lead, using hashed data from your lead forms and imported conversions.
Of the three, this is usually the cheapest to turn on. In many set-ups it is a settings change and a tag update, with no server involved. Your privacy notice and consent flow still need to cover sharing the data with Google.
What it costs
Hosting
Server-side GTM needs somewhere to run, and there are two common routes.
Self-managed on Google Cloud Run: Google’s Cloud Run setup guide says each server costs about $45 a month and recommends at least 2 instances to reduce the risk of data loss. A production set-up therefore starts around $90 a month before traffic grows. The guide expects 2 to 10 servers to handle 35 to 350 requests per second, depending on your tags.
Managed hosting: providers such as Stape run the servers for you. As of October 2026, Stape lists a free plan for up to 10,000 requests and paid plans from $17 a month (billed annually) for up to 500,000 requests, rising with volume.
A lighter option
Google tag gateway, launched with Cloudflare in May 2025, serves Google’s tags from your own domain without a separate server. Cloudflare’s announcement describes it as free on any Cloudflare plan and says it gives “many of the same performance and accuracy benefits of server-side tagging without the overhead of maintaining a separate server”. Cloudflare reported an average 11% uplift in data signals among early testers; that is the vendor’s own figure. It only covers Google tags, so it won’t replace a server container if you need to control data going to several vendors.
People
Time costs more than hosting. Someone has to set it up, test every tag, keep the container updated, watch for errors and debug when platform numbers drift. Budget for that before the hosting bill.
Sense-checking the spend
The numbers in this table are hypothetical.
| Amount | |
|---|---|
| Monthly Meta and Google Ads spend | £20,000 |
| Purchases the platforms record now | 400 a month |
| Hosting | about £100 a month |
| Someone’s time, 4 hours at £50 an hour | £200 a month |
| Total running cost | about £300 a month |
If better matching lets the platforms record and optimise towards 5% more of your real purchases, that is 20 more conversions a month for them to learn from. Whether that’s worth £300 depends on what the extra signals do to your bidding, and you can’t know that in advance. What the exercise gives you is the order of magnitude. At £20,000 a month the cost is small against spend and the bet is reasonable. At £2,000 a month the same £300 is 15% of the media budget, and the cheaper steps are the better first move.
Treat any uplift figure you see quoted, vendor case studies included, as a hypothesis for your own account. Measure the gap between your shop and the platforms before and after, so you know what you actually got.
Measure the gap before you decide
Compare last month’s purchases or leads in your shop or CRM with what GA4, Google Ads and Meta each report, and write the gap down for each. Then test consent: decline cookies on your site and check in the browser’s network tab which requests still fire. Our free Pixel & Tag Checker extension shows what each page sends.
Two fixes are worth making before the checklist. Turn on enhanced conversions in Google Ads if they’re off. If you use Meta CAPI, confirm the pixel and server events share the same event name and ID. Whatever gap remains after that is the one a server container would have to close.
A decision checklist
Answer yes or no. The more yeses, the stronger the case for server-side GTM now.
- Are you spending enough on paid media that a few per cent more matched conversions would cover the hosting and maintenance cost?
- Do you send data to three or more ad and analytics platforms?
- Do you need to strip or transform data (IP addresses, personal data in URLs) before it reaches vendors?
- Do your platforms report noticeably fewer conversions than your shop or CRM, after you have fixed obvious tagging errors?
- Is page speed suffering from many third-party scripts?
- Do you have someone who can own the container and debug it?
- Is your consent set-up already working and tested?
A no to question 7 ends the exercise. Fix consent first.
With only 1 or 2 yeses, stay with the cheaper steps: enhanced conversions in Google Ads, Meta CAPI through your ecommerce platform’s integration with deduplication set up, and possibly Google tag gateway.
With 4 or more, server-side GTM is probably worth it. Plan it as a project with a test phase, not a weekend job.
Questions people ask
Does server-side tagging get around cookie consent?
No. Moving tags to a server changes where data is processed, not whether you are allowed to collect it. If a visitor declines consent, the same rules apply, and your server container must respect that choice for every tag it sends data to.
How much does server-side Google Tag Manager cost?
It depends on hosting. Google's Cloud Run setup guide says each server costs about $45 a month and recommends at least 2 instances for production. Managed hosts such as Stape list plans from a free tier of up to 10,000 requests to paid tiers priced by request volume.
Do I need server-side GTM to use Meta Conversions API?
No. Many ecommerce platforms and Meta's partner integrations send Conversions API events without a server container you manage. Server-side GTM is one way to do it, useful when you want one pipeline feeding several platforms.
What is the difference between enhanced conversions and Conversions API?
Both send hashed first-party customer data, such as an email address, to help an ad platform match conversions to users. Enhanced conversions is Google's feature for Google Ads. Conversions API is Meta's server-to-server route for sending events to Meta.
Sources
- Google for Developers: An introduction to server-side tagging
- Google for Developers: Cloud Run setup guide for server-side tagging
- Stape: Pricing
- Meta for Developers: Handling duplicate Pixel and Conversions API events
- Google Ads Help: About enhanced conversions
- Cloudflare Blog: Google tag gateway for advertisers
- Stape: Consent mode in server Google Tag Manager