The Event object

The Event object represents the event being tracked for a given Custom User ID. You can enrich events to pass any relevant data, which will be later used to trigger personalized messages.

namestring - Required
Event name
timeDate - Optional
The time date and time an event occurred. It has to respect YYYY-MM-ddTHH:mm:ss format.
You can track events that happened in the last 24 hours, and no events in the future.
If this parameter is not included in your request, Batch will use the time the event arrives at the server.

labelString - Optional
The event label (up to 200 characters).
attributesObject - Optional
An object containing all attributes you would like to attach to the event (up to 15 attributes).
tagsArray - Optional
An array containing all tags to attach to the event (up to 10 tags, maximum 64 chars per tag).

If limits are not respected, an error will be returned.

The attributes object

You can attach up to 15 attributes to an event sent with the Trigger Events API.


Attribute names are strings. They should be made of letters, numbers or underscores ([a-z0-9_]) and can't be longer than 30 characters (e.g. "sub_category").


Values can be any of the following type:

  • string: up to 64 characters, e.g.{"sub_category": "shoes"}
  • integer: up to 64 characters, e.g.{"level": 23}
  • boolean: e.g.{"is_premium": true}
  • float: e.g.{"level_progress": 45.09}

NOTE: There is a special case to be aware of. We support dates, unfortunately JSON does not, thus we need extra information to know an attribute is actually a date. We do this via wrapping the key name in the date() function.

  "date(promo_starts)": 1451642400,
  "date(promo_ends)": "2021-01-01T04:00:00.000"

If you're using date() on a string, be sure to use the format YYYY-MM-ddTHH:mm:ss. Be aware that we will interpret the date as UTC in both cases.