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" } }
2.0 data model does not support this functionality.