The XDM data-type mistakes that fail ingestion, and how to fix each one
Objects, numbers, booleans, dates, arrays and enums: the XDM data-type mistakes that fail ingestion, and how to fix each one.
Why this matters
Ignoring data type rules causes ingestion failures in Adobe Experience Platform. When values don’t match expected formats—like text in a number field or "Y" in a boolean field—the system rejects the record entirely. This leads to incomplete datasets, broken analytics, and false insights.
Without proper data type handling, downstream tools like Customer Journey Analytics or Journey Optimizer can’t process data correctly. This results in missed user journeys, inaccurate segmentation, and flawed optimization decisions. Fixing data types early—before ingestion—ensures consistency and reliability across the entire data pipeline. It prevents costly rework and ensures that every record contributes meaningfully to analysis.
The key ideas
In Adobe Experience Platform, each field in the data model has a defined data type, and the system enforces strict rules based on that type. For example, a boolean field only accepts the values true or false — any input like "Y", "yes", or "1" will fail unless converted first. Similarly, number or integer fields reject text values such as "N/A" or values with units, like "5kg", because they don’t represent valid numeric data.
Date fields and date-time fields require values in ISO 8601 format — for instance, 2026-03-01 — to be accepted. Any deviation, such as "March 1, 2026" or "03/01/2026", will result in ingestion failure. Array fields must contain a list, even if it has just one item; a single text value is not valid.
Fields with a defined list of allowed values, known as enums, reject any input that doesn’t match exactly, including variations in capitalisation. This means "Yes" and "yes" are treated as different values. The most effective approach is to convert or clean values in the source file or during mapping before ingestion, rather than trying to fix failed records later. This ensures all data conforms to the correct data type from the start, reducing errors and improving reliability.
How to apply it
Before ingesting data into AEP, validate each field against its expected data type. For object fields, ensure nested structures are present—don’t store raw text. Number and integer fields must accept only numeric values; text like "N/A" or values with units (e.g., "5 kg") will fail. Boolean fields must contain exactly "true" or "false"; values like "Y", "yes", or "1" must be converted during preprocessing. Date and date-time fields require ISO 8601 format, such as "2026-03-01", with no extra text or formatting. Array fields must include a list—even a single-item list—so use square brackets like ["value"]. If a field is defined as an enum, only values explicitly allowed in the list will pass; "Yes" and "yes" are treated as different and will fail. To avoid downstream errors, clean and transform values in the source file or during mapping. This ensures consistent, valid data before ingestion. Fixing issues at the source reduces failed records and improves data quality. Applying these rules systematically prevents ingestion failures and ensures data conforms to the schema expectations.
Mistakes to avoid
Mistakes in data type mapping often lead to ingestion failures. Object fields require nested structures, not plain text. Number and integer fields reject text like "N/A" or values with units. Boolean fields must be strictly true or false—values like "Y" or "1" must be converted. Date and date-time fields must follow ISO 8601 format, such as 2026-03-01. Array fields expect a list, even with one item. Enum fields reject values outside the allowed list, including different capitalisations. These errors are common when source data isn’t properly pre-processed.
To avoid failures, clean and transform data before ingestion. Convert text to boolean, strip units from numbers, format dates in ISO 8601, and ensure arrays are properly structured. Pre-process values in the source file or during mapping to match expected data types. This ensures consistency and avoids failed records during ingestion. Early validation and transformation reduce downstream errors and improve data quality.
Quick checklist
- Verify that object fields contain nested fields, not plain text values.
- Ensure number and integer fields do not include text like "N/A" or units such as "kg".
- Confirm boolean fields use only "true" or "false"; convert "Y", "yes", or "1" before ingestion.
- Validate date and date-time fields follow ISO 8601 format, e.g., 2026-03-01.
- Check array fields contain a list, even if only one item is present.
- Verify enum fields only accept values from the allowed list, including case sensitivity.
- Clean and convert source values in the data file or mapping before ingestion.
- Test a small batch of records to validate data type compliance before full ingestion.
Try it on a live AEP sandbox
Reading gets you the concept; doing it is what sticks. On the Lab plan you get your own AEP workspace, the linked CJA and journey sandboxes, and missions that check your work automatically.
AdsBot is independent and not affiliated with Adobe. Adobe product names are used only to describe the skills practised.
Practise this in your own sandbox
Pick a lab (AEP, CJA, Reporting & Journeys or Marketo Engage) and get your own private workspace for 48 hours, with missions that check your work as you go. No card and no password: we email you a link to start.
AdsBot is independent and not affiliated with Adobe.
Want a hand putting this into practice?
AdsBot builds and runs the martech systems behind campaigns like this one.
See Our Services Talk to Us