Data Types
Numbers
In order to be able to work with your attributes as numbers (e.g. do mathematical operations with them in reports), you need to pass these arguments in following format:
exponea.track('event_name',{
'numberValue':11.3,
});
Strings
Bloomreach Engagement will handle all quoted attribute as String. Only exception is when you quote a number.
exponea.track('event_name',{
'stringValue1':'hello world!',
'stringValue2':'11,4',
'stringValue3':'[2,3,4]'
});
Booleans
Bloomreach Engagement handles true/false as the format of a Boolean value.
exponea.track('event_name',{
test1:true,
test2:false
});
Objects
In order to create an Object, you need to pass the attributes as follows:
exponea.track('event_name',{
'object1':{
'string':'hello world!',
'number':12
}
});
Tip: Do not worry if you see [Object object] in Bloomreach Engagement App, you are able to access this object via Jinja in the personalization of email, weblayers, etc.
Arrays
If you need to track iterable array of any data types, you need to pass it followingly:
exponea.track('event_name',{
'array':['hello world!',2,{'num':11}]
//make sure to pass array as an Object, NOT as a JSON String
});
Dates
If you want to use an attribute as a Date in your reports, you need to send it in UNIX timestamp format.
exponea.track('event_name',{
'now':Math.round(new Date().getTime()/1000),
'1st Dec 2017':Math.round(new Date('2017-12-01').getTime()/1000),
'2st Dec 2017':Math.round(new Date('2017-12-02').getTime()/1000)
});
In addition, you can also use the ISO 8601 format, as it is partially supported in Bloomreach Engagement (offset is not supported). To illustrate, this will work:
2018-8-5 12:20:25
2018-8-5t12:20:25Z
2018-8-5 12:20:25Z
2018-8-5 12:20:25.555Z
2018-8-5t12:20:25.555Z
However, this will not work:
2018-8-5T12:20:25+1200
2018-8-5T12:20:25-12:00
All digits used are taken into consideration as there is no rounding to seconds. Milliseconds and even microseconds are taken into account. For example, if you track for event timestamps 2021-08-16T13:03:00.000001Z
, it will get to our system correctly with all 6 decimal places.
Updated 12 months ago