Most Likely
If the event is visible in the user profile, then the most likely reason is, that it was not sent in realtime and the intervall of the event export did not cover it properly.
Explanation:
We basically have 3 times connected to an event:
- timestamp: part of the event, if provided
- ingestion time: when the event was accepted and saved (also stands in as timestamp if no timestamp was provided)
- processed time for export: when the system processed the events to make them available for the Export API
1. and 2. are important for most App functionalities (e.g. 1 for segmentation, 2 for triggering RT campaigns) and only 3 is relevant for Export API.
The intervall for the Export API refers to the time of ingestion/processing and not the timestamp of the event!
If events get imported or send via API significantly later than they happened (e.g. "Completed Order"-events that get imported once a week instead of sending them in realtime via API), they might not be included.
Example:
- an event happened on the 1st of August
- the event was then imported a week later on the 8th of August at 2am
-
an export is done at 10am for the intervall of one week
"startDate":"2025-08-01T00:00:00Z", "endDate": "2025-08-08T00:00:00Z"
- the event is not found in the exported data, because the interval does not cover the time of ingestion/processing
Less Likely
Event was setup too recent
If an event class was just created, it is recommended to wait at least 30 minutes until the first events are sent. There is a cache that updates all event classes every 30 minutes and if the update didn't happen yet, then the system will not recognize incoming events yet and the get skipped for exports.
Event was setup incorrectly
If the event was setup with the wrong type and events get ingested and can even be used for segmentation, the export will still skip these. Only events that get ingested after the wrong type is fixed will be available for exports.