Is the Array of Objects an event or an attribute?
An Array of Objects is a user attribute type. It stores structured profile data that belongs to the user, not behavioral events. An array of Objects represents structured records that exist under the user profile.
Do I have to create the structure before sending data?
Yes. The Array of Objects attribute and its object keys must be defined in the InOne panel before ingestion. Only predefined keys are accepted during updates.
Can I update only one object without sending the entire array?
Yes. The Array of Objects supports patch-based actions:
add
merge
replace
remove
remove-all
You do not need to resend the full array when updating a single record.
What happens if multiple objects match the match condition?
If more than one object meets the match criteria, the action is applied to all matching objects.
What happens if I send object keys that are not defined in metadata?
Only keys defined in metadata are stored. Undefined keys are ignored.
What happens if I send match keys that are not defined?
Only predefined match keys are evaluated. If none remain valid, the action becomes a no-op. This is not treated as an error.
Is the Array Rule mandatory?
It is not mandatory for segmentation; you can segment directly on object fields. However, it is mandatory for campaign personalization; an Array Rule is required to deterministically select which object to use.
Why is the Array Rule required for personalization?
If multiple objects exist, the system needs to know:
Which object to evaluate
Which key value to use in the message
Array Rules define filtering, ordering, and selection logic to ensure predictable object selection.
What data types support ordering in Array Rules?
Ordering is supported only for:
Date
Number
String
These types can be logically compared and sorted. For example:
Date Ascending → earliest to latest
Date Descending → latest to earliest
Can Array of Objects be updated via CSV import?
No. Updates must be performed only via the Upsert API.
Can I rename or delete object keys after creation?
Object keys cannot be renamed or deleted after the Array of Objects attribute is created. Key names and their data types are fixed. If structural changes are required, the attribute must be deleted and recreated.
However, the Array of Objects display name and system name can be edited.
Can I nest another Array of Objects inside an object?
No. Object-type keys are allowed, but the nested Array of Objects is not supported.
What are the system limits for the Array of Objects?
The following limits apply:
The maximum payload size per Upsert request is 5 MB.
The maximum string length per field value is 500 characters.
The maximum number of objects per attribute per user is 50.
The maximum number of Array of Objects attributes per panel is 20.
Can I use the Array of Objects in all channels?
You can use the Array of Objects in Segmentation and Architect.
What happens if I exceed the object limit (50 per user)?
When using the add action:
The request fails only if adding the new objects exceeds the maximum limit of 50 objects per user.
If multiple objects are sent and some exceed the limit, the excess objects are ignored.
Can I export the Array of Objects data?
No. The Array of Objects attributes cannot be included in InOne panel-based user data exports. However, you can export them using the Export Raw User Data API.
When using the Export Raw User Data API, the Array of Objects attributes are returned in their full raw structure. No object-level filtering or rule evaluation is applied during export.