Server-side tracking for GA4, Google Ads and Meta,built in your own accounts
Server-side tracking keeps more conversions out of reach of ad blockers and Safari's cookie limits, and more leads reach the CRM with the source that earned them. Your site sends one first-party request to server-side GTM on Cloud Run or Stape, or Google Tag Gateway serves Google tags from your domain. Consent still decides what fires.
Ready to build? Server-side GTM or Tag Gateway runs as an Advanced Tracking Build of 5 to 8 weeks. Plan your server-side setup
01Estimate
Estimate how many form leads reach your CRM without a GA4 client ID
A lead with no GA4 client ID cannot be joined to the session that produced it, and Google Ads has no click to credit. Across Waftr client audits, 28% to 41% of CRM form leads arrived that way. Pick your volume to see what the range means for your pipeline, and which part of it a server can reach at all.
Signal loss estimatorBenchmark: CRM client ID reconciliation across Waftr client audits
1Form leads reaching your CRM each month
2Show the result
How the range was measured
Each form submit carried the visitor's GA4 client ID into the CRM in a hidden field. We counted the CRM records where that field was empty. The delivery pipeline was tested first, which means an empty field marks a browser that never wrote the ID.
Leads arriving with no GA4 client ID
280 to 410of 1,000 form leads a month
0%10%20%30%40%50%
All causes28-41%280 to 410
Ad blockersabout 25-30%250 to 300
Reject Allup to about 40%up to 400
A server can reach this part
Ad blocker share: 250 to 300
Blockers stop requests to Google and Meta domains. Google Tag Gateway serves Google tags from your domain, and server-side GTM extends first-party delivery to Meta and BigQuery. Read this number as the ceiling of what first-party serving can reach.
No server should touch this part
Reject All share: up to 400
These visitors refused tracking, and their choice stands under any setup. Advanced Consent Mode v2 sends cookieless pings instead, which makes GA4 behavioral modeling and Google Ads conversion modeling eligible.
Your own share can fall outside the range. Audience, browser mix and banner design all move it.
What the estimate assumes
Your forms behave like the audited ones: lead forms that write to a CRM.
The two causes overlap. One visitor can run an ad blocker and click Reject All, which is why the parts do not add up to the total.
It shows exposure only. No recovery figure for Google Tag Gateway has been confirmed, and this page does not promise one.
Safari ITP sits outside this count. Those leads still carry an ID, a fresh one that has lost its original source.
Measure your own share in four steps
1
Read the client ID. In Google Tag Manager, a first-party cookie variable reads _ga. The client ID is the last two number blocks of its value.
2
Write it into each lead form. Add a hidden field filled from that variable and map it to a property in your CRM.
3
Prove the pipe. Submit test leads with consent accepted and confirm the ID lands in the CRM every time.
4
Count after a few weeks. Divide the leads with an empty field by all leads from those forms. That is your share.
The Advanced Tracking Audit runs this reconciliation for you, then splits the result by cause.
02Decide
Google Tag Gateway, server-side GTM or no server yet: a decision tree
Three questions settle the Google Tag Gateway vs server-side GTM choice for most setups, and sometimes the answer is to stay client-side. Answer them in order: each one rules a route in or out, and the end of your path is the setup we would scope.
Q1
Do your GA4 and Google Ads conversion tags fire correctly today?
Check in GTM Preview: submit your own form with consent accepted. The conversion tag should fire once, on success. The free GA4 audit tool shows whether tags load from your domain, and a GTM audit tests the container itself.
No Stay client-side and fix the web containerYes Go to Q2
Q2
Are returning Safari visitors landing in Direct?
In GA4, compare the Direct share of returning users on Safari with the same share on Chrome. A clearly higher Safari figure points to Intelligent Tracking Prevention cutting cookies short.
Yes Server-side GTM with server-set cookiesNo Go to Q3
Q3
Do you need conversions outside Google: Meta, LinkedIn or a raw copy in BigQuery?
Google Tag Gateway forwards Google's own tags and nothing else. Any other destination needs a tagging server.
Yes Server-side GTMNo Google Tag Gateway
Your pathQ1 yes, Q2 no, Q3 no: Google Tag Gateway
Your routeCore Tracking Build · 3 to 4 weeks
Stay client-side: fix the web container first
A tagging server forwards whatever the browser hands it, broken triggers and duplicate tags included. Rebuild the web container from a data layer spec, with Consent Mode v2 and Enhanced Conversions, and revisit server-side once the tags are clean.
A server container on a first-party subdomain or a path of your main domain. It sets cookies from the server, feeds GA4, Google Ads, the Meta Conversions API and BigQuery, and checks consent before each one.
You run Cloud Run in a Google Cloud project, or Stape, billed to you
Your routeAdvanced Tracking Build · 5 to 8 weeks
Google Tag Gateway
Google's tag and its measurement requests travel through your domain, routed by a CDN or load balancer you already run: Cloudflare, Akamai, Fastly or Google Cloud. The enterprise SaaS build paired it with server-side tagging.
You run A routing rule on your CDN, with no server to host
03Explain
What is server-side tracking?
Server-side tracking sends your site's measurement data to a tagging server you control, on your own subdomain or a path of your domain, instead of letting the browser call each vendor. The server container reads the consent state, then forwards events to GA4, Google Ads, the Meta Conversions API and BigQuery.
Server-side tagging vs client-side tagging
Client-sideTags run in the browser
Your pageGTM web container
GA4Often blocked
Google Ads
Meta PixelOften blocked
LinkedIn Insight
A third-party request to every vendor
Cookies set by JavaScript: Safari caps them at 7 days
Every vendor script adds page weight
Server-sideTags run on your server
Your pageGTM web container
1 first-party request to collect.yoursite.com
Server containerCloud Run or Stape
GA4
Google Ads
Meta Conversions API
BigQuery copy
Requests go to your own subdomain
Server-set cookies, under your control
Strip or enrich data before it leaves
Consent travels with the event
The Consent Mode v2 state passes from the web container to the server container with each request, and server tags check it before sending. The banner side is covered under Consent Mode v2 setup.
Safari checks the server too
Safari also caps a server-set cookie at 7 days when the server's IP address does not share the first half of your site's address. A tagging server on its own cloud subdomain usually falls under that rule. Serving it from a path on your main domain keeps the cookie's full life.
Tag Gateway is a route
Google Tag Gateway forwards Google's requests through your CDN. It runs without a container or custom logic, and it cannot strip or enrich data before Google receives it.
04Route
Where server-side Google Tag Manager can send your data
One stream of events arrives from your site, and the server container builds a separate request for each platform with only the fields that platform needs. Conversion APIs such as Meta and LinkedIn can run from the same container.
Destination and what the server container sendsTag Gateway covers it
GA4
Events from the GA4 client, forwarded after the consent check. A server-set cookie can keep the client ID stable across visits.
Yes
Server-side tracking for Google Ads
Conversion tags and Enhanced Conversions, with hashed first-party data from the form attached for matching.
Yes
Server-side tracking for Meta
Events to the Meta Conversions API from your tagging server. If the browser pixel also runs, both copies carry the same event ID and Meta keeps one.
No
A raw event copy in BigQuery
Every event written before any platform filters it, which gives you a record to reconcile against CRM leads line by line.
No
Server-side tracking on Shopify
Delivered by Waftr. Store events reach the server container like any other site's, and each platform receives them only after the consent check.
Checked per store
05Ask
Before you move tags off the browser
Eight questions to settle before a server-side GTM or Google Tag Gateway build is scoped.
Does every site need server-side tracking?
No. Plenty of single-site setups lose more data to broken triggers than to blockers, and a rebuilt web container fixes that with less to run. A tagging server earns its place when paid budgets depend on conversions that ad blockers or Safari remove. The Tracking Audit shows which of those applies before anyone scopes a server.
What is Google Tag Gateway?
Google Tag Gateway serves Google's tag and its measurement requests through your own domain, using a CDN or load balancer you already run, such as Cloudflare, Akamai, Fastly or Google Cloud. There is no server container to host or maintain. It covers Google tags only, which leaves Meta and LinkedIn to server-side GTM.
Does server-side tracking get around cookie consent?
No, and a correct setup never tries. The Consent Mode v2 state travels from the web container to the server container with each event, and server tags check it before sending. Server-side tracking reaches data lost to blockers and browser limits. Visitors who click Reject All stay untracked, and the Consent Mode v2 setup handles them.
Where is server-side GTM hosted, and who pays for hosting?
Google Cloud Run in a Google Cloud project on your billing account, or Stape when managed hosting suits the team better. Either vendor bills you directly, and the bill grows with request volume. Waftr deploys and configures the hosting through access you grant and can revoke at any time.
Does server-side tracking improve Google Ads conversion tracking?
It can, and no uplift is promised. Requests to your own domain survive more ad blockers, server-set cookies outlast Safari's 7-day cap on script cookies, and Enhanced Conversions adds hashed first-party data for matching. After a US retailer's server-side setup with Consent Mode v2, cost per lead fell 20%.
Can server-side tracking send events to the Meta Conversions API?
Yes. The server container sends events to the Meta Conversions API from your tagging server once consent allows it. If the browser pixel also runs, give both copies the same event ID and Meta counts the conversion once. Google Tag Gateway cannot do this, because it only forwards Google's own tags.
Do you need a server-side tracking agency, or can your developers set it up?
Deploying a server container is the easy part, and your developers can do it. Results depend on the work around it: tag mapping for each platform, consent state passed to the server, a first-party subdomain or path, and tests in every consent state. Waftr scopes that from an audit and builds it alongside your developers.
Does Waftr set up server-side tracking on Shopify?
Yes, Waftr has delivered server-side tracking on Shopify. The work starts with an audit of how the store sends events today, then runs as an Advanced Tracking Build of 5 to 8 weeks. Consent is tested for visitors who accept, refuse or ignore the banner before the live store changes.
06Proof
Results from two server-side tracking builds
Different failures on the same layer. The enterprise SaaS build went after blocked requests, and the US retail build went after Safari's cookie limits. Each result appears exactly as its case study publishes it, with the window it was measured over.
Two Waftr server-side tracking builds compared: what broke, what was built, consent handling, delivery, what was measured and the published result
Detail
Enterprise SaaS
US retail
What broke
Ad blockers and privacy browsers kept GA4 from loading. Leads reached the CRM with no source and were counted as direct.
Safari ITP cut cookie life from 30 days to 7, and to 24 hours for paid search visits. Returning visitors landed in direct.
What was built
Server-side tagging and Google Tag Gateway, a UTM fallback for paid traffic and a document referrer fallback for organic visits.
Server-side tracking with server-set cookies, Consent Mode v2, and modeling in GA4 and Google Ads.
Consent
The existing OneTrust setup stayed as it was.
Consent Mode v2 set up alongside the server work.
Delivery
1.5 months with the client's web team. Audit, Build, then Care on a monthly retainer.
One Tracking Build.
Measured
Share of CRM leads counted as direct, 2 months before vs 2 months after.
Neither number is a forecast for your site. The estimator above shows exposure; these two columns show what two finished builds measured.
07Build
How does an sGTM setup run?
An sGTM setup runs 5 to 8 weeks as part of an Advanced Tracking Build. Consent is set up first, then the data layer, then the cloud project, subdomain and server tags, then tests in each consent state. Both containers go live together, after your team approves the version.
Advanced Tracking Build5 to 8 weeks
1
Audit and scope
The Advanced Tracking Audit includes a server-side review. If GA4 itself is in doubt, a Google Analytics audit comes first.
2
Consent before tags
Consent goes in before any tag moves. Retrofitting it after tags are live is the failure we meet most often.
3
Data layer spec
We write the spec, your developers push it, and we verify each value in GTM Preview.
4
Cloud, subdomain, server tags
A Google Cloud project or Stape account in your name, the first-party subdomain or path, and a client and tags per destination.
5
Test and publish
Server Preview in accept, reject and no-choice states, then both containers publish with version notes and a handover call.
08Quote
How much does server-side tracking cost?
Server-side tracking is quoted inside an Advanced Tracking Build, as one fee agreed in writing before work starts. Four things move that quote, listed below. Hosting never passes through Waftr: Google Cloud or Stape bills you for it directly.
Sites and propertiesHow many domains, GA4 properties and GTM containers
DestinationsGoogle only, or Meta, LinkedIn and BigQuery as well
Consent regionsWhere opt-in, opt-out or both apply
Data beyond the tagsBigQuery export, CRM and offline conversion import
Several sites, brands or regions under one plan become an Enterprise Build, scoped per project.
13 years in digital analytics across 10+ industries and 50+ global teams stand behind each build, with Google Analytics, Google Tag Manager and OneTrust certifications held across the Waftr team.