Send additional event data
You can supply additional data with an event by using the ext
data extension object.
The following is a list of guidelines for using the events data extension:
-
Only one data extension is supported per event type.
-
The name of the event data extension object must be
ext
. -
An event data extension object can have a maximum of 50 attributes.
The following is a list of guidelines for using attributes in the ext
data extension object:
-
The attribute name must be alphanumeric [A-Z,a-z,0-9] as per the JSON RFC 7159 specification.
-
You must write the attribute name of the data extension in camel case.
-
The attribute name must be unique within the entire event type.
-
We recommend making the attribute name meaningful.
Consider using the
friendlyID
. -
If grouping is required, use common prefixes.
The following table contains the required query parameters:
Attribute |
Description |
---|---|
|
A JSON object of event extension data. |
|
Name-value pairs for custom data. The name must follow the attribute naming guidelines specified. The following are supported data types for the value:
|
You must not use the same attribute name with different data types when sending a specific event type (for example, VIEW and IDENTITY).
For example, if you send a VIEW event, ensure that the data type you use for the attribute value in the ext
object is consistent across all VIEW events.
ext
object{
"type": "VIEW",
"channel": "WEB",
"pos": "myretailsite/ireland",
"browser_id": "a38b230c-11eb-4cf9-8d5d-274e9f344925",
"language": "EN",
"currency": "EUR",
"page": "home page",
"ext": {
"tileRef": 17
}
}
The two examples describe a conflict when sending a VIEW event. The conflict occurs because the same attribute name (status
) contains an integer value in the first example, but a string value in the second example.
{
"type":"VIEW",
"ext":{
"status": 0
}
}
{
"type":"VIEW",
"ext":{
"status": "OK"
}
}