Skip to content

Common delivery errors and what they mean

Most delivery problems are one of a short list, and the symptom rarely names the cause. This is the list, with what each one actually means and where to fix it.

One thing worth knowing before you start: rows are validated individually. A malformed row is rejected on its own rather than failing everything sent with it, so partial delivery is normal and does not mean the file was refused.

What you seeWhat it means, and what to do
The file was not picked upAlmost always the file name or the folder. The name has to match the agreed pattern and carry the upload date, and a second file for a date needs a numeric suffix. See A file was uploaded but no events arrived.
Conversion date out of rangeThe row is older than the destination’s attribution window. Meta accepts up to 90 days, Google Store Sales up to 60. Filter the export rather than sending and losing them.
Missing required fieldA row is missing event time, event name, or currency and value on a purchase. Rows are validated individually, so the rest of the file still delivers.
Invalid email formatThe address is malformed, or more than one address has been put in a single field. Use the numbered columns for a second and third address.
The same value repeats down a hashed columnBlank cells are being hashed. A hashed empty value is a valid-looking 64-character string that matches nobody. Search for e3b0c442...b855, the hash of an empty string, to confirm. Leave the cell empty.
A column you sent is missing from the eventsThe header does not match the template for the Integration Type on the instance, so that column is skipped. The file still processes, which is why this shows up as a low match rate rather than an error. Compare the header row against the template including case and underscores.
Duplicate data across filesThe same date has been supplied in more than one file. Send one file per date, or use the numeric suffix and different content.
Inconsistent date formats between filesStandardize on the format the template specifies before the files are produced, not afterwards.
Match rate below expectationUsually one of three things: no email address in the transaction record, a phone number in the wrong format, or no click identifier. Each needs a different fix, so establish which before changing anything.
Conversions counted twiceThe two paths reporting the same action are not sharing an event ID, or the event names differ. See Why the same conversion is counted twice.
Delivery stopped after workingThe access token has expired or been revoked, or the person who authorized it lost access. Generate a new one and re-validate.
Leads are not reaching the CRMCheck the CRM’s own duplicate rules, mandatory fields and field length limits. Any of the three can discard or truncate a record without reporting an error back.
Uploads succeed but nothing is attributedThe event set or dataset is not connected to the campaigns. A successful upload to a disconnected destination attributes nothing.
A custom parameter is not arrivingCustom parameters need mapping on our side before they flow. Contact support and name the parameter. Meta passes custom parameters through, Google accepts one, and Snapchat, TikTok and X accept none.

Contact support with the project, the instance, and the specific thing you sent: the file name and date for a file source, or the time range and event name otherwise. The processing record is retrieved from our side and it names the row and the reason.