Why it happens
The events went to a different dataset. The reply from Meta only confirms that the request was well formed and accepted. It does not say the events landed in the pixel you are looking at. If your server sends to a different pixel or dataset ID, for example an old pixel, a test pixel or a client's second pixel, the answer is still "received". The events are real and sit in another dataset's Overview. A test event code does not hide events: Meta still processes them. If you see events under Test events but not in Overview, look at the time and the dataset. Remove the code from live traffic anyway.
The event time is wrong. Every event has a time, in seconds. Meta rejects a request in which any event is more than 7 days old and processes none of its events, so a stale batch answers with an error, not with events_received. What goes through silently is a wrong but valid time: the time of the request instead of the purchase, or the wrong day, so the event appears on a day you are not looking at. Reports can also lag, so a few hours of delay is normal.
One more thing to rule out is the filter on the screen itself. Events Manager shows one pixel and one date range at a time. If you look at a single day, a different ad account or only the Browser source, server events can sit just outside the view. Before you change any code, widen the date range and clear the source filter.
Check it yourself
- 1Find the pixel or dataset ID your server sends to. In Meta Events Manager > Data sources, open the pixel you are looking at and compare its ID with the one in your server settings. They must be identical.
- 2Look at one real request your server made. Check whether it includes a test event code. Events with a test code also appear under Events Manager > Data sources > your pixel > Test events, which shows them as they arrive. Remove the code from live traffic.
- 3In the same request, check the event time. It must be the time of the purchase, in seconds, GMT. A batch with an event older than 7 days is refused as a whole.
- 4Open Events Manager > Data sources > your pixel > Overview, set the date range to include today and yesterday, and look for Server in the source filter of the Purchase event. Reports can take a few hours to catch up.
- 5Open Events Manager > Data sources > your pixel > Diagnostics. Meta lists problems with events it received, such as missing parameters or a low match rate.
- 6Open Events Manager > Data sources > your pixel > Settings and check that the Conversions API is connected to this pixel.
- 7Send one test purchase with a test event code and watch Test events. If it shows up there, the connection works and the earlier events went to another place or carried a wrong time.
For the ways to connect and how to confirm each one, see the Meta Conversions API on Shopify.
FAQ
What does events_received mean?
It is the number of events in your request that Meta accepted for processing. It does not promise they will appear in the report you have open.
Why do events show under Test events but not in Overview?
A test event code does not hide events, so look at the event time and the dataset. Check the date range, the pixel and the source filter, and remove the code from live traffic.
How long until server events appear?
Often within minutes, sometimes a few hours. If nothing shows after a full day, check the dataset ID and the event time.
Does an empty Overview mean the purchases are lost?
Not always. They may sit in another dataset. Check each pixel on your ad account before you decide.