Server-side GTM or Basketly: when to pick which
Server-side GTM is your own tag server: events from the site land on it and it forwards them to Meta, Google and others. That is a lot of control and a lot of scope. Basketly does a narrower thing: it takes the purchase from the shop order and delivers it to the platforms, with no server on your side.
The demo has sample data; the login comes to your e-mail.
| Basketly | Server-side GTM | |
|---|---|---|
| What it is | An app for the shop: purchases from orders to ad platforms, feeds, a sales report | A tag server: events from the site land on it and are forwarded by tags |
| Where the purchase comes from | The shop order: the shop API and webhooks | Events the site or a system sends to the container |
| What you stand up | Nothing: a shop API user and a Meta sign-in | A server (for example Cloud Run), a container, clients and tags; optionally a custom domain |
| Who maintains it | Everything runs in the app | You or your agency: the server, the setup and the cloud bill |
| Infrastructure cost | Included in the plan | Per Google about USD 45 a month per server on Cloud Run, at least 2 instances recommended |
| Scope | Purchases to Meta, GA4, TikTok, Pinterest, ChatGPT Ads, Klaviyo, Google Ads, Microsoft Ads | Any tags you set up, including events of the whole funnel |
| A view of “did the purchase arrive” | Purchase balance day by day, a self-check, a test event | The container’s and the platforms’ own tools |
| Price from | Free up to 100 orders; Start USD 39 a month up to 1,000 orders | The GTM software itself: Google’s page gives no price; you pay for the server, e.g. about USD 45 a month for one on Cloud Run |
What a server container gives
A container is one place from which you send events to many tools, with full control over what goes where. If you want to send the whole funnel (product view, cart, forms), it is the right road. The price of that control is a server, its bill, tag configuration and someone to keep it running when something breaks.
What you get with Basketly
- The purchase from the shop order, so it does not depend on the browser, consent or whether the buyer came back to the site.
- No server to stand up or maintain.
- A fixed event id and a durable queue with retries.
- Purchase balance and a self-check: you see whether the purchase reached each platform, and why not.
- A one-click test event.
How to work out what you need
- Write down which events you send from the container today: only the purchase, or also cart and views.
- If only the purchase, connect the shop to Basketly and send a test event.
- Turn the purchase off in the container so the same purchase does not arrive twice.
- If you send other events too, keep them in the container and move only the purchase.
When Basketly is the better pick
- You care about purchases and do not want to stand up or maintain a server.
- You have no developer or tag agency.
- You want to see day by day whether purchases reached the platforms, in the same app as your feed and sales report.
When server-side GTM is the better pick
- You want to send the whole funnel from the server, not only the purchase.
- You send events to many tools and have tags for each.
- You have someone to stand up and maintain the server, and the cloud cost suits you.
What Basketly does not do
- It does not send browser events such as a product view or cart.
- It is not a GTM container: you cannot add your own tags to it.
- Meta accepting a purchase does not prove a campaign optimises on it or that an ad gets the credit.
Sources
- Google: Server-side tagging (checked )
- Google: Set up a tagging server with Cloud Run (checked )
For purchases, yes. If the container also sends the whole funnel or events to other tools, you will still need it.
Google’s page gives no price for the software itself. You pay for the server: in the Cloud Run setup Google estimates about USD 45 a month per server and recommends at least 2 instances in production.
You can, but the same purchase then reaches Meta twice unless both use the same event id. The simplest setup turns the purchase off in the container.
Free up to 100 orders a month, Start USD 39 a month up to 1,000 orders. No separate server bill.
Nobody can honestly promise that. Both send server-side; the difference is where the purchase comes from and who maintains it. How many purchases Meta credits to ads depends on Meta and its attribution windows.
See also
- Basketly vs StapeStape (server-side GTM, CAPI Gateway) next to Basketly (purchases from shop orders): a table, Stape's prices from its own page with the date, when to pick which.Read
- Meta Conversions APIPaid shop orders sent to Meta from the server, through a queue that does not drop purchases, with a result for every delivery.Read
- Conversions API (CAPI)Sending events, such as purchases, to Meta from the shop’s server instead of the buyer’s browser.Read
- What Is the Meta Conversions API? How It Differs from the Pixel and What It Won't DoWhat the Meta Conversions API is, how it differs from the Pixel, which data it accepts, how deduplication works and what CAPI does not guarantee.Read
Get started in under 5 minutes
Connect your shop and Meta and see how many purchases really arrive.
- Free up to 100 orders a month
- No developer needed
- Purchase balance and self-check