Meta tracking
Meta CAPI Gateway: how it works, what it costs and how to set it up
Meta's Conversions API Gateway copies your Pixel's browser events to the Conversions API from a server you or a hosting partner run. This guide covers how it works, what it costs, how setup goes and what it can't send.

The CAPI Gateway, which Meta calls the Conversions API Gateway (you'll also see Facebook Conversions API Gateway), is a server that sits next to your Meta Pixel. The Pixel sends each browser event to Meta as usual and also to the gateway. The gateway then forwards a copy through the Conversions API. You run it in your own cloud account, or a hosting partner runs it for you.
The short version
- The gateway copies your Pixel's browser events to the Conversions API from a server.
- It runs on AWS or Google Cloud in your own account, or with a hosting partner. Meta doesn't charge for it; you pay the cloud bill or the partner.
- If the Pixel never fires an event, the gateway has nothing to copy. That's the gap to check first.
What is the Meta CAPI Gateway?
Meta describes the Conversions API Gateway as "a self-serve configuration option in Events Manager." (Meta's overview) In practice, it's a server application you deploy once. After that:
- Your Meta Pixel is set up with the gateway's address. Meta says the Pixel "will also send events to the Gateway by the pixel script."
- The browser event still goes to Meta through the Pixel.
- The gateway forwards a copy of that event to the Conversions API.
- Meta says the event_id used to match the two copies "is automatically generated and propagated," so Meta can count them as one action.
The gateway has its own admin page, where you connect Pixels and see event volume from the Pixel and from the gateway. Meta says one gateway can serve several domains and several Pixels, and that it updates itself "with host admin consent" when new features ship. Meta also says marketers with some technical know-how can set it up "with minimal support from their IT or developer teams."
Still deciding whether you need server events at all? Start with Conversions API vs Meta Pixel.
Where does the Conversions API Gateway run?
Not on Meta's servers. During setup, Meta says "you'll be given the option to either use your own cloud account, or to have your account hosted by a partner service." (Meta, ECS Express)
In your own cloud account. Meta lists three options: AWS EKS, AWS ECS Express or Google Cloud (GCP). To host it yourself, Meta's prerequisites ask for:
- admin access to a cloud provider account, such as AWS or GCP
- admin access to the Meta Pixel
- access to your DNS provider, if you add a custom domain (optional, but Meta recommends it)
Meta calls whoever runs the instance the host: "The agency, partner, reseller, or advertiser that creates and manages the Gateway Products instance." The host looks after "cloud service account management and billing." (Meta, host management)
With a hosting partner. A partner runs the instance and bills you for it. Stape is one example. It sells Meta CAPI Gateway hosting per Pixel.
What does a CAPI Gateway cost?
Meta doesn't charge for the gateway software. Its overview says: "The only cost of the Conversions API Gateway is the associated cloud resource or partner fees."
How you run it | What you pay | Source |
|---|---|---|
Your own AWS or GCP account | Your cloud provider's bill. Meta's gateway pages don't give a dollar estimate. Meta says the ECS Express option "can offer a lower fixed monthly cost," and the gateway's admin page has a cost screen where you can set a budget and alerts. | |
Hosted by Stape | $10 a month per Pixel billed monthly, or $8 a month per Pixel billed yearly. Up to 10 million events a month per Pixel, with a 7-day free trial. Stape's Unlimited plan is $100 a month ($83 billed yearly) for up to 100 Pixels. |
Prices in USD as listed, checked October 20, 2026.
How do you set up the Conversions API Gateway?
Meta's setup guide walks through hosting it yourself on AWS. At a high level:
- In Events Manager, open your dataset's Settings tab. Under "Set up with Conversions API Gateway", select Get started and review the prerequisites.
- Choose your preferences. Meta offers an option to enhance events and an option to share health monitoring data with Meta.
- Pick a cloud setup and a hosting region. Meta says you can only set up the gateway in one region.
- Open AWS, or copy the link and send it to your AWS admin. Review the prefilled stack and create it. Meta says not to change the ProvisioningData field.
- When the stack is ready, copy the CapigSetupURL from the Outputs tab. Open it and create the admin account for the gateway.
- Refresh your website so it sends events, then check that data shows up. Once it works, the gateway appears in your Pixel settings.
- Recommended: add a custom domain through AWS Certificate Manager or Cloudflare. You'll need access to your DNS.
If you go with a hosting partner, you pick the partner during setup and follow its steps instead. For errors after setup, Meta has a troubleshooting guide.
To confirm the result, look for the browser and server copies of the same event in Meta's Test Events. Our free Chrome extension can also show, per event, whether Meta is receiving it from the website or the server.
What does a CAPI Gateway send by default?
By default, a gateway is a mirror of your Pixel. Meta's data source page says "Meta Pixels can only be connected to Conversions API Gateway data pipelines," and the gateway gets those events from the Pixel script in the browser. So each server copy is only as good as the browser event behind it. If the Pixel fires Purchase at the wrong moment, the gateway forwards that same Purchase.
Now take a paid order that never fired in the browser. A customer pays through Stripe Checkout and closes the tab before your thank-you page loads. Stripe has the payment, and your backend gets Stripe's webhook. But your Pixel's Purchase event sits on the thank-you page, so it never ran. The gateway never got anything to copy.
Say Stripe shows 81 paid orders for the week and Meta shows 53. If the missing orders are ones the Pixel never fired for, a mirror of the Pixel can't close that gap on its own.
Meta does document two ways to get events into the gateway that the Pixel didn't send:
- Send them from a server. "From v1.6.0 onwards," Meta says, the gateway has an API endpoint for non-web events, such as offline, app or CRM events. You POST them to your gateway instance. (Meta)
- Upload them. You can upload CSV files by hand, or have the gateway pick them up from an Amazon S3 or Google Cloud Storage bucket. Meta says this captures events "that were not automatically sent through the Meta Pixel," including website, offline, app and CRM events. (Meta)
Both mean someone builds and maintains the sending side: code in your backend that posts the event, or a job that writes the files. If the browser also reports the same action, both copies need the same event name and event ID. Meta drops the later copy when that pair matches on the same Pixel within 48 hours (Meta's deduplication guide). Our deduplication doc shows how to pick an ID that holds up on retries.
What if the conversion is confirmed in your backend?
A gateway mirrors what your Pixel already sends. When the conversion is confirmed in your backend, like a Stripe webhook for a paid order or a lead your app saved, you can send the server event from that confirmation, whether or not the browser fired. That needs a backend you can edit.
That's where Tyton fits. Tyton sets up the Meta Pixel and the Conversions API, and runs the hosted server that sends your server events to Meta. Your AI agent (Claude, ChatGPT, Codex or Cursor) connects to Tyton over MCP and adds the tracking in your own code, at the point where each action really succeeds. For a Purchase, that's the server code that confirms the payment. The browser copy shares its event ID, so Meta can match the two.
Worth knowing if you're comparing:
- You approve the tracking plan before anything goes live. Tests run in verification mode, which doesn't send anything to Meta.
- There's no gateway instance or cloud account to run. Tyton hosts delivery and shows each event's status on a live event dashboard: accepted, sent to Meta, retrying or rejected.
- Server events need a backend you can edit. On a site builder with no backend, Tyton adds browser tracking only.
- The Free plan covers 1 site and 10,000 events a month, with 7 days of event history and no card. A browser event and its server copy count as 2. Starter is $17 a month for 100,000 events. Pro is $49 a month for up to 3 sites, 500,000 events and 30 days of history. Yearly billing is 20% off. See pricing.
Not sure what your site sends today? The free audit checks your current Meta tracking without an account. For the browser side, see how to set up the Meta Pixel and the Conversions API.
FAQ
Is the Meta Conversions API Gateway free?
Meta doesn't charge for the gateway software. It says the only cost is "the associated cloud resource or partner fees." You pay your cloud provider if you host it, or the partner if someone hosts it for you.
Do I still need the Meta Pixel with a CAPI Gateway?
Yes. The gateway gets its events from the Pixel script in the browser, and Meta says Pixels are the data source for Conversions API Gateway pipelines. Without a working Pixel, there's nothing to mirror.
Does the Conversions API Gateway deduplicate events?
For events it mirrors from the Pixel, Meta says the event_id key "is automatically generated and propagated." For events you send to the gateway yourself, give the browser and server copies the same event name and event ID, as Meta's deduplication guide describes.
Can the CAPI Gateway send events from my backend?
Meta documents a server endpoint on the gateway, from version 1.6.0, for non-web events such as offline, app or CRM events. It also supports CSV uploads for events the Pixel didn't send. You write and maintain the code or files that feed it.
Which cloud providers does the Conversions API Gateway support?
Meta lists AWS EKS, AWS ECS Express and Google Cloud. You can also have a hosting partner run it for you.