GTM Server-Side requires a server that receives every tracking hit from every visitor. Costs scale with traffic volume and are not fully apparent from Cloud Run pricing alone — particularly the Cloud Logging costs that accumulate alongside compute.
Self-Hosted on Cloud Run
A single always-on Cloud Run instance costs approximately $49/month with Google’s recommended settings (1 vCPU, CPU always allocated, 512 MiB memory). Google recommends a minimum of 2 instances to eliminate cold starts, which puts the baseline at roughly $90/month.
| Traffic Level | Daily Requests | Min / Max Instances | Monthly Cost |
|---|---|---|---|
| Small | 10K–100K | 1–2 / 3 | $45–$135 |
| Medium | 100K–1M | 2 / 5–6 | $90–$270 |
| Large | 1M–10M | 3 / 10+ | $135–$450+ |
“Daily requests” here means incoming requests to your server container. Each page view typically generates multiple hits (page_view event, scroll events, any custom events). A site with 10,000 daily visitors might generate 50,000-100,000 server container requests daily, depending on how many events you track.
Max instances cap your maximum throughput. 10 instances handles approximately 350 requests per second. Most sites never approach this, but high-traffic e-commerce sites running promotional events should size accordingly.
The Cloud Logging Cost Trap
This is where self-hosted GTM Server-Side regularly surprises teams.
Cloud Run’s default settings log every request to Cloud Logging. Tracking servers receive a high volume of small requests — /g/collect hits, cookie sync requests, health checks. At $0.50 per GiB ingested, default logging for moderate traffic adds $100-$220/month.
This is not a corner case. The logging costs routinely exceed compute costs for the first billing cycle on new deployments. The pattern: deploy, run for a month, receive a $300 bill when you expected $90.
Fix it immediately after deployment. Disable or restrict Cloud Run request logging in Cloud Logging settings. You want error logging and sampled request logging — not every hit. The one-time 15-minute configuration saves $100-$200/month ongoing.
The total cost picture for a medium-traffic site with correct logging configuration: $90-$270/month compute, near-zero logging if configured. Without correct logging: add $100-$220.
Managed Alternatives
Three managed options exist at different price and capability points.
Stape.io
Stape operates as a managed GTM Server-Side hosting provider, purchasing Cloud Run capacity in bulk and reselling it.
Pricing: Starting at $20/month for up to 500K requests. Higher tiers for more volume.
What’s included:
- Hosted Cloud Run instances with no infrastructure management
- Cookie Keeper (periodically refreshes cookies before Safari ITP would expire them)
- Monitoring and alerting
- Support
Request counting: Stape counts only incoming requests to your server container, not outgoing forwarding requests to GA4, Meta, etc. A single page view might generate 1 incoming request that then fans out to 3 vendor endpoints — Stape counts that as 1 request. This makes their pricing more generous than it appears on paper.
Stape is often cheaper than self-hosting for small-to-medium traffic, factoring in the Cloud Run + logging costs and removing engineering time. The Cookie Keeper feature is worth evaluating separately — it extends cookie lifetimes to 90 days or 13 months for Safari users without requiring the IP address infrastructure fixes that the same-origin approach requires.
Addingwell (acquired by Didomi)
Addingwell positions as a premium managed option, recently acquired by the consent management platform Didomi.
Pricing: Starting around €90/month.
Differentiators: 99.99% uptime SLA, real-time tag health monitoring, and tighter integration with their consent infrastructure. The Didomi acquisition suggests this will develop deeper CMP integration over time.
Best suited for large enterprises where uptime guarantees and formal SLAs matter, or organizations already using Didomi as their CMP.
Cloudflare Zaraz
Zaraz is architecturally different — it’s not GTM Server-Side at all, but it serves a similar purpose. Zaraz processes tracking at Cloudflare’s CDN edge nodes before the response reaches the browser.
Pricing: Free up to 1 million events/month on Cloudflare’s plan.
Key difference: Because Zaraz runs at the CDN edge rather than a separate server, there’s near-zero additional latency and no separate server infrastructure to manage. For Cloudflare customers, the integration is straightforward.
Limitation: Zaraz is not GTM Server-Side. Your existing GTM server container configuration doesn’t transfer. If you’ve built complex server-side logic in GTM, migrating to Zaraz means rebuilding it in Zaraz’s interface. And Zaraz’s tag ecosystem is smaller than the GTM Community Template Gallery.
Zaraz makes most sense for organizations starting fresh who don’t have existing GTM Server-Side investments and are already on Cloudflare’s infrastructure.
Total Cost of Ownership
The server infrastructure cost is only part of the picture. Implementation and ongoing maintenance add significant time costs.
Initial setup: 10-40 hours depending on implementation complexity — how many vendor integrations, whether you need multi-region architecture, custom domain configuration, and testing each integration.
Ongoing maintenance: 5-20 hours monthly for monitoring, debugging, tag updates when vendor APIs change, and reviewing new browser behavior that might affect cookie lifetimes.
Agency alternatives: If you’re not implementing yourself, agencies charge $2,000-$15,000 for implementation projects and $1,500-$5,000/month for ongoing retainers.
The self-hosted vs managed decision often comes down to internal bandwidth, not just infrastructure cost. If your team doesn’t have someone who will actively monitor and maintain the server container, managed hosting is almost always the better choice even if it costs more monthly.
When the Investment Is Justified
The break-even calculation depends on data recovery value, not infrastructure cost alone. For organizations spending over $5K/month on paid advertising and missing 15-25% of conversion signal due to cookie restrictions, the value of recovered attribution typically exceeds infrastructure costs. For organizations spending under $5K/month on paid advertising, the ROI case is weaker relative to setup complexity.