Attribution

Short answer: Server-side tracking cost has three parts: hosting for the GTM server container, the setup work, and ongoing maintenance. Hosting depends mainly on request volume, so Stape plans scale by monthly requests and Google Cloud Run by running instances. Shopify apps charge their own subscriptions. Setup and maintenance usually cost more than hosting.

Server-side tracking cost in India: Stape vs Google Cloud Run vs Shopify apps, cover

When I recommend server-side tracking, the next question is always cost. It is a fair question, and the honest answer is that hosting is usually the smallest part. The bigger costs are building it correctly and keeping it correct as your site, checkout and ad platforms change. This article breaks down the cost drivers, compares the three routes Indian brands usually consider, Stape, self-hosting on Google Cloud Run, and Shopify tracking apps, and quotes prices only where the vendor publishes them. Platforms bill in US dollars, so your rupee cost moves with the exchange rate and taxes.

The three cost buckets

Server-side tracking cost splits into hosting, setup and maintenance. Hosting is the infrastructure that runs your server-side GTM container or equivalent: it receives events from the browser and from systems like Shopify or your CRM, processes them, and forwards them to GA4, Meta, Google Ads and others. Setup is the work of designing the event plan, configuring web and server containers, connecting Meta Conversions API and Google's endpoints, building deduplication, setting up a first-party subdomain, and testing every conversion path. Maintenance is everything after launch: fixing breakages when a theme update, checkout change or new app interferes, adding new events, updating to platform changes, and monitoring match quality and event volumes. When founders compare quotes, they often compare hosting costs and ignore the other two. In my experience, a cheap host with a careless setup costs more over a year than a pricier host with a solid build, because the cost of bad data shows up in ad spend.

What drives hosting cost

Hosting cost is mostly driven by request volume: how many hits reach the server container each month. Every page view, add to cart, purchase and server-to-server event is a request, and a busy store with many tracked events per session generates far more requests than its order count suggests. Other drivers are the number of destinations, since each tag the server fires uses compute, any processing you add such as data enrichment or lookups, logging and storage if you retain request logs, and redundancy, because running more than one server instance protects you from outages. A brand with modest traffic and a few events can run cheaply. A high-traffic D2C store sending detailed ecommerce events to several platforms will need a bigger plan or more instances. The first sizing step is to estimate monthly requests, which you can approximate from GA4 event counts for the events you plan to route server-side.

Stape: managed hosting priced by requests

Stape is a managed host for server-side GTM that handles provisioning, scaling and a custom domain for you. Its pricing page, when I checked it for this article, listed a free plan capped at 10,000 requests a month, a Pro plan at 17 US dollars a month for 500,000 requests, a Business plan at 83 US dollars a month for 5 million requests, and an Enterprise plan at 167 US dollars a month for 20 million requests, with a discount for yearly billing and custom plans above that. Check the page for current figures before you budget, because pricing changes. The appeal is simplicity: no cloud account to manage, built-in features such as custom loaders and logs depending on plan, and predictable billing tied to volume. The trade-off is that you are relying on a third party for infrastructure and paying for request tiers rather than raw compute. For most small and mid-sized Indian brands without an in-house engineering team, I find this the most practical starting point.

Google Cloud Run: self-hosting

The alternative is to host the server container yourself on Google Cloud, which Google's own server-side tagging documentation covers with Cloud Run. That guide recommends running a minimum of two instances to reduce the risk of data loss during an outage, and estimates that each server costs approximately 45 US dollars a month in the configuration it describes, with one vCPU, 0.5 GB of memory and CPU always allocated. It also notes that autoscaling between two and ten servers is expected to handle roughly 35 to 350 requests per second, depending on the number and complexity of tags. So a production setup following Google's recommendation starts at around two servers' worth of cost before any scaling, plus logging and egress if you keep heavy logs. Self-hosting gives you full control, data in your own cloud project and region, and billing on your existing Google Cloud account. It also means someone on your side has to manage updates, monitoring and scaling, which is cheap only if you already have that skill in house.

Shopify apps: convenience with limits

For Shopify stores, a third route is an app that sends server-side events to Meta, Google and others without a GTM server container. Shopify's own Facebook and Google channels include server-side sending for their platforms, and several third-party apps offer broader server-side tracking. Pricing for third-party apps is set by each vendor and typically tiers by order volume, so check the app listing for current plans. The advantage is speed: install, connect accounts, and you have server events for common ecommerce actions. The limits are flexibility and visibility. You get the events the app supports, in the format it chooses, and debugging means working through the app's support rather than your own container. If you need custom events, CRM-driven conversions such as confirmed COD orders, or data from a third-party checkout, an app may not cover it. I often see brands start with an app and move to server-side GTM once their needs outgrow it.

How I advise clients to choose

My rule of thumb is to match the route to who will maintain it. If you are a Shopify store with standard events and no technical team, a reputable app or Shopify's native channels may be enough, and you should spend effort on making sure the events are deduplicated and complete. If you need custom logic, multiple data sources such as a CRM, third-party checkout or WhatsApp, or you run significant spend where match quality matters, use server-side GTM. For most Indian brands in that position, Stape is the practical host. Self-hosting on Cloud Run makes sense when you have engineering support, want data in your own cloud project, or have volume where request-tier pricing becomes less efficient than compute pricing. Whatever you choose, budget for setup and ongoing maintenance as real line items. A server-side setup that nobody owns will degrade quietly, and you will discover it only when platform numbers drift away from your orders.

FAQ

Hosting is billed in US dollars by most providers. Stape's pricing page lists a free tier and paid plans tiered by monthly requests, and Google's Cloud Run guide estimates about 45 US dollars per server per month with two servers recommended for production. Setup and maintenance are separate and usually the larger cost.

For low and moderate volumes, Stape's published request-tier plans usually cost less than running the two Cloud Run instances Google recommends, and need less management. At high volume, or if you already run Google Cloud, self-hosting can make sense. Compare against your actual monthly request count.

Yes, for standard ecommerce events. Apps are quicker to set up but less flexible. If you need CRM-based conversions, COD confirmation logic or data from a third-party checkout, server-side GTM gives you control that most apps do not.

Read this article on your favourite platform

Ready to build the system?

If this describes your funnel, a 30-minute call will find where the constraint sits in your own numbers and what it would take to fix it.

It starts with a 30-minute call. Pick a time below.

Choose a time

Prefer email?