Server-side
Server-side GTM integration for digital marketing agencies
Server-side GTM is the durability play for 2026 tracking: instead of every tag firing in the browser (where ad blockers, ITP, and short cookie lifetimes erode the data), events route through a tagging server the agency controls, which forwards clean server-to-server events to GA4, Meta CAPI, Google Ads, and the rest. It extends cookie lifetime, hides vendor endpoints from blockers, and recovers lost signal — but it adds a whole server tier that's easy to misconfigure and invisible in a tag-list. When the tagging server is on a client subdomain and forwarding to five destinations, "is it actually working?" is a question only a documented, verified node can answer.
How Phloz models Server-side GTM
What Phloz records about Server-side GTM on each client's tracking map, and what it doesn't. Only GA4, Google Tag Manager and Google Ads connect to Phloz (read-only, through a connected Google account); everything else is recorded by your team. Health states are set by the person who checks, the structural audit re-runs weekly, and graph relationships show what each node connects to — so a node marked broken or overdue for verification shows up in the cross-client tracking-health view.
- Server-side GTM container as a typed node: container ID, the tagging-server URL (first-party subdomain like sst.clientdomain.com), environment (live / staging), and health status
- The forwarding graph — explicit edges from the server container to every destination it feeds (GA4, Meta CAPI, Google Ads, TikTok), so "what does this server actually send?" is answerable at a glance
- Audit coverage: the tracking map nudges (info) when GA4 is present with no server-side container — surfacing the durability gap — and flags an isolated server endpoint with no edges
- Per-client visibility: whether the client runs server-side, where its tagging server lives, and when it was last verified
Common Server-side GTM configuration gotchas
The configuration mistakes agencies most often make with Server-side GTM, surfaced here as a checklist agencies can run at every client onboarding. Honest, useful, not gated behind a sales pitch — these are real and you should audit for them regardless of whether you use Phloz.
- Tagging server not truly first-party: a server on a vendor domain (or the App Engine default URL) loses the first-party-cookie advantage that justifies sGTM in the first place — and so, in Safari, does a client subdomain (e.g. sst.clientdomain.com) that CNAMEs to the vendor or resolves outside the site's IP range: WebKit caps cookies from those at 7 days. Serve it from the site's own load balancer or CDN.
- Duplicate collection: leaving the browser-side GA4/Ads tags firing AND routing the same events through the server double-counts conversions. Decide per event which tier owns it, and turn the other off — then verify in each destination.
- Silent forwarding failures: a server container can keep accepting events while a single destination (say Meta CAPI) quietly fails auth and stops forwarding. Without a documented destination graph and a verification cadence, the gap hides until the client asks why a channel's conversions cratered.
At launch (V1)
A server-side GTM container appears as a typed node with its container ID, the tagging-server URL (ideally on a client subdomain), the destinations it forwards to, and health status — so the server tier of the tracking stack is on the map, not invisible.
Not built yet
Surface server-container health from the GTM API — whether the tagging server is reachable and forwarding — so a sGTM outage is caught before weeks of conversions go missing.
Why we built the integration this way
Most agency CRMs treat third-party tools as text fields: "GA4 Property ID" goes in a custom column on the client record. That works at one or two clients and breaks at five. With Server-side GTM recorded on each client's tracking map — as its own typed node where Phloz has one, as fields and notes where it doesn't — the agency can answer "is this client's Server-side GTM setup documented, and when was it last verified?" per client, and see every client ranked by tracking health.
Most of it is entered by hand at onboarding: only GA4 properties, GTM containers and Google Ads accounts can be imported from a connected Google account, and nothing syncs afterwards. The manual pass forces explicit verification at the exact moment the agency takes over the client's tracking — the cheapest moment to catch the gotchas listed above, before they become production issues.
When to use this in your client onboarding flow
The pattern we recommend: at every new client onboarding (see the client onboarding audit use case), spend 30 minutes documenting the client's Server-side GTM configuration on the tracking map — IDs, tracking-code installations, conversion setup, the relationships to other systems. Verify each one fires by triggering a test event, then mark the node verified so the date is recorded. Add a recurring task (monthly, say) for the re-check, assigned to whoever owns tracking — the audit flags anything unverified for 30+ days either way.
Thirty minutes at onboarding costs far less than finding the same tracking issues during the first month of campaign optimisation — when finding them would mean a refund conversation. See the broader tracking infrastructure map use case for the agency-wide pattern.
Frequently asked questions
The three questions agencies ask most often about Phloz's Server-side GTM integration. Honest answers — same data we'd give a friend evaluating the integration.
- When is server-side GTM worth it for an agency client?
- When the client has meaningful paid spend whose bidding depends on conversion signal, or sells in a market where Safari/iOS traffic is a large share — those are where the 15–30% of signal that browser-only collection loses actually moves results. For a low-spend, low-iOS client it can be over-engineering. Phloz models it either way so the decision (and the setup) is documented rather than defaulted.
- How does Phloz show what a server container forwards to?
- As explicit edges on the tracking map: the server-side GTM node connects to each destination it feeds (GA4, Meta CAPI, Google Ads, and so on). That turns the forwarding configuration — normally buried in the container's tag list — into a graph you can read at a glance, and lets the audit flag a destination that's mapped but not actually wired.
- Does Phloz host or run the tagging server?
- No — the tagging server runs on the client's infrastructure (Google Cloud, Stape, or another sGTM host). Phloz models it as a tracked node: where it lives, what it forwards to, whether it's healthy, and when it was last verified. Keeping the model separate from the runtime is the point — the map stays the source of truth about the setup no matter which host the agency picks.
Other integrations
Other server-side and adjacent tools, and how Phloz handles each.
- Meta Conversions APIServer-side
- SegmentServer-side
- Google Analytics 4Analytics
- Google Tag ManagerTag management
- Google AdsPaid
- Meta AdsPaid
- TikTok AdsPaid
- Microsoft AdsPaid
- ShopifyCommerce
- KlaviyoEmail
- HubSpotCRM
- Zoho CRMCRM
- LinkedIn AdsPaid
- Call trackingCall tracking
- Google Search ConsoleSEO
- Google Business ProfileLocal
- WooCommerceCommerce
- MailchimpEmail
- SalesforceCRM
- All integrations
14 days free for new workspaces · No credit card · Starter tier free forever