Meta CAPI Purchase Events Missing: How to Trace the Server-Side Event Flow
When CAPI Purchase events are missing, the server never tells Meta about the sale. The break is in the server-side flow that generates and sends the Purchase event. Because the failure is silent in the browser, you have to trace the flow from the order to Meta to find where the Purchase data disappears.
Table of Contents
- 01.The server-side Purchase flow
- 02.What to check first
- 03.Is the server event being generated
- 04.Order data in the payload
- 05.The CAPI request and response
- 06.Deduplication and the event ID
- 07.How to test it
The server-side Purchase flow
A CAPI Purchase event follows a specific path. The purchase happens on your ecommerce platform, the platform or your server generates a server event, the server sends a CAPI request to Meta and Meta receives it. If any step fails, the Purchase data never reaches Meta even though the order completed.
| Step | What must happen | Where it can fail |
|---|---|---|
| 1. Purchase | Order completes on the platform | Order fails or is not finalized |
| 2. Ecommerce platform | Platform triggers server logic | Webhook does not fire |
| 3. Server event | Server builds the Purchase payload | Missing value or user data |
| 4. CAPI request | Server sends the event to Meta | Auth failure, wrong dataset |
| 5. Meta | Meta receives and processes the event | Payload rejected |
What to check first
- Confirm the order actually completed and triggered the server logic.
- Check whether the webhook or server function fired for the order.
- Confirm the Purchase payload includes value, currency and event ID.
- Check the server response from the CAPI request for errors.
- Confirm the event is sent to the correct dataset.
Is the server event being generated
The first question is whether the purchase triggers your server logic at all. Most setups rely on a webhook from the ecommerce platform that fires when an order completes. If the webhook does not fire, is delayed or is sent to the wrong endpoint, no server event is generated. Confirm the webhook fires for a test order and reaches your server.
Order data in the payload
The Purchase payload needs the order data, including value, currency and an event ID. If the order data is not available when the server builds the payload, the event is sent with missing or zero value. Confirm the webhook or server function receives the full order data and that the payload includes it. A Purchase event with no value is far less useful to Meta.
The CAPI request and response
Once the payload is built, the server sends the CAPI request. Check the response from Meta. An auth failure, a wrong dataset or a rejected payload will show in the response. Log the response for your CAPI requests so you can see whether Meta accepted the event. A request that returns an error is not reaching Meta, even if your server logic thinks it succeeded.
Deduplication and the event ID
If you also send Purchase through the Pixel, the CAPI Purchase needs an event ID that matches the browser event for deduplication. A missing or mismatched event ID can cause the server Purchase to be counted separately or to fail to deduplicate. The guide on Meta CAPI event ID missing covers event ID generation in detail.
How to test it
- 1.Place a test order and confirm it completes on the platform.
- 2.Confirm the webhook or server function fires for that order.
- 3.Log the Purchase payload and confirm value, currency and event ID are present.
- 4.Log the CAPI response and confirm Meta accepted the event.
- 5.Confirm the Purchase appears in Test Events for the correct dataset.
Frequently Asked Questions
Why are my CAPI Purchase events missing but browser Purchase works?
The browser event fires from the confirmation page, but the CAPI event depends on server logic triggered by the order. If the webhook does not fire or the server payload is incomplete, the CAPI Purchase never reaches Meta even though the browser event does.
How do I know if Meta accepted my CAPI Purchase?
Inspect the server response from the CAPI request. The response tells you whether Meta accepted the event and can flag payload problems. Log it for every request so you can diagnose failures.
Need help applying this to your business?

PPC, Conversion Tracking, CRM and Automation Specialist. Helping businesses generate qualified leads with Google Ads, accurate tracking and automated follow-up.
Related Guides
Meta CAPI Events Not Showing in Events Manager: A Troubleshooting Guide
CAPI failures are silent in the browser. Log the server response, confirm the authentication and dataset are correct and verify the required payload fields to find where the server event stops.
Meta Purchase Event Not Firing After an Order: What to Check
A missing Purchase event is usually a trigger pointing at the wrong page or purchase data that is not available when the tag fires. Complete a test order and check the confirmation page first.
Meta CAPI Sending Duplicate Purchase Events: Common Causes and Fixes
Duplicate CAPI Purchase events come from repeated server requests or multiple integrations. Use a unique event ID like the order ID and make sure only one path sends Purchase per order.