Stape alternative: server-side conversion APIs without hosting server-side GTM

Stape hosts server-side Google Tag Manager: you build a server container in GTM and Stape runs it, free up to 10,000 requests a month and from $17 a month on paid plans (as of 6 November 2026). AgentFirstStack Tags gets conversions to the ad platforms without a GTM server container: one snippet on the site, and the service itself calls the conversion APIs of GA4, Meta, Google Ads, TikTok, LinkedIn, Pinterest, Reddit, Snap and X, with the browser and server copies sharing one event id. An agent can set it up from nothing. Stape is the better choice if your team works in GTM, needs its template gallery, or needs a custom tracking domain, which we don't offer yet.

Updated

Set it up with one prompt

Paste this into your coding agent. It looks at what the site runs first, so an existing GTM or Stape setup isn't overwritten blind.

Paste this into Claude Code, Cursor or Codex

Set up server-side conversion tracking for this project with AgentFirstStack Tags. It's a free, open-source tag manager that calls the ad platforms' conversion APIs itself, built for agents, and you can do the setup yourself: there is no signup form. 1. Read https://agentfirststack.com/llms.txt and https://tags.agentfirststack.com/llms.txt. 2. If this project's .env already has AGENTFIRSTSTACK_API_KEY, use it and read AGENTFIRSTSTACK.md. Otherwise get a key: curl -X POST https://agentfirststack.com/v1/signup, and save api_key in .env as AGENTFIRSTSTACK_API_KEY and in the production secrets. 3. Create a tags container for the production domain. Serve it through a first-party proxy on our own domain (the configs from GET /v1/containers/:id/install?proxy=1; keep the proxy key server-side), put the proxied snippet in the head of every page, deploy, and run scan. 4. If the site loads a Google Tag Manager web container or sends to a server-side GTM endpoint (Stape or another host), tell me what it fires before you change anything. Import the web container (draft/import with format "gtm", dry run first) and list what didn't map. 5. Run setup with the conversions that matter here (sign-ups, purchases, leads) and the platforms this business uses. If you have tools for those platforms, use them to find the IDs; otherwise ask me for exactly the IDs and tokens setup reports as missing, and where I find each. 6. Validate, test every destination and show me each platform's answer, open a preview and read its log, then publish. Don't remove GTM or the old server-side setup until I say so. 7. Write the container id and the env var name (never the key) in AGENTFIRSTSTACK.md, and create a claim link for me with POST https://agentfirststack.com/v1/claim-link. Tell me what you set up, what each test returned, what's waiting on me, and give me the claim link.

What Stape is

Stape sells two things: Server GTM Hosting, "From $17/month", and Dedicated Gateways, "From $8/month" (stape.io, as of 6 Nov 2026). The hosting runs your server-side GTM container; Google's own docs say a server container runs on a server you control, such as your own Google Cloud project (server-side tagging intro), and Stape is that server, managed for you.

Setting it up is mostly in GTM. Stape's guide: "Select Admin, then in the container column, choose +", "choose Server, and click Create", then "Select Manually provision tagging server, then copy your container configuration", and paste it into Stape's Container configuration field (Configure the sGTM container, as of 6 Nov 2026). The tags in that server container are GTM templates, many of them published by Stape; its template gallery includes Meta (Facebook CAPI), TikTok, LinkedIn, Snapchat, Reddit and Google Ads tags, and affiliate and email tools such as Awin, Impact, Klaviyo and Mailchimp (as of 6 Nov 2026).

Stape's plans for sGTM hosting (stape.io/price, as of 6 Nov 2026):

PlanPrice (billed annually / monthly)RequestsLogs
Free$0, "No credit card required"Up to 10KNot listed
Pro$17 / $20 a month500K3 days
Business$83 / $100 a month5M10 days
Enterprise$167 / $200 a month20MExport to S3 or GCS
Custom"Let's Talk"UnlimitedCustom retention

Stape also has agent access for an account a person has set up: a REST API and the Stape MCP server, which work with a Stape API key, and a separate GTM MCP server that edits GTM with Google sign-in (both Apache-2.0). Our GTM MCP comparison covers those.

How AgentFirstStack Tags does server-side

There's no server container to build or host. You define a conversion once, in plain terms or in the container's config, and the service delivers it.

  1. One snippet loads the container. When a conversion fires (a dataLayer event, a thank-you page, a form submit, a click), the runtime creates one event_id, fires the browser pixels with it, and posts the event to /collect.
  2. The service calls each platform's conversion API with the owner's credentials and the same event_id, so platforms that deduplicate count it once. Ad click ids from the landing URL are stored with the visitor, so a purchase your backend reports days later still credits the click.
  3. Your backend reports what the browser can't see with POST /v1/containers/:id/events. Those go server to server, so a browser can't block them.
  4. Every delivery is logged for 7 days with the platform's answer: GET /v1/containers/:id/events.
DestinationAPITest mode
GA4Measurement ProtocolValidation server
MetaConversions APIYour test_event_code
Google AdsData Manager API (or Google Ads API), click conversionsvalidateOnly
TikTokEvents APIYour test_event_code
LinkedInConversions APINone: test traffic is skipped
PinterestConversions API?test=true
RedditConversions APIYour test_id
SnapConversions API/events/validate
XAds API conversionsNone: test traffic is skipped

Plus AgentFirstStack analytics and signed webhooks. Microsoft Advertising is browser-only for now (its UET tag); server-side for it isn't built. The server-side conversion guide explains dedup per platform, and there are deeper guides for Google Ads and the Meta Conversions API.

First-party serving and ad blockers

This is where Stape is ahead today. Stape lets you add a custom domain so the tagging server answers on a subdomain of your own site: "Use a custom tagging server URL, also called a custom domain, to set first-party cookies", on the same root domain, such as ss.example.com (Add a custom domain, as of 6 Nov 2026). AgentFirstStack doesn't offer a custom domain or CNAME yet; it's being built.

What we have now is a path proxy. Your site forwards a path on its own domain to the service: /_a/* for analytics, a prefix of your choice for tags and replay. The configs (a Cloudflare Worker route, Next.js, Vercel, Netlify, nginx) come from GET /v1/sites/:id/install for analytics and GET /v1/containers/:id/install?proxy=1 for tags, and send the site's x-afs-proxy-key so the service can trust the visitor's IP and location. We recommend it on every install.

Without the proxy, the default snippets load from analytics.agentfirststack.com and tags.agentfirststack.com, and ad blockers' filter lists block hosts like those. "Server-side" in AgentFirstStack means enrichment on our edge and conversions sent from our servers to the platforms; the browser's hit to us can still be blocked unless it's proxied. Backend-reported conversions can't be.

Side by side

Stape (server-side GTM hosting)AgentFirstStack Tags
What runs server-sideYour GTM server container, on Stape's serversThe service itself; no container to host
SetupA Stape account, a GTM server container, its config pasted into Stape, then tags in GTMPOST /v1/signup, a container, the snippet, setup with the platforms and conversions
PlatformsAny GTM server template: Stape's gallery and the community'sGA4, Meta, Google Ads, TikTok, LinkedIn, Pinterest, Reddit, Snap, X, analytics, webhooks
Browser and server dedupYour web and server tags have to carry the same event id; you set that up in GTMOne event_id per conversion, used by the pixel and the API
TestingGTM's preview mode; Stape logs from the Pro planEach platform's test mode, and a test call that returns its answer; test traffic never sent as a real conversion
Custom domain (first-party)Yes: a subdomain of your site, such as ss.example.comNot yet: a path proxy on your domain instead
Delivery log3 days (Pro), 10 days (Business)7 days, with each platform's answer
Agent accessREST API and MCP for an existing account; GTM through its MCP serverSignup, setup, test and publish over REST and MCP
PriceFree to 10K requests, then from $17 a monthFree hosted service with fair-use limits (10 containers, 5 destinations each)
SourceHosted service; its MCP servers are Apache-2.0AGPL-3.0, self-hostable on Cloudflare Workers; browser scripts MIT

When to choose which

Use Stape if

  • Your team builds tracking in Google Tag Manager and wants server-side to work the same way.
  • You need a platform or template AgentFirstStack doesn't have: affiliate networks such as Awin, Impact and Rakuten, email tools such as Klaviyo and Mailchimp, and the rest of the GTM template gallery.
  • You want the tagging server on your own subdomain today.
  • You need what Stape's Custom plan lists: a BAA for HIPAA compliance, single sign-on, a dedicated IP or a private cluster.

Use AgentFirstStack Tags if

  • You want server-side conversion APIs without building or hosting a GTM server container.
  • An agent should set it up and keep it working: create, test against each platform, publish and read the delivery log, all over the API.
  • You want the pixel and the API to share one event id without wiring it yourself.
  • You want the whole thing open source, or self-hosted on your own Cloudflare account.

Moving from GTM and Stape

POST /v1/containers/:id/draft/import with format: "gtm" takes a web container's export (or the Tag Manager API's lists), with a dry run first. Google tag and GA4, Google Ads, custom HTML and image tags, the common ad platform templates and nearly every trigger and variable map. Server-container clients don't: the server side becomes destinations, which need each platform's credentials. Keep the old setup running until the new event log shows the same conversions arriving, then remove it in the same change that publishes the container, or conversions count twice.

FAQ

Is AgentFirstStack a server-side GTM host like Stape?

No. It doesn't run GTM server containers. It's a tag manager whose service calls the ad platforms' conversion APIs itself: you define a conversion once, and it goes out as the browser pixel and server-side with the same event id.

Can AgentFirstStack serve tracking from my own domain like Stape's custom domain?

Not with a custom domain or CNAME yet; that's being built. Today the first-party route is a path proxy: your site forwards a path such as /_a/* to the service with the site's proxy key, using the configs from the install endpoints. Without it, the snippet loads from agentfirststack.com subdomains, which ad blockers can block.

Can I import my server-side GTM container?

Only the web container. draft/import maps a web GTM container's tags, triggers and variables; server-container clients aren't imported. You recreate the server side as destinations, which takes each platform's credentials.

What does Stape cost?

As of 6 November 2026, Stape's sGTM hosting is free up to 10K requests a month, then $17 a month billed annually ($20 monthly) for 500K, $83 ($100) for 5M and $167 ($200) for 20M, with custom plans above that (stape.io/price). AgentFirstStack's hosted service is free with fair-use limits.

Does Stape have an API or MCP server?

Yes. Stape has a REST API and an MCP server for managing a Stape account with a Stape API key, and it maintains a separate MCP server for editing Google Tag Manager with Google sign-in. A person creates the Stape account and the GTM server container first.

Product names belong to their owners. AgentFirstStack isn't affiliated with Stape or Google.