The Meta Conversions API Gateway (CAPIG) is Meta's no-code server application that runs in a cloud account, copies the events your Meta Pixel fires in the browser and forwards them to Meta through the Conversions API. It gives you a server-side copy of what the Pixel already sees, not data the Pixel never captured.
This guide covers how it works, hosting, setup, cost, deduplication, limits and alternatives. For background on why server events matter, start with our guide to Meta CAPI and first-party data.
What is the Conversions API Gateway?
Meta describes the Conversions API Gateway as "a self-serve configuration option in Events Manager" for sending events through both the Meta Pixel and the Conversions API "without dedicated developer resources" (Meta's Conversions API Gateway overview). Sending the same events through both channels is what Meta calls a redundant setup, the approach it recommends in its guide to handling duplicate events.
It's aimed at advertisers who want server events without building a direct API integration. A sibling product, Signals Gateway, handles pipelines with several sources and destinations (Meta's Gateway Products overview). Our pillar has a short summary of where the Gateway fits.
How does the Conversions API Gateway work?
Meta's overview describes three parts:
- The Pixel fires in the browser. Once connected, the Pixel script sends each event to Meta and to your Gateway endpoint over HTTPS.
- The Gateway converts and forwards. A middleware module turns those browser events into Conversions API events and sends them to Meta server to server.
- An admin portal reports. A web UI at
/hub/capigon your Gateway domain shows connected Pixels, event volume from both channels and the Conversions API success rate.
The Pixel reaches the Gateway on a subdomain of your site. Meta's Gateway troubleshooting guide gives the example of a Pixel on advertiser.com calling gateway.advertiser.com through a CNAME record, so the request is first-party. One instance can serve several domains and Pixels.
Where is the Gateway hosted?
Meta's overview lists three cloud setups (AWS EKS, AWS ECS Express and Google Cloud) and says the Gateway is "provisioned within a cloud provider's account owned by the business." Meta's ECS Express page adds that during setup you can use your own cloud account or have it hosted by a partner service.
The partner-hosted model runs through a "host": "The agency, partner, reseller, or advertiser that creates and manages the Gateway Products instance" (Meta's account onboarding guide). The host runs the instance and the cloud billing and sets the terms; advertisers connect as managed or unmanaged accounts. That's the multi-tenant option: one instance, many advertisers.
How does CAPIG handle deduplication?
Meta's overview says the Gateway automatically generates and propagates an event_id. Per Meta's deduplication guide, when a Pixel event's eventID and event name match a server event's event_id and event_name for the same Pixel, Meta keeps one, provided they arrive within 48 hours of the first event with that ID.
That works inside one Pixel-and-Gateway pair, not when a second server-side sender joins. In the Shopify accounts we audit, each tool generates its own event IDs, so Meta deduplicates well within one source and poorly across sources. Meta's fallback (matching on fbp or external_id) won't catch it either: Meta says it doesn't discard two consecutive server events with the same information. Our guide to duplicate Meta events on Shopify covers the fixes.
How do you set up the Conversions API Gateway?
You need admin access to a cloud provider account and to the Meta Pixel (Meta's prerequisites). Meta's setup guide then runs:
- In Events Manager, open Settings and click Get started under "Set up with Conversions API Gateway."
- Choose optional settings: enhanced events and health monitoring.
- Pick a cloud setup and a single hosting region.
- Deploy. On AWS, a prefilled CloudFormation stack takes about 30 to 40 minutes. Meta says a GCP install usually takes under 10 minutes, and ECS Express about 25.
- Open the admin UI from the
CapigSetupURLoutput and create an admin account. Data can take 5 minutes to 2 hours to appear. - Add a custom domain, which Meta says "may help optimize data routing and may reduce costs." You'll need DNS access.
How much does the Conversions API Gateway cost?
Meta's documentation lists no Meta fee: "The only cost of the Conversions API Gateway is the associated cloud resource or partner fees." So the bill depends on hosting:
- Your own cloud account: you pay AWS or Google. Meta publishes no typical monthly figure, but says ECS Express "can offer a lower fixed monthly cost," and notes a $300 Google Cloud credit, valid up to 90 days, for Gateway users in listed regions (Meta's GCP host onboarding guide).
- Partner-hosted: the host sets the price and terms.
- Your time: Meta's post-setup guide makes self-hosting advertisers responsible for the cloud provider's hardware and operating system maintenance, even though software updates install automatically by default.
For ECS Express, Meta's cost monitoring page describes a budget limit with up to two alert thresholds. Set them on day one.
What are the limitations of the Conversions API Gateway?
The Gateway changes how Pixel events reach Meta, not what the Pixel captures.
- It only forwards what the Pixel sends. If an ad blocker stops the Pixel (Shopify's data sharing documentation notes they can) or the script never loads, there's nothing to forward.
- It doesn't add identifiers the browser never saw. Enhanced events can store and resend user data the Pixel already has, such as email, name, phone and zip code, "if available" (Meta's enhance events page). It can't attach backend-only data like new-customer status, margin or subscription state.
- It can't recover purchases the Pixel missed. There's no order feed. Meta documents a file upload feature (CSV or a storage bucket), but you export, format and deliver that data yourself.
- The install method matters. Meta's troubleshooting guide recommends the Pixel base code sit directly in your site's
<head>and says events built with the Event Setup Tool aren't supported. Shopify loads app and custom pixels, including at checkout, inside a sandbox (Shopify's pixels overview), so test purchase events there first. - It's Meta-only. A CAPIG pipeline accepts only a Meta Pixel as source and the Conversions API as destination (Meta's pipeline docs).
Why can a forgotten Gateway create duplicate events?
A Gateway keeps relaying until someone disconnects it. In the Shopify accounts we audit, a Gateway left connected after a tool switch keeps sending server events alongside the new setup. In one audit, Events Manager showed far more server PageView events than the new tool had sent, traced to a Gateway connection nobody remembered. With different event IDs on each stream, Meta had no shared key to merge them.
Our rule is one server-side sender per Pixel. When you switch tools:
- Disconnect the Pixel in Events Manager. Meta's uninstall guide goes from Data Sources to Settings, Conversions API and See Details, then Disconnect in the Partner Integrations settings.
- Delete the cloud resources. On AWS, that's the CloudFormation stack and the
conversions-api-gatewaylog group, which also ends the hosting bill. - Watch the numbers. Server volume per event should drop to a single sender's level.
Our Shopify tracking setup guide has a launch checklist for verifying the new setup end to end.
CAPIG vs direct Conversions API vs server-side GTM: which should you use?
All four send server events to Meta. They differ in where the data comes from and who maintains it.
| Conversions API Gateway | Direct Conversions API | Server-side GTM | Managed server-side tracking (e.g. Upstack) | |
|---|---|---|---|---|
| Who sends server events | Meta's Gateway, relaying Pixel events | Your backend code | Your server container and tags | The vendor's servers |
| Data it can send | What the Pixel captured | Anything your systems know, including orders and CRM data | Whatever reaches the container | Varies; Upstack Signal sends purchases built from resolved order data, with restored click IDs, hashed email and phone and a stable external ID |
| Events the Pixel missed | No (manual uploads aside) | Yes | Only if they reach the container another way | Varies; Upstack builds purchases from resolved Shopify order data, so purchases the Pixel missed are still sent |
| Setup | No code; cloud account and DNS | Developer build and maintenance | GTM and cloud skills | Vendor-led |
| Cost | Cloud or partner fees | Engineering time plus infrastructure | Cloud hosting plus setup time | Subscription |
| Deduplication | Automatic event_id | You pass matching IDs from browser and server | You align IDs across web and server tags | Vendor-managed (Upstack uses a shared event ID) |
| Destinations | Meta only | Meta only | Many platforms | Varies |
Meta's end-to-end implementation guide notes a server integration can capture events the browser misses, such as phone calls. Google's server-side tagging overview says the container runs in your own cloud project, and its Cloud Run guide estimates about $45 a month per server, with at least two recommended.
Our view: CAPIG is a reasonable no-code start for a site with a working Pixel and no developer. If the Pixel misses conversions or carries thin customer data, a relay won't fix that, because the gaps travel with the events. Our server-side tracking guide walks through the trade-offs, and Upstack Signal is our managed option, restoring click IDs, hashed email and phone and a stable external ID, backed by 750M+ US device IDs.
How do you check if the Conversions API Gateway is working?
- Compare browser and server lines. In Events Manager, open your Pixel's dataset. Meta's Gateway monitoring guide says the green line (server events) should follow the blue line (browser events) closely.
- Check deduplication. Open an event's details and the Event Deduplication tab. Per Meta's setup verification guide, low key overlap means dedupe keys aren't unique or come from only one source.
- Check Event Match Quality. Meta's monitoring guide treats "Good" or "Great" as optimal.
- Compare Gateway totals. In the admin UI, "Total received" from the Pixel should match "Total sent" to the Conversions API.
- Confirm the browser call. In developer tools, look for a successful request to
https://<your Gateway domain>/events, and use the Meta Pixel Helper to confirm the Pixel fires on each page.
Frequently asked questions
Is CAPIG free?
Meta doesn't list a fee of its own for the Conversions API Gateway. Its documentation says the only cost is "the associated cloud resource or partner fees," so you pay AWS or Google Cloud to run it in your own account, or pay a partner that hosts it. Set a budget alert either way (Meta's Conversions API Gateway overview).
Does CAPIG replace the Pixel?
No. The Gateway depends on the Meta Pixel: the Pixel script sends each browser event to the Gateway, which converts it into a Conversions API event for Meta. Remove the Pixel and the Gateway has nothing to relay. Meta positions it as a redundant setup, with each event arriving through both channels and deduplicated on a shared event_id.
CAPIG vs Conversions API: what's the difference?
The Conversions API is Meta's endpoint for server events. The Conversions API Gateway is one way to feed it: Meta's software, running in a cloud account, that copies Pixel events and posts them to the API. A direct integration calls the same API from your own backend, which takes developer work but can send data the Pixel never sees, such as physical store sales or CRM events (Meta's end-to-end implementation guide).
Can I use CAPIG with Shopify?
You can, but check two things. Shopify's Facebook & Instagram app already uses the Conversions API at its Enhanced and Maximum data sharing levels, so a Gateway on the same Pixel adds a second server sender. And Meta recommends the Pixel base code sit in the page <head>, while Shopify loads checkout pixels in a sandbox. Our walkthrough of setting up the Conversions API on Shopify covers the native options.
Can I run CAPIG alongside another server-side tool?
We don't recommend it. Different tools generate their own event IDs, and in the accounts we audit, Meta deduplicates well within one source and poorly across sources, so two server senders on one Pixel tend to inflate counts. Keep one server-side sender per Pixel, and when you switch, disconnect the old Gateway and delete its cloud resources.
Key takeaways
- CAPIG is Meta's no-code relay: Pixel events in, Conversions API events out, hosted in your cloud account or by a partner.
- Meta lists no fee of its own; you pay cloud or partner costs.
- The Gateway generates its own
event_id, so deduplication works within its Pixel pair, not against other server senders. - It can't send what the Pixel never captured: blocked sessions, backend-only data or missed purchases.
- Run one server-side sender per Pixel, and fully remove old Gateways when you switch tools.
Not sure what's sending server events to your Pixel? Request a demo and we'll review your setup.