GTM Server-Side is the foundation layer of every modern attribution stack. The Frameleads default architecture as of mid-2026: Cloudflare Workers-hosted server-side container acting as the single endpoint for all conversion events. This is the operator reference.
Why server-side GTM matters in 2026
- First-party data ownership. Tags fire from
gtm.yourdomain.cominstead ofgoogletagmanager.com. Browser treats them as first-party. Better cookie persistence, fewer blocked requests. - Signal recovery. ad blockers + Safari ITP + iOS restrictions don't apply to first-party server-side endpoints. Recover 30-60% of conversion signal lost to client-side tag blocking.
- INP improvement. Move 5-15 third-party scripts off the client bundle. Typical 100-300ms INP improvement.
- DPDP compliance. Consent gate sits in the server-side container — easier to audit + enforce than client-side consent management.
- Cost control. One server-side container can route to 10+ downstream platforms (Meta, Google, LinkedIn, TikTok, Pinterest, GA4, warehouse). Vendor-lock-in protection.
Deployment options
Option 1 — Google Cloud Run (default)
Default GTM Server-Side deployment. Google ships an official tagging server Docker image. Deploy via App Engine or Cloud Run. Cost: ~$10-50/mo for small sites (under 100k events/day), ~$100-300/mo for mid-size, ~$500+/mo at scale. Easiest setup; tightly integrated with GTM web UI.
Option 2 — Cloudflare Workers
Lower cost (~$5-25/mo for small sites) and faster cold starts. Requires custom tagging server build using community-maintained adapters. Best for sites already on Cloudflare. Frameleads' marketing site uses this pattern.
Option 3 — Third-party hosted (Stape.io / DataTab)
Fully-managed GTM Server-Side hosting. ~$20-100/mo depending on volume. Best for in-house teams without DevOps capacity. Drawback: third-party domain ownership (mitigated by custom domain mapping).
Standard routing pattern
Client browser
↓ (single event with event_id + params)
Server-side container (gtm.yourdomain.com)
├→ Meta Conversions API (event_id + hashed PII)
├→ Google Ads Enhanced Conversions
├→ LinkedIn CAPI (B2B engagements)
├→ TikTok / Pinterest / Snap CAPI (where applicable)
├→ GA4 Measurement Protocol
├→ Your warehouse via webhook (Snowflake, BigQuery, Postgres)
└→ Your CRM (Salesforce, HubSpot)One event in, N events out. The server-side container handles parameter transformation (hashing PII for each platform's spec), authentication, retry logic, dead-letter queues. Single point of maintenance for the attribution stack.
Implementation sequence
- Week 1 — Foundation. Set up Cloud Run / Workers tagging server. Map custom domain (gtm.yourdomain.com). Verify health endpoint.
- Week 2 — Client routing. Update client-side GTM container to send events to server-side endpoint instead of platform endpoints directly. Verify events received in server-side container.
- Week 3 — Downstream routing. Wire each downstream destination (Meta CAPI, Google Ads Enhanced, LinkedIn CAPI, GA4 Measurement Protocol). Test each with 5-10 test events.
- Week 4 — Consent layer. Wire DPDP-compliant consent mode v2. Verify consent decisions audit-logged correctly.
- Week 5-6 — Production rollout. Migrate live traffic gradually. Monitor match-rate per platform. Reconcile against client-side numbers.
- Week 7+ — Optimisation. Tune parameter passing. Add additional destinations as needed (warehouse webhook, CRM sync, etc.).
Frameleads ships GTM Server-Side as part of every Analytics & Automations engagement at Scale tier. Read the Attribution & Measurement pillar for the broader framework.